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

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

Java 8 Stream() 具有復(fù)雜的 List 條件,它應(yīng)該返回一個(gè)結(jié)果

Java 8 Stream() 具有復(fù)雜的 List 條件,它應(yīng)該返回一個(gè)結(jié)果

慕妹3146593 2023-02-23 15:42:30
我有電話號(hào)碼列表,我需要根據(jù)電話類型進(jìn)行過(guò)濾。最終結(jié)果應(yīng)該是單個(gè)對(duì)象 (PhoneUsageType)。示例場(chǎng)景 1. 如果列表有 2 種不同類型的電話號(hào)碼,如 Cell_Phone 和 Home_Phone,它應(yīng)該只返回 Cell_Phone 對(duì)象。2.如果它只有 Cell_Phone 那么它應(yīng)該直接返回我那個(gè)對(duì)象 3.如果它沒(méi)有 Cell_Phone 那么它應(yīng)該返回我 Home_Phone如果 Cell_Phone 在列表中可用,則它應(yīng)該是首選對(duì)象使用list.stream().filter代碼PhoneUsageType phone1 = new PhoneUsageType();PhoneUsageKeyGrpType keyGroup1 = new PhoneUsageKeyGrpType();keyGroup1.setPurposeCode("CELL_PHONE");phone1.setPhoneUsageKeyGrp(keyGroup1);PhoneNumberType phoneNumber1 = new PhoneNumberType();phoneNumber1.setFullNumber("123");phone1.setPhoneNumber(phoneNumber1);PhoneUsageType phone2 = new PhoneUsageType();PhoneUsageKeyGrpType keyGroup2 = new PhoneUsageKeyGrpType();keyGroup2.setPurposeCode("CELL_PHONE");phone2.setPhoneUsageKeyGrp(keyGroup2);PhoneNumberType phoneNumber2 = new PhoneNumberType();phoneNumber2.setFullNumber("456");phone2.setPhoneNumber(phoneNumber2);List<PhoneUsageType> phoneUsageList = Lists.newArrayList();請(qǐng)幫我寫(xiě)下邏輯。提前致謝。如果您需要更多詳細(xì)信息,請(qǐng)告訴我。
查看完整描述

2 回答

?
隔江千里

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

不要按類型使用filter、使用min或排序。max


像下面這樣的東西:


enum PhoneType {

    CELL, WORK, HOME; // in order of preference

}


class Phone {

    public PhoneType getType() ...

    public String getNumber() ...

}


Phone best = Collections.min(phoneList, Comparator.comparing(Phone::getType));


查看完整回答
反對(duì) 回復(fù) 2023-02-23
?
梵蒂岡之花

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

更好地使用最小和最大排序類型


enum PhoneType {

    Mobile, Office, personal; // in order of preference

}


class Mobile {

    public PhoneType getType() 

    public String getNumber() 

}


Comparator<Mobile> preferredNumber = Comparator.comparing(Mobile::getType);


Mobile best = mobileList.stream().min(preferredNumber).orElseThrow();

希望你能明白。


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

添加回答

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