Common /Java
HashSet을 사용한 클래스 중복 제외
언덕너머에
2015. 3. 14. 12:27
Student Class
public class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
//=================================================
//추가 HashSet에 키로 사용할 필드를 Override 한다.
@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);
}
//=================================================
}
Main Class
import java.util.HashSet; public class MainTest { private static HashSet hashset = new HashSet(); public static void main(String[] args) { hashset.add(new Student("홍길동", 25)); hashset.add(new Student("똘이장군", 12)); hashset.add(new Student("일지매", 23)); hashset.add(new Student("똘이장군", 15)); System.out.println("Student Count : " + hashset.size()); for (Student std : hashset) { System.out.println(std.getName()); } } }
결과값
설명