博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
list集合去除重复对象的实现
阅读量:6713 次
发布时间:2019-06-25

本文共 1345 字,大约阅读时间需要 4 分钟。

下面小编就为大家带来一篇list集合去除重复对象的实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

对象重复是指对象里面的变量的值都相等,并不定是地址。list集合存储的类型是基础类型还比较好办,直接把list集合转换成set集合就会自动去除。

当set集合存储的是对象类型时,需要在对象的实体类里面重写public boolean equals(Object obj) {} 和 public int hashCode() {} 两个方法。

public String id;

public
String name;
public
Student() {
}
public
Student(String id,String name) {
this
.id = id;
this
.name = name;
}
public
String getId() {
return
id;
}
public
void
setId(String id) {
this
.id = id;
}
public
String getName() {
return
name;
}
public
void
setName(String name) {
this
.name = name;
}
@Override
public
boolean
equals(Object obj) {
Student s=(Student)obj;
return
id.equals(s.id) && name.equals(s.name);
}
@Override
public
int
hashCode() {
String in = id + name;
return
in.hashCode();
}
}

import java.util.HashSet;

import
java.util.List;
import
java.util.Set;
 
public
class
QuSame {
  
 
public
static
void
main(String[] args) {
 
List<Student> stu =
new
ArrayList<Student>();
 
stu.add(
new
Student(
"1"
,
"yi"
));
 
stu.add(
new
Student(
"3"
,
"san"
));
 
stu.add(
new
Student(
"3"
,
"san"
));
 
stu.add(
new
Student(
"2"
,
"er"
));
 
stu.add(
new
Student(
"2"
,
"er"
));
 
//set集合保存的是引用不同地址的对象
 
Set<Student> ts =
new
HashSet<Student>();
 
ts.addAll(stu);
  
 
for
(Student student : ts) {
  
System.out.println(student.getId()+
"-"
+student.getName());
 
}
 
}
}

以上这篇list集合去除重复对象的实现就是小编分享给大家的全部内容了,希望能给大家一个参考

转载地址:http://vghlo.baihongyu.com/

你可能感兴趣的文章
细说多线程之Thread与Runnable
查看>>
【Codeforces #134 Div2】Solutions 【Updated】
查看>>
数据库优化案例——————某知名零售企业ERP系统
查看>>
计算月份差方法封装
查看>>
setsockopt 设置socket 详细用法
查看>>
抽象工厂不同接口反射
查看>>
hdu1052
查看>>
服务器端推送技术
查看>>
python开发工具
查看>>
Home Assistant系列 -- 自动语音播报天气
查看>>
Hyberledger-Fabric 1.00 RPC学习(1)
查看>>
SDNU 1450.报时助手
查看>>
BZOJ 4144 Dijkstra+Kruskal+倍增LCA
查看>>
阻塞与非阻塞,同步与异步
查看>>
HTML段落自动换行的样式设置
查看>>
Android实现左右滑动指引效果
查看>>
html里frame导航框架实现方法
查看>>
shell编程系列5--数学运算
查看>>
在 UWP 应用中创建、使用、调试 App Service (应用服务)
查看>>
Active MQ C#实现
查看>>