亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

java 實現多個list 合并成一個去掉重復的案例

瀏覽:2日期:2022-08-26 09:18:06

我就廢話不多說了,大家還是直接看代碼吧~

public static void main(String[] args){ List<Integer> list1 = new ArrayList<Integer>(); list1.add(1); list1.add(2); list1.add(3); list1.add(4); List<Integer> list2 = new ArrayList<Integer>(); list2.add(1); list2.add(4); list2.add(7); list2.add(10); List<Integer> listAll = new ArrayList<Integer>(); listAll.addAll(list1); listAll.addAll(list2); listAll = new ArrayList<Integer>(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) {// 集合1List<SkillUpgrade> 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);// 集合1List<SkillUpgrade> 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<Integer, SkillUpgrade> 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<Integer, SkillUpgrade> keyRedo = listx.stream().collect(Collectors.toMap(SkillUpgrade::getLv, Function.identity(), (key1, key2) -> key2));// 方式二:指定實例的mapMap<Integer, SkillUpgrade> 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
相關文章:
主站蜘蛛池模板: 国产成人精品无缓存在线播放 | 久久99亚洲综合精品首页 | 欧美精品一区二区精品久久 | 啪啪中文字幕 | 特级黄色一级片 | 99久久精品国产亚洲 | 国产成人精品久久二区二区 | 玖玖国产精品视频 | 成人短视频在线在线观看 | 国产免费拍拍视频在线观看网站 | 精品国产国产综合精品 | 久久在线一区 | 国产精品原创永久在线观看 | 成人夜色视频在线观看网站 | 丁香天堂网 | 一级毛片一级毛片一级毛片 | 久久免费公开视频 | 亚洲精品一区乱码在线观看 | 久久久99精品免费观看精品 | 一区二区精品 | 国产尤物二区三区在线观看 | 高h喷水荡肉爽文np欲 | 欧美日韩亚洲精品国产色 | 久久福利青草狠狠午夜 | 日韩一级片在线 | 久草在线观看福利 | 国产精品伦理久久久久 | 黄色片网址 | 一级国产精品一级国产精品片 | 亚洲午夜精品一区二区 | 国产精品福利片免费看 | 精品一本久久中文字幕 | 久爱视频在线观看 | 2018高清国产一道国产 | 中文日产国产精品久久 | www.黄色网址.com | 日韩欧美一区二区在线观看 | 欧美aaaaaaaaaa| 精品日产1区2区 | 国产美女视频网站 | 91老师国产黑色丝袜在线 |