第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

根據(jù)Java 8中的屬性從對(duì)象列表中刪除重復(fù)項(xiàng)

根據(jù)Java 8中的屬性從對(duì)象列表中刪除重復(fù)項(xiàng)

溫溫醬 2019-11-28 09:58:50
我試圖從基于某些屬性的對(duì)象列表中刪除重復(fù)項(xiàng)。我們可以使用Java 8以簡(jiǎn)單的方式做到嗎List<Employee> employee我們可以根據(jù)id員工的財(cái)產(chǎn)從中刪除重復(fù)項(xiàng)嗎?我見(jiàn)過(guò)刪除字符串重復(fù)數(shù)組列表的重復(fù)帖子。
查看完整描述

3 回答

?
守著一只汪

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊

直接在列表中執(zhí)行此操作的最簡(jiǎn)單方法是


HashSet<Object> seen=new HashSet<>();

employee.removeIf(e->!seen.add(e.getID()));

removeIf 如果符合指定條件,將刪除一個(gè)元素

Set.addfalse如果未修改Set,則將返回,即已經(jīng)包含該值

結(jié)合這兩個(gè),它將刪除之前遇到ID的所有元素(員工)

當(dāng)然,僅當(dāng)列表支持刪除元素時(shí),它才有效。


查看完整回答
反對(duì) 回復(fù) 2019-11-28
?
滄海一幻覺(jué)

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊

如果可以使用equals,則可以distinct在流中使用過(guò)濾列表(請(qǐng)參見(jiàn)上面的答案)。如果您不能或不想重寫(xiě)該equals方法,則可以 filter通過(guò)以下方式對(duì)任何屬性(例如,屬性名稱(與屬性ID等相同))進(jìn)行流處理:


Set<String> nameSet = new HashSet<>();

List<Employee> employeesDistinctByName = employees.stream()

            .filter(e -> nameSet.add(e.getName()))

            .collect(Collectors.toList());


查看完整回答
反對(duì) 回復(fù) 2019-11-28
  • 3 回答
  • 0 關(guān)注
  • 990 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)