`
suko
  • 浏览: 72212 次
  • 性别: Icon_minigender_1
  • 来自: 富安
社区版块
存档分类
最新评论

Java中取两个集合的并集、交集和差集

阅读更多
1.并集
也叫合集,即把两个集合的所有元素加在一起。
public static void main(String[] args) {
	List<String> list1 = new ArrayList<String>();
	list1.add("A");
	list1.add("B");

	List<String> list2 = new ArrayList<String>();
	list2.add("C");
	list2.add("B");

	// 2个集合的并集
	list1.addAll(list2);
	System.out.println("并集:" + list1);
}


运行结果
并集:[A, B, C, B]

2.交集
计算两个集合的共有元素,即你有我也有。
public static void main(String[] args) {
	List<String> list1 = new ArrayList<String>();
	list1.add("A");
	list1.add("B");

	List<String> list2 = new ArrayList<String>();
	list2.add("C");
	list2.add("B");

	// 2个集合的并集
	list1.retainAll(list2);
	System.out.println("交集:" + list1);
}


运行结果
交集:[B]

3.差集
由所有属于A但是不属于B的元素组成的集合,叫做A与B的差集,即我有而你没有的元素。
public static void main(String[] args) {
	List<String> list1 = new ArrayList<String>();
	list1.add("A");
	list1.add("B");

	List<String> list2 = new ArrayList<String>();
	list2.add("C");
	list2.add("B");

	// 2个集合的并集
	list1.removeAll(list2);
	System.out.println("差集:" + list1);
}


运行结果
差集:[A]

4.无重复元素的并集
A和B的元素合并,若B中的元素在A中存在,那么该元素就不添加到A中
public static void main(String[] args) throws IOException {
	List<String> list1 = new ArrayList<String>();
	list1.add("A");
	list1.add("B");
	list1.add("B");

	List<String> list2 = new ArrayList<String>();
	list2.add("C");
	list2.add("B");

	// 删除在list1中出现的元素
	list2.removeAll(list1);
	// 剩余list2的所有元素添加到list1中
	list1.addAll(list2);
	System.out.println("无重复并集:" + list1);
}


运行结果
无重复并集:[A, B, B, C]
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics