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

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

是否可以僅用一行來(lái)執(zhí)行此操作?

是否可以僅用一行來(lái)執(zhí)行此操作?

阿波羅的戰(zhàn)車 2023-08-16 10:04:13
假設(shè)列表firstName已經(jīng)被初始化。List<String> firstName= new ArrayList<String>();firstName.add("John");firstName.add("Peter");firstName.add("Foo");是否可以使用它僅用一行代碼填充另一個(gè)列表?我不知道如何用比以下更少的行來(lái)完成它:List<FullName> fullName= new ArrayList<FullName>();firstName.stream().forEach( n -> fullName.add(new FullName(n, "SomeSurname")));
查看完整描述

1 回答

?
胡子哥哥

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

map這可以通過(guò)使用而不是forEach創(chuàng)建FullNames,然后Collectors.toList創(chuàng)建列表來(lái)輕松完成。


firstName.stream().map(n -> new FullName(n, "SomeSurname")).collect(Collectors.toList());

它不僅是一個(gè)語(yǔ)句,如果存在并行流的可能性,最好這樣做,以避免并發(fā)問題。此外,不希望使用forEach通常用于副作用的 ,作為主要目的,這里將其收集到列表中。


另外,您不必?fù)?dān)心它只有一行??勺x性比吝嗇行數(shù)更重要。即使它是多行,它也已被做成一個(gè)聲明。通常,Java 流上的每個(gè)操作都分隔在自己的行上。


firstName.stream()

    .map(n -> new FullName(n, "SomeSurname"))

    .collect(Collectors.toList());

如果您愿意,您甚至可以將初始列表的創(chuàng)建合并到單個(gè)語(yǔ)句中。


List<FullName> fullName = Arrays.asList("John", "Peter", "Foo").stream()

    .map(n -> new FullName(n, "SomeSurname"))

    .collect(Collectors.toList());


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

添加回答

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