java - Set (HashSet, TreeSet, LinkedHashSet)

Expert Inpyo·2022년 10월 18일
0

Java

목록 보기
5/6

출처 : 출처

Set

List와 다르게 객체를 중복해서 저장할 수 없음
저장된 객체를 인덱스로 관리하지 않음 => 저장 순서가 보장되지 않음

HashSet

Hashing을 이용해 구현한 컬랙션
데이터 중복저장 X, 순서보장 X
인스턴스가 달라도 동일 객체를 구분해 중복 저장 막을 수 있음
(equals() / hashCode() 오버라이딩)

TreeSet

이진탐색 트리(BST)의 형태로 데이터를 저장함
기본적으로 오름차순으로 데이터를 정렬한다.
데이터 추가/삭제에는 시간 더 소요 But, 검색 and 정렬이 뛰어남

LinkedHashSet

HashSet 클래스를 상속받은 LinkedList
데이터에 삽입된 순서대로 데이터를 관리함

시간 복잡도

  • HashSet
    • O(1)
  • TreeSet
    • O(logn)
  • LinkedHashSet
    • O(1)
profile
도전! 데이터 엔지니어

0개의 댓글