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);
}