list对象中的数据如何去重呢?
下文笔者讲述list对象的去重方法分享,list的实现类是我们存储数据的容器,
当里面存储的对象存在重复值时,我们该如何对其进行去重操作呢?
下文笔者将一一道来,首先我们需了解对象是否重复,需借助equals方法进行判断,所以我们需重写equals方法,
然后再将list中的数据放入到set集合中,使其自动去重,如下所示:
实现思路: 1.重写类中的hashcode和equals方法
2.将list对象放入一个set对象中即可达到自动去重的效果
package com.java265.other;
import java.util.*;
public class test {
public static void main(String[] args) {
/*
* author:java265.com
* list去重操作示例分享
* */
List<User> list = new ArrayList<>();
list.add(new User("1","xiaoming"));
list.add(new User("2","xiaoming"));
list.add(new User("3","xiaoming"));
list.add(new User("4","xiaoming"));
list.add(new User("4","xiaoming"));
System.out.println(list);
System.out.println("------------");
//去重
Set<User> set = new HashSet<>();
set.addAll(list);
System.out.println(set);
}
}
class User{
private String id;
private String 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;
}
public User() {
}
public User(String id,String name){
this.id = id;
this.name = name;
}
@Override
public String toString() {
return "User{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
User user = (User) o;
return Objects.equals(id, user.id) &&
Objects.equals(name, user.name);
}
@Override
public int hashCode() {
return Objects.hash(id, name);
}
}
转自:http://java265.com/JavaJingYan/202112/16385440541991.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 我与微信审核的“相爱相杀”看个人小程序副业
· DeepSeek “源神”启动!「GitHub 热点速览」
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库