- HashSet이란?
Set인터페이스를 구현한 hash table입니다.
- 특징
(1) 입력된 순서로 저장되지 않습니다.
(2) element의 중복을 허용하지 않습니다.
(3) null element를 허용합니다.
(4) 동기화처리가 되지 않습니다.
동기화 처리를 하기 위해서는 아래와 같이 객체를 생성해야 합니다.
Set s = Collections.synchronizedSet(new HashSet(...));
- 생성자
//첫번째 생성자
HashSet<String> hs1 = new HashSet<String>();
//두번째 생성자
HashSet<String> hs2 = new HashSet<String>(hs1);
//세번째 생성자
HashSet<String> hs3 = new HashSet<String>(10);
//네번째 생성자
HashSet<String> hs4 = new HashSet<String>(10, 0.7f);
첫번째 생성자는 initial capacity(16), load factor(0.75)를 가진 HashSet객체를 생성합니다.
두번째 생성자는 Collection클래스의 객체를 매개변수로 입력하여 그 객체의 element의 모든 원소를 가진 HashSet객체를 생성합니다.
세번째 생성자는 loadfactor(0.75), 매개변수로 입력된 initialCapacity값을 가진 HashSet객체를 생성합니다.
네번째 생성자는 입력된 initialCapacity, loadFactor값을 가진 HashSet객체를 생성합니다.
- 메소드
(1) add(E e) 반환형: boolean
입력되는 객체가 HashSet객체 안에 존재하지 않는다면 그 객체를 HashSet에 입력하고 true를 반환합니다.
그렇지 않을 경우 false를 반환합니다.
(2) clear() 반환형: void
HashSet객체의 모든 element를 삭제합니다.
(3) clone() 반환형: Object
HashSet객체의 복사본을 생성 후 반환합니다. 원본과 복사본의 참조주소는 다릅니다.
(4) contains(Object o) 반환형: boolean
입력되는 객체를 HashSet객체가 가지고 있다면 true, 아니면 false를 반환합니다.
(5) isEmpty() 반환형: boolean
HashSet객체가 비어있다면 true, 아니면 false를 반환합니다.
(6) iterator() 반환형: Iterator<E>
HashSet객체에 대한 Iterator객체를 반환합니다.
(7) remove(Object o) 반환형: boolean
입력된 매개변수 o가 HashSet객체에 존재한다면 그 값을 삭제한 후 true, 없다면 false를 반환합니다.
(8) size() 반환형: int
HashSet객체가 가지고 있는 element의 수를 반환합니다.
이상으로 포스팅을 마칩니다.
더 많은 내용을 보시려면 아래를 참고하세요.
블로그의 다른 글
'[개발] 언어 > Java' 카테고리의 다른 글
List - LinkedList 사용하는 방법 (0) | 2017.11.18 |
---|---|
Set - LinkedHashSet 사용하는 방법 (0) | 2017.11.17 |
Map - Hashtable 사용하는 방법 (0) | 2017.11.09 |
Map - LinkedHashMap 사용하는 방법 (0) | 2017.11.05 |
Map - TreeMap 사용하는 방법 (0) | 2017.11.05 |