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

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

Peek 中的 Java 8 條件邏輯?

Peek 中的 Java 8 條件邏輯?

拉丁的傳說(shuō) 2023-12-13 17:17:54
我目前有一些 Java 8 代碼,如下所示 - 非常確定我可以將其合并到單個(gè)調(diào)用中,但不確定如何在 Looped 映射中將條件調(diào)用到位??梢杂?peek() 來(lái)做到這一點(diǎn)嗎?或者其他 Java 8 調(diào)用?當(dāng)前代碼//turn above groups into a map, grouped by ResolutionMap<Long,List<LeadChannel>> mappedUp = groups                .stream()                .collect( Collectors.groupingBy( channel->channel.getResolution().getId() ) );下一位根據(jù)鍵的 ID 手動(dòng)轉(zhuǎn)換為字符串映射。Map<String, List<LeadChannel>> finalMap = new HashMap<String, List<LeadChannel>>();for ( Map.Entry<Long,List<LeadChannel>> entry : mappedUp.entrySet()) {    if(  !entry.getKey().equals( RESOLVED_STATUS ) ) {        finalMap.put( "unresolved", entry.getValue() );    } else {        finalMap.put( "resolved", entry.getValue() );    }}我正在嘗試這樣做: Map<String,List<LeadChannel>> mappedUp = groups                        .stream()                        .collect( Collectors.groupingBy( channel->channel.getResolution().getId() ) ).entrySet().stream().peek( if statement etc.. )
查看完整描述

1 回答

?
慕村9548890

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

您似乎正在尋找的是一個(gè)條件groupingBy:


Map<String, List<LeadChannel>> finalMap = groups

        .stream()

        .collect(Collectors.groupingBy(channel ->

                channel.getResolution().getId().equals(RESOLVED_STATUS) ?

                        "unresolved" : "resolved"));

或者在多個(gè)管道中,了解如何對(duì)數(shù)據(jù)進(jìn)行分區(qū),然后根據(jù)問(wèn)題中共享的條件進(jìn)一步映射它:


Map<Boolean, List<LeadChannel>> mappedUp = groups

        .stream()

        .collect(Collectors.partitioningBy(channel -> 

                channel.getResolution().getId().equals(RESOLVED_STATUS)));


Map<String, List<LeadChannel>> finalMap = mappedUp.entrySet().stream()

        // in a similar manner you can map your current map's entries as well

        .map(e -> new AbstractMap.SimpleEntry<>(e.getKey() ? "resolved" : "unresolved", e.getValue())) 

        .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));

或者正如 Holger 建議的那樣,最好使用 lambda 直接收集為


Map<String, List<LeadChannel>> finalMap = mappedUp.entrySet().stream()

        .collect(Collectors.toMap(e -> e.getKey()? "resolved": "unresolved", Map.Entry::getValue)) 



查看完整回答
反對(duì) 回復(fù) 2023-12-13
  • 1 回答
  • 0 關(guān)注
  • 148 瀏覽
慕課專欄
更多

添加回答

舉報(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)