java list 合并去重复_java 实现多个list 合并成一个去掉重复的案例
java 实现多个list 合并成一个去掉重复的案例,我就,说了,不多,给大家,代码
java 实现多个list 合并成一个去掉重复的案例
易采站长站,站长之家为您整理了java 实现多个list 合并成一个去掉重复的案例的相关内容。
我就废话不多说了,大家还是直接看代码吧~
public static void main(String[] args){
List list1 = new ArrayList();
list1.add(1);
list1.add(2);
list1.add(3);
list1.add(4);
List list2 = new ArrayList();
list2.add(1);
list2.add(4);
list2.add(7);
list2.add(10);
List listAll = new ArrayList();
listAll.addAll(list1);
listAll.addAll(list2);
listAll = new ArrayList(new LinkedHashSet<>(listAll));
System.out.println(listAll);
}
输出:
[1, 2, 3, 4, 7, 10]
代码要典:
1、合并 使用java.util.List.addAll(Collection extends Integer>)
2、去重,借助LinkedHashSet
补充知识:java8 lambda小试牛刀,利用Stream把list转map,并将两个list的数据对象合并起来
我就废话不多说了,大家还是直接看代码吧~
public static void main(String[] args) {
// 集合1
List lists = new ArrayList<>();
SkillUpgrade s = new SkillUpgrade();
s.setLv(1);
s.setAppearNum(100);
lists.add(s);
SkillUpgrade s2 = new SkillUpgrade();
s2.setLv(2);
s2.setAppearNum(200);
lists.add(s2);
// 集合1
List listx = new ArrayList<>();
SkillUpgrade x = new SkillUpgrade();
x.setLv(1);
x.setSelectNum(1100);
listx.add(x);
SkillUpgrade x2 = new SkillUpgrade();
x2.setLv(2);
x2.setSelectNum(1200);
listx.add(x2);
// 把list转map,{k=lv,vaule=并为自身} . SkillUpgrade->SkillUpgrade或Function.identity()
Map map = listx.stream()
.collect(Collectors.toMap(SkillUpgrade::getLv, SkillUpgrade -> SkillUpgrade));
System.out.println("map:="+map);
// 合并
lists.forEach(n -> {
// 如果等级一致
if (map.containsKey(n.getLv())) {
SkillUpgrade obj = map.get(n.getLv());
// 把数量复制过去
n.setSelectNum(obj.getSelectNum());
}
});
System.out.println("lists:="+lists);
// 重复问题
Map keyRedo = listx.stream()
.collect(Collectors.toMap(SkillUpgrade::getLv, Function.identity(), (key1, key2) -> key2));
// 方式二:指定实例的map
Map linkedHashMap = listx.stream().collect(Collectors.toMap(SkillUpgrade::getLv,
SkillUpgrade -> SkillUpgrade, (key1, key2) -> key2, LinkedHashMap::new));
}
/**
* output:map:={1=SkillUpgrade [skillId=null, skillName=null, lv=1, persNum=null, selectNum=1100, appearNum=null], 2=SkillUpgrade [skillId=null, skillName=null, lv=2, persNum=null, selectNum=1200, appearNum=null]}
* lists:=[SkillUpgrade [skillId=null, skillName=null, lv=1, persNum=null, selectNum=1100, appearNum=100], SkillUpgrade [skillId=null, skillName=null, lv=2, persNum=null, selectNum=1200, appearNum=200]]
*/
输出结果:
map:={1=SkillUpgrade [skillId=null, skillName=null, lv=1, persNum=null, selectNum=1100, appearNum=null], 2=SkillUpgrade [skillId=null, skillName=null, lv=2, persNum=null, selectNum=1200, appearNum=null]}
lists:=[SkillUpgrade [skillId=null, skillName=null, lv=1, persNum=null, selectNum=1100, appearNum=100], SkillUpgrade [skillId=null, skillName=null, lv=2, persNum=null, selectNum=1200, appearNum=200]]
以上这篇java 实现多个list 合并成一个去掉重复的案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易采站长站。以上就是关于对java 实现多个list 合并成一个去掉重复的案例的详细介绍。欢迎大家对java 实现多个list 合并成一个去掉重复的案例内容提出宝贵意见
java list 合并去重复_java 实现多个list 合并成一个去掉重复的案例相关推荐
- java list 合并去重_java 怎么把多个list 合并成一个去掉重复的
展开全部 示例代码636f707962616964757a686964616f31333361313838: public static void main(String[] args){ List ...
- java list 不重复_java中如何使list集合中元素不重复
对list集合中的重复值进行处理,大部分是采用两种方法,一种是用遍历list集合判断后赋给另一个list集合,一种是用赋给set集合再返回给list集合.不同方法在不同情况下有各自的优势. 相关免费视 ...
- java list map 去重复_Java中List集合去除重复数据的六种方法
1. 循环list中的所有元素然后删除重复 public static List removeDuplicate(List list) { for ( int i = 0 ; i < list. ...
- java 两个stream合并_Java Stream 流如何进行合并操作
1. 前言 Java Stream Api 提供了很多有用的 Api 让我们很方便将集合或者多个同类型的元素转换为流进行操作.今天我们来看看如何合并 Stream 流. 2. Stream 流的合并 ...
- java list map 去重复_如何过滤ListMapString,Object 中的重复Map
最近遇到一个问题,就是如何过滤一个List> 中重复的Map,废话不多说,直接上代码.//去除重复的Map //cfArraylist 表示重复的 List> //listMap 表示去重 ...
- java数组重复_JAVA数组去除重复数据
一.用List集合实现 int[] str = {5, 6, 6, 6, 8, 8, 7,4}; List list = new ArrayList();for (int i=0; i list.ad ...
- java 合并算法思想_Java实现合并两个有序序列算法示例
本文实例讲述了Java实现合并两个有序序列算法.分享给大家供大家参考,具体如下: 问题描述 输入:序列A,其中a0,其中b0 算法思想 创建一个长度为r的数组R,将A中的序列看作是两个有序序列 B=A ...
- java数组随机数不重复_java产生不重复随机数
java产生不重复随机数[史上最直接] ①本程序分"包含0"和"不包含0"两种情形,可自由选择. ②当"数组长度"大于"不重复随机 ...
- java合并txt文件_Java程序将两个txt文件合并为第三个txt文件 - Break易站
让给定的两个文件是file1.txt和file2.txt.我们的任务是将两个文件合并到第三个文件,例如file3.txt,但合并应该逐行进行.以下是交替合并的步骤. 为file3.txt创建Print ...
最新文章
- python下载的文件放在哪里的-python实现下载文件的三种方法
- java 遍历hashmap key_Java5种遍历HashMap数据的写法
- 计组之中央处理器:2、指令周期数据流(指令周期、机器周期、时钟周期、取指周期、间址周期、执行周期、中断周期、单指令周期、多指令周期、流水线方案)
- ExtJS中listener方法和handler方法的区别
- Django ORM中原生JSONField的使用方法
- linux下启动nfs服务,linux下Samba服务和NFS服务配置的方法
- docker搭建nginx
- mysql存储引擎 sql_MySQL——存储引擎与SQL数据类型
- 如何在Ubuntu上安装MariaDB
- 使用VisualSVN Server搭建SVN版本控制服务器
- 存储器的分类整理(SRAM/DRAM/NOR FLASH/Nand FLASH)
- 计算机并口优点,并口的主要特点 - USB接口、串口、并口有何区别
- Android java.lang.NoSuchMethodError: No virtual method ;or its super classes (declaration of
- APT仓库目录和repository目录结构
- 我的第一个html网页(完整代码)
- 软考 软件设计师 第五版+历年真题
- 数据库显示连接服务器错误怎么解决方法,怎样解决数据库连接出错问题
- php微信小程序如何无限点赞,小程序点赞收藏功能
- 任发科:DevOps的前世来生,从《目标》、《凤凰项目》到《持续交付》
- 131页8万字数字化矿山整体解决方案