您的位置:首页 > 编程语言 > Java开发

java 4 集合运算时使用更优雅的方式

2017-10-13 14:28 183 查看
对集合进行 交集,并集,差集,无重复的并集操作,很多朋友都是习惯性的使用 遍历就可以完成这个操作,这样也能够实现,但不够优雅,请看下面的代码完成这个操作

public static void main(String[] args) {
List<String> list1 = new ArrayList<String>();
list1.add("A");
list1.add("B");
list1.add("C");
list1.add("A");
List<String> list2 = new ArrayList<String>();
list2.add("B");
list2.add("C");

// 并集
// list1.addAll(list2);

// 交集
// list1.retainAll(list2);

// 差集
// list1.removeAll(list2);

// 无重复的并集 并集是集合A加集合B,那如果集合A和集合B有交集,就需要确保并集的结果中只有
// 一份交集,这样的结果为无重复并集
// ① 删除list2中 与 list1  中有交集部分的数据
list2.removeAll(list1);
//② 把剩余的 list2 元素加到 list1 中
list1.addAll(list2);

for (String str : list1) {
System.out.println(str);
}
}
注:
在实现 无重复交集的时候,不能采用  Set 方法完成这个任务,因为如果 集合1中已经有了重复的元素,使用Set 集合 会将 集合1 中的重复的元素进行删除,这样的将结果就不是无重复交集的结果了,无重复交集的结果,是删除 集合1 和集合2中 有交集部分的数据 只出现一次,不含对  集合本身数据的  操作
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息