
Set 인터페이스는 List 인터페이스와는 달리 중복을 허용하지 않고 저장순서도 유지되지 않는다.
그림과 같이 Collection 인터페이스를 상속받으며 그 외 자체적으로 추가된 메서드는 없다.
반환타입이 boolean인 메서드들은 작업에 성공하거나 사실이면 true, 아니면 false를 반환한다.
| 메서드 | 기능 |
|---|---|
| boolean add(Object o) boolean addAll(Collection c) | 지정된 객체(o) 또는 Collection(c)의 객체들을 Set에 추가. |
| 메서드 | 기능 |
|---|---|
| boolean contains(Object o) boolean containsAll(Collection c) | 지정된 객체(o) 또는 Collection(c)의 객체들이 포함되어 있는지 확인. |
| 메서드 | 기능 |
|---|---|
| boolean remove(Object o) boolean removeAll(Collection c) | 지정된 객체(o) 또는 Collection(c)의 객체들을 삭제. |
| boolean retainAll(Collection c) | 지정된 Collection에 포함된 객체만을 남기고, 다른 객체들은 Set에서 삭제 집합의 교집합 개념과 유사함. |
| void clear() | Set의 모든 객체를 삭제 |
| 메서드 | 기능 |
|---|---|
| boolean equals(Object o) | 동일한 Set인지 확인 |
| int hashCode() | Set의 해시 코드를 반환 |
| 메서드 | 기능 |
|---|---|
| Iterator iterator() | 해당 Set의 iterator를 얻어서 반환 |
| 메서드 | 기능 |
|---|---|
| boolean isEmpty() | Set이 비어있는지 확인 |
| int size() | Set에 저장된 객체의 개수를 반환 |
| 메서드 | 기능 |
|---|---|
| Object[] toArray() | Set에 저장된 객체를 객체배열(Object[])로 반환 |
| Object[] toArray(Object[] a) | 지정된 배열에 Set의 객체를 저장해서 반환 |
이러한 기능을 가진 Set 인터페이스를 HashSet 클래스가 구현하고 SoredSet 인터페이스가 상속받는다.
자바의 정석 3판 (저자 : 남궁성)
Java Collections Framework Video Tutorial
오라클 Java 문서