转自:
java如何使用代码求两个list集合的差集呢?
下文笔者讲述求list集合的差集的方法简介说明,如下所示:
差集: 用一个集合减去一个集合得到的集合,我们称之为“差集”
实现思路:
使用stream流中的filter方法对集合
进行"不包含关系计算",从而得到差集(jdk8循环的新特性)
例:
package com.java265.other;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class Test16 {
/**
* java265.com 示例程序
*
* @throws IllegalAccessException
* @throws InstantiationException
*/
public static void main(String[] args) throws InstantiationException, IllegalAccessException {
List<String> list1 = new ArrayList<String>();
list1.add("java265.com-1");
list1.add("java265.com-2");
list1.add("java265.com-3");
List<String> list2 = new ArrayList<String>();
list2.add("java265.com-8");
list2.add("java265.com-2");
list2.add("java265.com-9");
System.out.println("======================");
// list1 差集
list1 = list1.stream().filter(e -> {
return !list2.contains(e);
}).collect(Collectors.toList());
System.out.println(list1);
}
}
-----运行以上代码,将输出以下信息------
======================
[java265.com-1, java265.com-3]
相关文章
暂无评论...
