시소당
Set 인터페이스를 살펴보자. Collection 인터페이스를 상속하므로 큰 차이점은 없고 단지 "Set" 은 중복을 허용하지 않는 자료구조였다는 것을 다시 한번 기억하도록 하자.
package java.util;
public interface Set extends Collection {
// Query Operations
int size();
boolean isEmpty();
boolean contains(Object o);
Iterator iterator();
Object[] toArray();
Object[] toArray(Object a[]);
// Modification Operations
boolean add(Object o);
boolean remove(Object o);
// Bulk Modification Operations
boolean containsAll(Collection c);
boolean addAll(Collection c);
boolean removeAll(Collection c);
boolean retainAll(Collection c);
void clear();
// Comparison and hashing
boolean equals(Object o);
int hashCode();
}
위 코드를 보면 Collection 과 동일한 메소드만을 제공해주는 것을 볼 수 있다. 단지 구현 클래스 내부에 equals(Object o) 메소드를 이용해서 중복을 허용하지 않도록 체크하는 기능이 더해져 있다.
그럼 이제부터 Set 을 구현한 클래스들을 살펴보도록 하겠다.