- import java.util.HashSet;
- import java.util.Iterator;
-
- public class fuxi4_hashset
- {
- public static void main(String[] args)
- {
-
- HashSet<Student> stu = new HashSet<Student>();
- Student s1 = new Student("tom", 25);
- Student s2 = new Student("jerry", 23);
- Student s3 = new Student("jerry", 23);
- Student s4 = new Student("tom", 22);
- stu.add(s1);
- stu.add(s2);
- stu.add(s3);
- stu.add(s4);
-
- Iterator itr = stu.iterator();
- while(itr.hasNext())
- {
- Student str = (Student) itr.next();
- System.out.println(str);
- }
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- }
-
-
- class Student
- {
- String name;
- int age;
- public Student(String name, int age)
- {
- this.name = name;
- this.age = age;
- }
- @Override
- public String toString()
- {
- return "Student [name=" + name + ", age=" + age + "]";
- }
- @Override
- public int hashCode()
- {
- final int prime = 31;
- int result = 1;
- result = prime * result + age;
- result = prime * result + ((name == null) ? 0 : name.hashCode());
- return result;
- }
- @Override
- public boolean equals(Object obj)
- {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (getClass() != obj.getClass())
- return false;
- Student other = (Student) obj;
- if (age != other.age)
- return false;
- if (name == null)
- {
- if (other.name != null)
- return false;
- }
- else if (!name.equals(other.name))
- return false;
- return true;
- }
- }