日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java list 合并去重复_java 实现多个list 合并成一个去掉重复的案例

發(fā)布時間:2025/3/15 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java list 合并去重复_java 实现多个list 合并成一个去掉重复的案例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

java 實(shí)現(xiàn)多個list 合并成一個去掉重復(fù)的案例,我就,說了,不多,給大家,代碼

java 實(shí)現(xiàn)多個list 合并成一個去掉重復(fù)的案例

易采站長站,站長之家為您整理了java 實(shí)現(xiàn)多個list 合并成一個去掉重復(fù)的案例的相關(guān)內(nèi)容。

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

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

補(bǔ)充知識:java8 lambda小試牛刀,利用Stream把list轉(zhuǎn)map,并將兩個list的數(shù)據(jù)對象合并起來

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

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轉(zhuǎn)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());

// 把數(shù)量復(fù)制過去

n.setSelectNum(obj.getSelectNum());

}

});

System.out.println("lists:="+lists);

// 重復(fù)問題

Map keyRedo = listx.stream()

.collect(Collectors.toMap(SkillUpgrade::getLv, Function.identity(), (key1, key2) -> key2));

// 方式二:指定實(shí)例的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]]

*/

輸出結(jié)果:

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 實(shí)現(xiàn)多個list 合并成一個去掉重復(fù)的案例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持易采站長站。以上就是關(guān)于對java 實(shí)現(xiàn)多個list 合并成一個去掉重復(fù)的案例的詳細(xì)介紹。歡迎大家對java 實(shí)現(xiàn)多個list 合并成一個去掉重復(fù)的案例內(nèi)容提出寶貴意見

總結(jié)

以上是生活随笔為你收集整理的java list 合并去重复_java 实现多个list 合并成一个去掉重复的案例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。