[자바 소스] HashSet 사용시 중복 여부 판별 부여 방법 :: 소림사의 홍반장!

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

hs2.add(new Student("몽골용단", 174, 99));

hs2.add(new Student("멋쟁이완샘", 184, 1000));

hs2.add(new Student("멋쟁이완샘", 184, 1000));

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

}

 

다른 카테고리의 글 목록

Dev. 자바/참고소스 카테고리의 포스트를 톺아봅니다