출처 : http://androphil.tistory.com/entry/%EC%9E%90%EB%B0%94-%EC%86%8C%EC%8A%A4-HashSet-%EC%82%AC%EC%9A%A9%EC%8B%9C-%EC%A4%91%EB%B3%B5-%EC%97%AC%EB%B6%80-%ED%8C%90%EB%B3%84-%EB%B6%80%EC%97%AC-%EB%B0%A9%EB%B2%95


HashSet의 사용

 

 

// set : 중복 불가, 순서 없음.

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("주원병준"17495));

hs2.add(new Student("몽골용단"17499));

hs2.add(new Student("멋쟁이완샘"1841000));

hs2.add(new Student("멋쟁이완샘"1841000));

System.out.println(hs2);

 

 

HashSet에서 커스텀 클래스에 대한 중복 판별 부여 방법

 

 

< Student 클래스에서 >

 

// 이름이 같으면 같은 객체로 인식하게끔 오버라이딩

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

}

+ Recent posts