자바의 정석 ch11-34~36 HashSet(1)

Luna·2023년 6월 15일
0

JAVA

목록 보기
29/32

HashSet - 순서X 중복X

HashSet

  • Set 인터페이스를 구현한 대표적인 컬렉션 클래스
  • 순서를 유지하려면 LinkedHashSet 클래스를 사용하면 된다.

TreeSet

  • 범위 검색(from~to)과 정렬에 유리한 컬렉션 클래스
  • HashSet보다 데이터 추가, 삭제에 시간이 더 걸림

HashSet의 주요 메서드

HashSet()
HashSet(Collection c) : 생성자를 갖고 있다. 지정된 컬렉션에 모든 객체를 저장.
HashSet(int initialCapacity) : 초기 용량을 정해준다. (보통 2배로 늘린다)
HashSet(int initialCapaity, float loadFactor) : 초기 용량을 언제 늘릴건지. ex) 80% 찼을 때 *2를 해서 2배로 늘린다.

boolean add(Object) : 추가 (추가가 되면 true, 중복되어 추가가 안되면 false를 반환)
boolean addAll(Collection c) : 합집합
boolean remove(Object o) : 삭제
boolean removeAll(Collection c) : 교집합
boolean retainAll(Collection c) : 조건부 삭제(차집합). 컬렉션이 있는 것만 남기고 삭제.
void clear() : 모두 삭제

boolean contains(Object o) : 객체가 포함되어 있는지. 포함되어 있으면 true, 포함되어 있지 않으면 false
boolean containsAll(Collection c) : 컬렉션에 담긴 여러 객체가 모두 포함 되어 있는지.
Iterator iterator() : 컬렉션의 요소를 읽어온다.

boolean isEmpty() : 비어있는지 확인
int size() : 저장된 객체의 갯수
Object[] toArray() : Set에 저장되어 있는 객체를 객체 배열로 반환
Object[] toArray(Object[] a) : 위와 같음


Set은 정렬이 불가하기 때문에 정렬할 수 없다.

List list = new LinkedList(set); // LinkedList(Collection c)
Collections.sort(list);    		 // Collections.sort(List list)

그래서 Set을 List로 옮기고 List를 정렬 해야 한다.

0개의 댓글