ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HashSet
    공부/Java 2024. 4. 15. 22:55

    HashSet

     

    - Set 인터페이스를 구현한 컬렉션 중 하나이며, 순서가 저장되지 않고 중복이 허용되지 않는다.

    ※ 순서를 유지하고 싶으면 LinkedHashSet 클래스를 사용한다.

     

     

    HashSet의 생성자와 메서드

    생성자 또는 메서드 설명
    HashSet() HashSet 객체를 생성한다.
    HashSet(Collection c) 주어진 컬렉션을 포함하는 HashSet 객체를 생성한다.
    HashSet(int initialCapacity) 주어진 값을 초기용량으로 하는 HashSet 객체를 생성한다.
    HashSet(int initialCapacity, float loadFactor) 초기용량과 load factor를 지정하는 생성자
    boolean add(Object o) 주어진 객체를 저장한다. (성공하면  true, 실패하면 false)
    boolean addAll(Collection c) 주어진 컬렉션에 저장된 모든 객체들을 추가한다. (합집합)
    void clear() 저장된 모든 객체를 삭제한다.
    Object clone() HashSet을 복제해서 반환한다. (얕은 복사)
    boolean contains(Object o) 지정된 객체를 포함하고 있는지 알려준다.
    boolean containsAll(Collection c) 주어진 컬렉션에 저장된 모든 객체를 포함하고 있는지 알려준다.
    boolean isEmpty() HashSet이 비어있는지 알려준다.
    Iterator iterator() Iterator를 반환한다.
    boolean remove(Object o) 지정된 객체를 HashSet에서 삭제한다. (성공하면 true, 실패하면 false)
    boolean removeAll(Collection c) 주어진 컬렉션에 저장된 모든 객체와 동일한 것들을 HashSet에서 삭제한다. (차집합)
    boolean retainAll(Collection c) 주어진 컬렉션에 저장된 객체와 동일한 것만 남기고 삭제한다. (교집합)
    int size() 저장된 객체의 개수를 반환한다.
    Object[] toArray() 저장된 객체들을 객체배열의 형태로 반환한다.
    Object[] toArray(Object[] a) 저장된 객체들을 주어진 객체배열(a)에 담는다.

    ※ load factor는 컬렉션 클래스에 저장공간이 가득 차기 전에 미리 용량을 확보하기 위한 것으로,

        값을 0.8로 지정하면 저장공간의 80%가 채워졌을 때 용량이 두 배로 늘어난다. 기본값은 0.75다.

     

    - HashSet은 객체를 저장하기 전에 기존에 같은 객체가 있는지 확인한다.

      같은 객체가 없으면 저장하고, 있으면 저장하지 않는다.

    - boolean add(Object o)는 저장할 객체의 equals()와 hashCode()를 호출해서 확인한다.

      equals()와 hashCode()가 오버라이딩 되어 있어야 한다.

    '공부 > Java' 카테고리의 다른 글

    HashMap  (0) 2024.04.17
    TreeSet  (0) 2024.04.16
    Comparator와 Comparable  (0) 2024.04.14
    Arrays  (0) 2024.04.12
    Iterator, Enumeration, Map과 Iterator  (2) 2024.04.11
Designed by Tistory.