Set

민지킴·2021년 5월 13일
0

Set 컬렉션 클래스

Set 인터페이스를 구현한 모든 Set 컬렉션 클래스는 다음과 같은 특징을 가집니다.

  1. 요소의 저장 순서를 유지하지 않습니다.

  2. 같은 요소의 중복 저장을 허용하지 않습니다.

대표적인 Set 컬렉션 클래스에 속하는 클래스는 다음과 같습니다.

  1. HashSet

  2. TreeSet

HashSet 클래스

HashSet 클래스는 Set 컬렉션 클래스에서 가장 많이 사용되는 클래스 중 하나입니다.

JDK 1.2부터 제공된 HashSet 클래스는 해시 알고리즘(hash algorithm)을 사용하여 검색 속도가 매우 빠릅니다.

이러한 HashSet 클래스는 내부적으로 HashMap 인스턴스를 이용하여 요소를 저장합니다.

HashSet 클래스는 Set 인터페이스를 구현하므로, 요소를 순서에 상관없이 저장하고 중복된 값은 저장하지 않습니다.

만약 요소의 저장 순서를 유지해야 한다면 JDK 1.4부터 제공하는 LinkedHashSet 클래스를 사용하면 됩니다.

Set의 Method

  • boolean add(Object o)

컬렉션이 객체 o를 반드시 갖게 합니다.
호출 결과로 컬렉션이 변화가 있으면 true 그외 false

  • boolean addAll(Collection c)

컬렉션이 컬렉션 c에 포함된 모든 객체를 갖게 합니다.
호출 결과로 컬렉션이 변화가 있으면 true 그외 false

  • void clear()

컬렉션을 비웁니다.

  • boolean contains(Object o)

컬렉션이 객체 o를 갖고 있는지 확인합니다.
컬레션이 객체 o를 갖고 있으면 true 그외 false

  • boolean containsAll(Collection c)

컬렉션 c가 포함한 객체들을 포함하는지 확인 합니다.
컬렉션이 컬렉션 c가 포함한 객체들을 포함하면 true 그외 false
(전부 가지고 있어야 true)
ex) (1,2,3).containsAll(1,2) -> true

  • boolean equals(Object o)

컬렉션이 객체 o와 같은지 비교합니다.
컬렉션이 객체 o와 같으면 true 그외 false

  • int hashCode()

켈렉션의 해쉬코드값을 구합니다.
컬레션의 해쉬코드 값

  • boolean isEmpty()

켈렉션이 객체를 포함하고 있지 않은지 확인합니다.
컬렉션이 포함하는 객체가 하나도 없으면 true 그외 false

  • Iterator iterator()

컬렉션의 Iterator를 구합니다.
컬렉션의 Iterator

  • boolean remove(Object o)

컬렉션에서 객체 o를 제거합니다.
호출 결과로 컬렉션이 변화가 있으면 true 그외 false

  • boolean removeAll(Collection c)

컬렉션에서 컬렉션 c에 포함된 모든 객체를 제거합니다.
호출 결과로 컬렉션이 변화가 있으면 true 그외 false

  • boolean retainAll(Collection c)

컬렉션에서 컬렉션 c에 포함된 객체를 제외한 나머지
객체를 제거합니다.
호출 결과로 컬렉션이 변화가 있으면 true 그외 false

  • int size()

컬렉션이 갖고 있는 객체의 개수를 구합니다.
컬렉션이 갖고 있는 객체의 수.

*Object[] toArray()

컬렉션에서 갖고 있는 객체를 배열로 구합니다.
컬렉션에서 갖고 있는 객체의 배열.

  • Object[] toArray(Object[] a)

컬렉션에서 갖고 있는 객체를 배열로 구합니다.
컬렉션에서 갖고 있는 객체의 배열
리턴되는 배열은 지정한 배열의 클래스 타입으로 변환

profile
하루하루는 성실하게 인생 전체는 되는대로

0개의 댓글