【java编程】Collection类之HashSet存储自定义对象元素
2015-02-17 09:21
447 查看
/*SET集合是无序的,判断无序的方法是先比较hashcode值,如果相同 再比较equals方法*/ import java.util.*; class hashCodeDemo { public static void main(String[] args) { HashSet hs = new HashSet(); hs.add(new Person("lisi",33)); hs.add(new Person("lisi",34)); hs.add(new Person("lisi",35)); hs.add(new Person("lisi",35)); hs.add(new Person("lisi",36)); hs.add(new Person("lisi",36)); Iterator it = hs.iterator(); while(it.hasNext()) { //因为ArrayList里面添加对象时都被强制转换成Object类型 Person p=(Person)it.next(); System.out.println(p.getName()+"::"+p.getAge()); } } } class Person { private String name; private int age; Person(String name,int age) { this.name=name; this.age=age; } public String getName() { return this.name; } public int getAge() { return this.age; } //复写equals方法 public boolean equals(Object obj) { Person p = (Person)obj; System.out.println(this.name+"......equals......"+p.getName()); return this.name.equals(p.getName()) && this.age==p.getAge(); } //复写hashCode方法 public int hashCode() { System.out.println(this.name+"......hashCode"); return name.hashCode()+age*39; } }
相关文章推荐
- 【java编程】Collection类之ArrayList去除自定义对象的重复元素
- Java_基础—HashSet存储自定义对象保证元素唯一性
- JAVA之旅(二十)—HashSet,自定义存储对象,TreeSet,二叉树,实现Comparator方式排序,TreeSet小练习
- JAVA之旅(二十)—HashSet,自定义存储对象,TreeSet,二叉树,实现Comparator方式排序,TreeSet小练习
- java HashSet存储自定义对象
- Java基础知识强化之集合框架笔记06:Collection集合存储自定义对象并遍历的案例
- Java多线程编程(六)-并发编程原理(Java存储模型和共享对象)
- 深入Java对象及元素的存储区域
- Java中HashSet存储对象判断是否重复原理分析
- HashSet集合存储自定义对象及注意事项
- 深入Java对象及元素的存储区域(转载)
- 集合框架(HashSet存储自定义对象)
- 【Java学习笔记】HashSet中加入自定义的类的对象
- 深入Java对象及元素的存储区域
- 集合类中HashSet存储自定义对象
- JDBC:数据库自定义类型与Java类的映射—将对象存储在关系数据库中(一)
- Java学习拾遗3——HashSet中加入自定义的类的对象
- 深入Java对象及元素的存储区域
- 【Java学习笔记】HashSet中加入自定义的类的对象
- 【Java学习笔记】Hashset判断自定义对象是否重复