您好,登錄后才能下訂單哦!
- import java.util.HashSet;
- import java.util.Iterator;
- public class fuxi4_hashset
- {
- public static void main(String[] args)
- {
- /************************* 容器間Hashset、迭代器 *************************************************/
- HashSet<Student> stu = new HashSet<Student>();//去重復(fù),按容器自己的順序排列
- 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();// 創(chuàng)建迭代器
- while(itr.hasNext())
- {
- Student str = (Student) itr.next();
- System.out.println(str);
- }
- }
- /************************* 重寫equals方法 *************************************************/
- /**
- * public boolean equals(Object obj)
- {
- System.out.println("asdf");
- if (obj instanceof Student)
- {
- Student s = (Student) obj;
- if (this.name.equals(s.name) && this.age == s.age)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- else
- {
- System.out.println("null");
- return false;
- }
- }
- */
- }
- 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;
- }
- }
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。