温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

常用API-Hashset、迭代器、重写equals

发布时间:2020-07-13 23:24:56 阅读:534 作者:glblong 栏目:开发技术
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>
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>();//去重复,按容器自己的顺序排列         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);         }       }          /************************* 重写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;     } } 

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×