最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
java中list集合去除重复对象的实现
时间:2017-01-24 编辑:简简单单 来源:一聚教程网
对象重复是指对象里面的变量的值都相等,并不定是地址。list集合存储的类型是基础类型还比较好办,直接把list集合转换成set集合就会自动去除。
当set集合存储的是对象类型时,需要在对象的实体类里面重写public boolean equals(Object obj) {} 和 public int hashCode() {} 两个方法。
实体类
代码如下 | 复制代码 |
publicclassStudent {
publicString id; publicString name; publicStudent() { } publicStudent(String id,String name) { this.id = id; this.name = name; } publicString getId() { returnid; } publicvoidsetId(String id) { this.id = id; } publicString getName() { returnname; } publicvoidsetName(String name) { this.name = name; } @Override publicbooleanequals(Object obj) { Student s=(Student)obj; returnid.equals(s.id) && name.equals(s.name); } @Override publicinthashCode() { String in = id + name; returnin.hashCode(); } } |
测试类
代码如下 | 复制代码 |
importjava.util.ArrayList; importjava.util.HashSet; importjava.util.List; importjava.util.Set;
publicclassQuSame {
publicstaticvoidmain(String[] args) { List stu.add(newStudent("1","yi")); stu.add(newStudent("3","san")); stu.add(newStudent("3","san")); stu.add(newStudent("2","er")); stu.add(newStudent("2","er")); //set集合保存的是引用不同地址的对象 Set ts.addAll(stu);
for(Student student : ts) { System.out.println(student.getId()+"-"+student.getName()); } } } |
-
下一个: Java的常用包
相关文章
- 利用Java Set去除重复object的方法 02-08
- SpringBoot测试配置属性与web启动环境解析 10-24
- vue中将el-switch值true、false改为number类型的1和0解析 10-24
- Vue中的路由配置项meta使用解读 10-24
- SpringBoot自定义bean绑定解析 10-24
- SpringBoot常用计量与bean属性校验和进制数据转换规则解析 10-24