List<Object> a = new ArrayList<Object>(); List<Object> b = new ArrayList<Object>(); a.add("111"); a.add("222"); b.add("222"); b.add("333"); a.removeAll(b); a.addAll(b); System.out.println(a.size());
如果数据量较大,考虑到效率问题可采用下面的方法
List<Object> a = new ArrayList<Object>(); List<Object> b = new ArrayList<Object>(); a.add("111"); a.add("222"); b.add("222"); b.add("333"); Set<Object> set = new HashSet<Object>(); set.addAll(a); set.addAll(b); List<Object> c = new ArrayList<Object>(set); System.out.println(c.size());
如果需要保持列表顺序可以使用LinkedHashSet
list中如果是String的话上述方法没问题,如果是对象的话应该重写对象的equals方法,而且对象中要有唯一的标识,比如id,也可以是其他,标识相同则认为两个对象是相同的,示例如下:
User类:
public class User { private String id; private String name; private String age; 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 String getAge() { return age; } public void setAge(String age) { this.age = age; } @Override public boolean equals(Object obj) { return obj instanceof User&& this.id != null && this.id.equals(((User)obj).getId()); } }
测试类:
import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; public class TestList { public static void main(String[] args) { List<Object> a = new ArrayList<Object>(); List<Object> b = new ArrayList<Object>(); for(int i=0;i<2;i++){ User user = new User(); user.setId(i+""); a.add(user); } for(int i=1;i<3;i++){ User user = new User(); user.setId(i+""); b.add(user); } a.removeAll(b); a.addAll(b); System.out.println(a.size()); Set<Object> set = new HashSet<Object>(); set.addAll(a); set.addAll(b); List<Object> c = new ArrayList<Object>(set); System.out.println(c.size()); } }
相关推荐
java list根据对象的某个属性的值去重,java list根据对象的某个属性的值去重java list根据对象的某个属性的值去重
主要介绍了关于java中List对象列表实现去重或取出以及排序的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
java list集合和数组去除重复项,并记录重复次数个数。
主要介绍了Java中对List去重, Stream去重的问题解答,文中给大家介绍了Java中List集合去除重复数据的方法,需要的朋友可以参考下
今天小编就为大家分享一篇关于Java List中数据的去重,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
实用方法,使用java8 stream对List 分组,去重,自定义排序
在java的list中由于经常存在重复的元素,需要去重,这个时候要用到list去重,将一些不必要展现出来的元素展现出来
主要介绍了Java中List集合对象去重及按属性去重的8种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一地的参考借鉴价值,需要的朋友可以参考下
本文主要介绍了java list 去重的方法,其中有带类型写法和不带类型写法,并举例测试,具有一定参考借鉴价值,希望能对有需要的小伙伴有所帮助
在开发过程中.数组和集合的处理是最让我们担心.一般会用for or foreach 来处理一些操作.... 把集合A.B合并 List<int> Result = listA.Union(listB).ToList(); //剔除重复项 List<int> Result = listA.C
主要介绍了Java开发中数组和集合去重的常用方法
主要介绍了如何实现java8 list按照元素的某个字段去重,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
今天小编就为大家分享一篇python去重,一个由dict组成的list的去重示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
主要介绍了简述Java List去重五种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并 Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并
在实际开发的时候,我们经常会碰到这么一个困难: 一个集合容器里面有很多重复的对象,里面的对象没有主键,但是根据业务的需求,实际上我们需要根据条件筛选出没有重复的对象 。
list的排序和去重等的方便操作,此文档为自己写代码的下载,会比较难懂,请大家耐心查看啊
java List排序工具类 使用示例: new OrderUtils().order(list, "name", OrderUtils.DESC); 相关实例代码: public static void main(String[] args) { List<Person> list = getData(); // 获取无序数据 new ...
主要介绍了Java实现对两个List快速去重并排序操作,结合实例形式较为详细的分析了Java针对list的遍历、去重、排序相关操作技巧与注意事项,需要的朋友可以参考下