Java List 获取部分组成new list,获取两个list相同/不同的内容

news/2024/11/14 4:54:03/

获取List中的一项

List<String> _outingCntry = list.stream().map(OSzItem::getGroup).
collect(Collectors.toList());

获取List中的多项

List<vo> list = new ArrayList<>();
Map<String, String> map = list.stream().collect(
Collectors.toMap(vo::getxxx, vo::getxxx));

 按照条件获取List,包括相同项,不同项等

获取两个Array / List 等不相同项是比较繁琐的过程,通常需要设置全局变量,然后通过for语句判断是否相等,同时改变全局变量。全局变量没有变化的项即是不同。

这种方式显得代码啰嗦,不符合自然思考习惯,所有可以借助List的stream来解决,代码相对整洁。

List<SalrCntry> _diff = _amtCntrylist.stream().
filter(ele->!_outCntry.contains(ele.getCntry())).
collect(Collectors.toList());

通过remove去除相同,剩下的是不同 

public class FindDifferencesBetweenListsUnitTest { private static final List listOne = Arrays.asList("Jack", "Tom", "Sam", "John", "James", "Jack"); private static final List listTwo = Arrays.asList("Jack", "Daniel", "Sam", "Alan", "James", "George"); }

List<String> differences = new ArrayList<>(listOne); differences.removeAll(listTwo); assertEquals(2, differences.size()); assertThat(differences).containsExactly("Tom", "John");

List<String> differences = listTwo.stream() .filter(element -> !listOne.contains(element)) .collect(Collectors.toList()); assertEquals(3, differences.size()); assertThat(differences).containsExactly("Daniel", "Alan", "George");


http://www.ppmy.cn/news/1445099.html

相关文章

密文域可逆信息隐藏技术综述(上)

加密图像可逆信息隐藏是一种加密原始图像后&#xff0c;在密文图像中可逆地隐藏附加数据&#xff0c;并且在数据提取后&#xff0c;原始图像可以被无损重建的技术。RDH-EI的分类如图1所示。 按对图像的加密方法&#xff0c;现有RDH-EI算法可分为对称加密域和非对称(公钥)加密域…

OSPF基本配置

原理概述 OSPF 是一种应用非常广泛的基于链路状态的动态路由协议&#xff0c;它具有区域&#xff08; Area )化的层次结构&#xff0c;扩展性好&#xff0c;收敛速度快&#xff0c;适合部署在各种规模的网络上。 在 OSPF 中&#xff0c;每台路由器都必须有一个 Router-I…

.net报错异常及常用功能处理总结(持续更新)

.net报错异常及常用功能处理总结---持续更新 1. WebApi dynamic传参解析结果中ValueKind Object处理方法问题描述方案1&#xff1a;(推荐&#xff0c;改动很小)方案2&#xff1a; 2.C# .net多层循环嵌套结构数据对象如何写对象动态属性赋值问题描述JavaScript动态属性赋值.net…

CentOS 7 安装 Puppeteer Google Chrome

由于需要使用到了 Puppeteer 功能&#xff0c;安装了多次失败而告终。最终找到了一个可以安装成功的方式&#xff0c;特此记录下来。 安装 Puppeteer 需要注意 Node.js 版本&#xff0c;我使用的是 16.x cnpm i puppeteer安装 Google Chrome 这里需要注意的一下是&#xff0c;…

介绍一个在数据分析中常用的函数:data.iloc[]

平时处理数据集中&#xff0c;总是需要选中一些列的数据&#xff0c;去预测其他列的数据&#xff0c;所以data.iloc[]&#xff0c;在数据分析中显得尤为方便。 介绍一下data.iloc[] data.iloc[] 是 Python 中 pandas 库的一个非常有用的功能&#xff0c;它允许你通过行和列的…

windows上通过定时任务提交新增文件到SVN(bat双击可执行,但是通过定时任务后无法提交到svn)

这个要必须记录一下了&#xff0c;因为折腾了蛮久断断续续加起来花费的有一天多时间。因为这个跟上篇定时备份是一个事来的&#xff0c;备份完了不可能留在跟数据库相同的机器吧&#xff0c;这样的话也起不到备份的作用啊&#xff0c;所以就想着让它每天去定时备份&#xff0c;…

【算法每日一练】动态规划,图论(换根dp)会议 ,医院设置

目录 题目&#xff1a; 会议 思路&#xff1a; 题目&#xff1a;医院设置 思路&#xff1a; 题目&#xff1a; 会议 思路&#xff1a; 首先&#xff0c;阅读题目可以看出来&#xff0c;这道题目实际上就是求树的重心。 树的重心&#xff1a; 定义&#xff1a;找到一个点&a…

ES全文检索支持拼音和繁简检索

ES全文检索支持拼音和繁简检索 1. 实现目标2. 引入pinyin插件2.1 编译 elasticsearch-analysis-pinyin 插件2.2 安装拼音插件 3. 引入ik分词器插件3.1 已有作者编译后的包文件3.2 只有源代码的版本3.3 安装ik分词插件 4. 建立es索引5.测试检索6. 繁简转换 1. 实现目标 ES检索时…