转自:
http://www.java265.com/JavaCourse/202204/3124.html
集合简介:
集合是一组可变数量的数据项(也可能是0个)的组合,这些数据项可能共享某些特征,需要以某种操作方式一起进行操作。一般来讲,这些数据项的类型是相同的,或基类相同(若使用的语言支持继承)。列表(或数组)通常不被认为是集合,因为其大小固定,但事实上它常常在实现中作为某些形式的集合使用。集合的种类包括列表,集,多重集,树和图。枚举类型可以是列表或集。
下文笔者讲述求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]
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |