Skip to content

Java.util.HashSet

정렬이 안되며, 중복삽입이 불가능한 Set 중에서 해시(Hash)기능이 추가된 HashSet에 대하여 정리한다.

Simple usage

간단한 사용방법은 아래와 같다.

HashSet<String> hs = new HashSet<>();
hs.add("주원?병준");
hs.add("몽골용단");
hs.add("안피곤인애");
hs.add("안피곤인애");
System.out.println(hs);

HashSet<Student> hs2 = new HashSet<>();
hs2.add(new Student("주원병준", 174, 95));
hs2.add(new Student("몽골용단", 174, 99));
hs2.add(new Student("멋쟁이완샘", 184, 1000));
hs2.add(new Student("멋쟁이완샘", 184, 1000));
System.out.println(hs2);

Custom HashSet

HashSet을 커스텀하기 위해선 hashCode()메서드와 equals() 메서드를 상속받아야 한다.

@Override
public int hashCode() {
    return name.hashCode();
}

@Override
public boolean equals(Object obj) {
    if(!(obj instanceof Student)) {
        return false;
    }
    Student s = (Student)obj;
    return name.equals(s.name);
}

See also