色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

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

瀏覽:4日期: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
相關文章:
主站蜘蛛池模板: 在线视频自拍 | 国产视频高清在线观看 | 国产日韩在线看 | 美女视频网站色 | 久久夜夜视频 | 久久免费公开视频 | 美女张开腿让我桶 | 亚洲日本欧美在线 | 久综合| 国产韩国精品一区二区三区久久 | 欧美一级在线观看 | 欧美午夜精品一区二区三区 | 日日摸日日碰夜夜97 | 成年人免费视频观看 | 成人毛片免费在线观看 | 欧美一级毛片免费播放器 | 日本一区二区三区在线 视频观看免费 | 成人免费毛片网站 | 国产三级视频在线 | 日本成年人视频网站 | 日韩欧美一区二区不卡看片 | 国产91亚洲精品 | 欧美一区二区三区久久久人妖 | 性欧美巨大 | 免费看男女做好爽好硬视频 | 国产午夜亚洲精品第一区 | 久草视频免费播放 | 久久综合一区二区三区 | 成人精品区| 高清 国产 日韩 欧美 | 中文字幕在线观看日韩 | 亚洲一区欧美 | 亚洲精品久久久久网站 | 色综合精品久久久久久久 | 亚洲在线一区二区三区 | 91精品国产一区二区三区左线 | 国产亚洲精品一区二区 | 香蕉久| 美女白浆视频 | 怡红院老首页主页入口 | 精品国产香蕉在线播出 |