Java8 如何移除兩個相同的List對象
更新時間:2022年01月26日 10:14:57 作者:Oliver Deng
這篇文章主要介紹了Java8 如何移除兩個相同的List對象,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
Java8 移除兩個相同List對象
List<Data> data1 = new ArrayList<>();
data1.add(new Data(7, 15));
data1.add(new Data(2, 17));
data1.add(new Data(2, 17));
List<Data> data2 = new ArrayList<>();
data2.add(new Data(1, 11));
data2.add(new Data(10, 9));
data2.add(new Data(10, 9));
data2.add(new Data(7, 15));
data2.add(new Data(2, 17));
data2.add(new Data(2, 17));
List<Data> result = data2.stream()
.filter(d1 ->
data1.stream()
.noneMatch(d2 -> Objects.equals(d1.getId(), d2.getId()))
).collect(Collectors.toList());
System.out.println(result);
結(jié)果:

如果多個條件
.noneMatch(d2 -> Objects.equals(d1.getId(), d2.getId()) && Objects.equals(d1.getId(), d2.getId()))
篩選出List不被另一個List包含的元素
List<String> delTagGroup = new ArrayList<>();//需要刪除的 ? ? ? ?List<String> originGroupId = qwTagGroupEntityList.stream().map(QwTagGroupEntity::getGroupId).collect(Collectors.toList());//原有的 ? ? ? ?List<String> newGroupId = corpTagList.getTag_group().stream().map(CorpTagList.TagGroupBean::getGroup_id).collect(Collectors.toList());//新的 ? ? ? ?delTagGroup = originGroupId.stream().filter(o->!newGroupId.contains(o)).collect(Collectors.toList());//新的不在原有里面的
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
RocketMQ NameServer保障數(shù)據(jù)一致性實現(xiàn)方法講解
這篇文章主要介紹了RocketMQ NameServer保障數(shù)據(jù)一致性實現(xiàn)方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12
springboot實現(xiàn)攔截器的3種方式及異步執(zhí)行的思考
實際項目中,我們經(jīng)常需要輸出請求參數(shù),響應(yīng)結(jié)果,方法耗時,統(tǒng)一的權(quán)限校驗等。本文首先為大家介紹 HTTP 請求中三種常見的攔截實現(xiàn),并且比較一下其中的差異。感興趣的可以了解一下2021-07-07

