본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

JAVA

Set인터페이스를 구현한 대표적인 컬렉션, HashSet

HashSet

HashSet은 Set인터페이스를 구현한 대표적인 컬렉션

HashSet은 저장순서를 유지하지않음으로 저장순서를 유지하려면 LinkedHashSet을 사용한다.

https://standout.tistory.com/1367

 

중복을 허용하지않고 저장순서가 유지되지않는 컬렉션 클래스, Set

Set인터페이스 Set인터페이스는 중복을 허용하지않고 저장순서가 유지되지않는 컬렉션 클래스를 구현한다. 예로 HashSet, TreeSet이 있다. https://standout.tistory.com/127 자바의 자료구조, collection 컬렉션

standout.tistory.com

 

 

HashSet()

기본 생성자로, 초기 용량(capacity)이 16이고 기본 로드 팩터(load factor)가 0.75인 빈 HashSet을 생성합니다.

HashSet<String> set = new HashSet<>();

 

HashSet(Collection c)

주어진 컬렉션의 모든 요소를 포함하는 HashSet을 생성합니다.

ArrayList<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
HashSet<String> set = new HashSet<>(list);

 

HashSet(int initialCapacity)

주어진 초기 용량으로 빈 HashSet을 생성합니다.

HashSet<String> set = new HashSet<>(20);

 

HashSet(int initialCapacity, float loadFactor)

주어진 초기 용량과 로드 팩터로 빈 HashSet을 생성합니다.

HashSet<String> set = new HashSet<>(20, 0.5f);

 

boolean add(Object o)

지정된 요소를 이 HashSet에 추가합니다.

HashSet<String> set = new HashSet<>();
set.add("apple");
set.add("banana");

 

boolean addAll(Collection c)

지정된 컬렉션의 모든 요소를 이 HashSet에 추가합니다.

HashSet<String> set = new HashSet<>();
ArrayList<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");

set.addAll(list);

 

void clear()

이 HashSet에서 모든 요소를 제거합니다.

HashSet<String> set = new HashSet<>();
set.add("apple");
set.add("banana");

set.clear();

 

Object clone()

이 메소드는 호출된 객체의 얕은 복사를 만들어 반환합니다. 즉, 새로운 객체를 만들고 원본 객체의 내용을 복사합니다. 하지만 내부 객체는 복사하지 않고 원본과 동일한 참조를 유지합니다.

HashSet<String> set = new HashSet<>();
set.add("apple");
set.add("banana");

HashSet<String> copySet = (HashSet<String>) set.clone();
System.out.println(copySet); // [banana, apple]

 

boolean contains(Object o)

지정된 요소가 이 HashSet에 포함되어 있는지 여부를 반환합니다.

HashSet<String> set = new HashSet<>();
set.add("apple");

System.out.println(set.contains("apple")); // true

 

boolean containsAll(Collection c)

이 HashSet이 지정된 컬렉션의 모든 요소를 포함하고 있는지 여부를 반환합니다.

HashSet<String> set = new HashSet<>();
set.add("apple");
set.add("banana");

ArrayList<String> list = new ArrayList<>();
list.add("apple");

System.out.println(set.containsAll(list)); // true

 

boolean isEmpty()

이 HashSet이 비어 있는지 여부를 반환합니다.

HashSet<String> set = new HashSet<>();
System.out.println(set.isEmpty()); // true

 

Iterator iterator()

이 HashSet에 있는 요소를 반복하는 Iterator를 반환합니다.

HashSet<String> set = new HashSet<>();
set.add("apple");
set.add("banana");

Iterator<String> iterator = set.iterator();
while (iterator.hasNext()) {
    System.out.println(iterator.next());
}

 

boolean remove(Object o)

이 HashSet에서 지정된 요소를 제거합니다.

HashSet<String> set = new HashSet<>();
set.add("apple");

System.out.println(set.remove("apple")); // true

 

boolean removeAll (Collection c)

이 HashSet에서 지정된 컬렉션에 포함된 모든 요소를 제거합니다.

HashSet<String> set = new HashSet<>();
set.add("apple");
set.add("banana");

ArrayList<String> list = new ArrayList<>();
list.add("apple");

System.out.println(set.removeAll(list)); // true

 

boolean retainAll (Collection c)

이 HashSet에서 지정된 컬렉션에 포함된 요소만을 유지하고 나머지 요소는 제거합니다.

HashSet<String> set = new HashSet<>();
set.add("apple");
set.add("banana");

ArrayList<String> list = new ArrayList<>();
list.add("apple");

System.out.println(set.retainAll(list)); // true

 

int size()

이 HashSet에 포함된 요소의 수를 반환합니다.

HashSet<String> set = new HashSet<>();
set.add("apple");
set.add("banana");

System.out.println(set.size()); // 2

 

Object[] toArray()

이 HashSet에 포함된 요소를 포함하는 배열을 반환합니다.

HashSet<String> set = new HashSet<>();
set.add("apple");
set.add("banana");

Object[] array = set.toArray();
System.out.println(Arrays.toString(array)); // [banana, apple]

 

Object[] toArray(Object[] a)

이 HashSet에 포함된 요소를 지정된 배열에 복사하여 반환합니다.

HashSet<String> set = new HashSet<>();
set.add("apple");
set.add("banana");

String[] array = new String[set.size()];
set.toArray(array);
System.out.println(Arrays.toString(array)); // [banana, apple]