`
低调衬着那一抹妖娆
  • 浏览: 30152 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

java list合并去重

阅读更多
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对象列表实现去重或取出以及排序的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。

    list和数组去重,记录重复次数

    java list集合和数组去除重复项,并记录重复次数个数。

    Java中对List去重 Stream去重的解决方法

    主要介绍了Java中对List去重, Stream去重的问题解答,文中给大家介绍了Java中List集合去除重复数据的方法,需要的朋友可以参考下

    Java List中数据的去重

    今天小编就为大家分享一篇关于Java List中数据的去重,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    java8 List 实用方法App.java

    实用方法,使用java8 stream对List 分组,去重,自定义排序

    list去重.txt

    在java的list中由于经常存在重复的元素,需要去重,这个时候要用到list去重,将一些不必要展现出来的元素展现出来

    java list去重操作实现方式

    本文主要介绍了java list 去重的方法,其中有带类型写法和不带类型写法,并举例测试,具有一定参考借鉴价值,希望能对有需要的小伙伴有所帮助

    Java中List集合对象去重及按属性去重的8种方法

    主要介绍了Java中List集合对象去重及按属性去重的8种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一地的参考借鉴价值,需要的朋友可以参考下

    C#对多个集合和数组的操作方法(合并,去重,判断)

    在开发过程中.数组和集合的处理是最让我们担心.一般会用for or foreach 来处理一些操作.... 把集合A.B合并 List&lt;int&gt; Result = listA.Union(listB).ToList(); //剔除重复项 List&lt;int&gt; Result = listA.C

    Java数组去重 集合List去重的常用方法总结

    在日常的业务开发中,可能会遇到需要将 List 集合...本文通过多种方法详细解决的去重处理,可以是排序的,可以是不需要新建集合的,实现最简洁,且去重之后的顺序能和原集合保持一致的实现方法;小伙伴们一起来看看吧!

    如何实现java8 list按照元素的某个字段去重

    主要介绍了如何实现java8 list按照元素的某个字段去重,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下

    python去重,一个由dict组成的list的去重示例

    今天小编就为大家分享一篇python去重,一个由dict组成的list的去重示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    简述Java List去重五种方法

    主要介绍了简述Java List去重五种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    List 集合去重的3种方法.docx

    在实际开发的时候,我们经常会碰到这么一个困难: 一个集合容器里面有很多重复的对象,里面的对象没有主键,但是根据业务的需求,实际上我们需要根据条件筛选出没有重复的对象 。

    Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并

    Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并 Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并

    list的排序和去重

    list的排序和去重等的方便操作,此文档为自己写代码的下载,会比较难懂,请大家耐心查看啊

    java List排序工具类

    java List排序工具类 使用示例: new OrderUtils().order(list, "name", OrderUtils.DESC); 相关实例代码: public static void main(String[] args) { List&lt;Person&gt; list = getData(); // 获取无序数据 new ...

    Java实现对两个List快速去重并排序操作示例

    主要介绍了Java实现对两个List快速去重并排序操作,结合实例形式较为详细的分析了Java针对list的遍历、去重、排序相关操作技巧与注意事项,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics