Set 인터페이스를 구현한 모든 Set 컬렉션 클래스는 다음과 같은 특징을 가집니다.
요소의 저장 순서를 유지하지 않습니다.
같은 요소의 중복 저장을 허용하지 않습니다.
대표적인 Set 컬렉션 클래스에 속하는 클래스는 다음과 같습니다.
HashSet
TreeSet
HashSet 클래스는 Set 컬렉션 클래스에서 가장 많이 사용되는 클래스 중 하나입니다.
JDK 1.2부터 제공된 HashSet 클래스는 해시 알고리즘(hash algorithm)을 사용하여 검색 속도가 매우 빠릅니다.
이러한 HashSet 클래스는 내부적으로 HashMap 인스턴스를 이용하여 요소를 저장합니다.
HashSet 클래스는 Set 인터페이스를 구현하므로, 요소를 순서에 상관없이 저장하고 중복된 값은 저장하지 않습니다.
만약 요소의 저장 순서를 유지해야 한다면 JDK 1.4부터 제공하는 LinkedHashSet 클래스를 사용하면 됩니다.
컬렉션이 객체 o를 반드시 갖게 합니다.
호출 결과로 컬렉션이 변화가 있으면 true 그외 false
컬렉션이 컬렉션 c에 포함된 모든 객체를 갖게 합니다.
호출 결과로 컬렉션이 변화가 있으면 true 그외 false
컬렉션을 비웁니다.
컬렉션이 객체 o를 갖고 있는지 확인합니다.
컬레션이 객체 o를 갖고 있으면 true 그외 false
컬렉션 c가 포함한 객체들을 포함하는지 확인 합니다.
컬렉션이 컬렉션 c가 포함한 객체들을 포함하면 true 그외 false
(전부 가지고 있어야 true)
ex) (1,2,3).containsAll(1,2) -> true
컬렉션이 객체 o와 같은지 비교합니다.
컬렉션이 객체 o와 같으면 true 그외 false
켈렉션의 해쉬코드값을 구합니다.
컬레션의 해쉬코드 값
켈렉션이 객체를 포함하고 있지 않은지 확인합니다.
컬렉션이 포함하는 객체가 하나도 없으면 true 그외 false
컬렉션의 Iterator를 구합니다.
컬렉션의 Iterator
컬렉션에서 객체 o를 제거합니다.
호출 결과로 컬렉션이 변화가 있으면 true 그외 false
컬렉션에서 컬렉션 c에 포함된 모든 객체를 제거합니다.
호출 결과로 컬렉션이 변화가 있으면 true 그외 false
컬렉션에서 컬렉션 c에 포함된 객체를 제외한 나머지
객체를 제거합니다.
호출 결과로 컬렉션이 변화가 있으면 true 그외 false
컬렉션이 갖고 있는 객체의 개수를 구합니다.
컬렉션이 갖고 있는 객체의 수.
*Object[] toArray()
컬렉션에서 갖고 있는 객체를 배열로 구합니다.
컬렉션에서 갖고 있는 객체의 배열.
컬렉션에서 갖고 있는 객체를 배열로 구합니다.
컬렉션에서 갖고 있는 객체의 배열
리턴되는 배열은 지정한 배열의 클래스 타입으로 변환