Java中List求并集、交集、差集、无重复并集

在实际的开发过程中,某些特定场合,可能会遇到处理list求并集、交集、差集、无重复并集的问题。最近团队有人反馈这个问题,特此总结如下:

package com.demo;

import java.util.ArrayList;
import java.util.List;

public class ListTest {

	public static void main(String[] args) {
		
		List<String> list1 = new ArrayList<>();
		list1.add("11111111111");
		list1.add("22222222222");
		
		List<String> list2 = new ArrayList<>();
		list2.add("22222222222");
		list2.add("33333333333");
		list2.add("44444444444");
		
		list2.addAll(list1); //并集
		
		//list2.removeAll(list1); //差集
		
		//list2.retainAll(list1); //交集
		
		//无重复并集(即先求差集,再做并集)
//		list2.removeAll(list1);
//		list1.addAll(list2);
		
		System.out.println("--------------------------------------");
		System.out.println(list2.size());
		System.out.println(list2.toString());
		System.out.println("--------------------------------------");
	}
}

注意如下求交集的形式:

list2.retainAll(list1)

这里list2的结果会变为list1和list2的交集,而list1是不改变的。

猿人谷 CSDN认证博客专家 博客专家
【欢迎关注微信公众号:猿人谷】技术成长没有捷径,唯有积累。没有啥大佬,代码写多了,坑踩多了,想多了,写代码自然就顺手了。
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页