-
11 (4) HashSetJava 2023. 5. 20. 22:12반응형
Hashset - 순서X, 중복X
▶ Hashset
- Set인터페스를 수현한 대표적인 컬렉션 클래스
- 순서를 유지하려면, LinkedHashSet클래스를 사용하면 된다.
▶ TreeSet
- 범위 검색과 정렬에 유리한 컬렉션 클래스
- HashSet보다 데이터 추가, 삭제에 시간이 더 걸림
HashSet - 주요 메서드
※컬렉션 클래스는 공간이 부족하면 스스로 공간을 늘린다 (보통 2배로 늘림)
addAll - 합집합, remove - 교집합, retainAll - 차집합
HashSet
- HashSet은 객체를 저장하기 전에 기존에 같은 객체가 있는지 확인
같은 객체가 없으면 저장하고, 있으면 저장하지 않는다.
- boolean add(Object o)는 저장할 객체의 equals( )와 hashCode( )를 호출
equals( )와 hashCode( )가 오버라이딩 되어 있어야 한다
우리가 만든 클래스를 HashSet에 저장하려면, equals( )와 hashCode( )가 오버라이딩 되어 있어야 한다(※Hash가 붙은 클래스(HashSet, HashMap 등)는 내부적으로 hashCode( )를 이용)
반응형'Java' 카테고리의 다른 글
11 (6) HashMap (0) 2023.05.26 11 (5) TreeSet (0) 2023.05.21 11 (3) Iterator, Enumeration, Map과 Iterator (0) 2023.05.19 11 (2) Stack과 Queue (0) 2023.05.15 11 (1) 컬렉션프레임웍과 핵심 인터페이스 (0) 2023.05.14