[java] HashSet 클래스

Java에서 HashSet 클래스는 Set 인터페이스를 구현한 컬렉션 클래스 중 하나입니다. HashSet은 내부적으로 hash 함수를 사용하여 원소들을 저장하고, 중복된 값을 허용하지 않습니다. 또한, 저장 순서를 유지하지 않습니다.

사용법

HashSet 클래스를 사용하기 위해서는 먼저 HashSet 객체를 생성해야 합니다. 다음은 HashSet 객체를 생성하는 예제 코드입니다.

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

위의 코드에서는 String 타입의 원소를 저장하는 HashSet 객체를 생성하고 있습니다.

HashSet에 원소를 추가하기 위해 add() 메서드를 사용할 수 있습니다. 다음은 원소를 추가하는 예제 코드입니다.

set.add("apple");
set.add("banana");
set.add("orange");

HashSet 객체에는 중복된 값이 저장되지 않으므로, 위의 예제 코드에서는 “apple”, “banana”, “orange”가 각각 한 번씩만 저장됩니다.

HashSet에서 원소를 삭제하기 위해서는 remove() 메서드를 사용할 수 있습니다. 다음은 원소를 삭제하는 예제 코드입니다.

set.remove("banana");

위의 코드에서는 “banana”라는 원소를 HashSet에서 삭제하고 있습니다.

HashSet에 특정 원소가 있는지 확인하기 위해서는 contains() 메서드를 사용할 수 있습니다. 다음은 원소의 존재 여부를 확인하는 예제 코드입니다.

boolean containsOrange = set.contains("orange");

위의 코드에서는 “orange”라는 원소가 HashSet에 포함되어 있는지를 확인하고, 결과를 containsOrange 변수에 저장하고 있습니다.

주의사항

  1. HashSet은 원소의 순서를 유지하지 않으므로, 저장 순서에 의존하는 로직을 구현하지 않아야 합니다.
  2. HashSet은 내부적으로 hash 함수를 사용하기 때문에, 원소의 동등성을 비교하기 위해 equals() 메서드와 hashCode() 메서드를 제대로 오버라이딩해야 합니다.

참고 자료