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

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

如何從包含數(shù)組的數(shù)組中刪除空值

如何從包含數(shù)組的數(shù)組中刪除空值

開(kāi)滿天機(jī) 2023-06-21 13:19:56
我有一個(gè)像這樣的數(shù)組String arr[][] = {{"abc"}, {"bcd"}, {null}}這是多維數(shù)組(數(shù)組中的單字符串?dāng)?shù)組)。我想刪除這些空值并希望最終結(jié)果為{{"abc"}, {"bcd"}}. 該數(shù)組可以是任意大小,并且可以有任意數(shù)量的空值我試過(guò)這樣的事情。我知道我可以使用傳統(tǒng)的 for 循環(huán),但我想使用 java8 或更高效地進(jìn)行循環(huán)。 String arr1[][] = Arrays.stream(arr)             .filter(str -> (((str != null) && (str.length > 0))))             .toArray(String[][]::new);
查看完整描述

2 回答

?
子衿沉夜

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

您可以使用來(lái)自Arrays輔助類(lèi)的流來(lái)過(guò)濾非空值:

String arr[][] = {{"abc"}, {"bcd"}, {null}};

String result[][] = Arrays.stream(arr)
    .map(innerArray -> Arrays.stream(innerArray).filter(Objects::nonNull).toArray(String[]::new))
    .toArray(String[][]::new);

編輯:

正如@Andreas 指出的那樣,這會(huì)留下空的內(nèi)部數(shù)組,我們需要用額外的filter(innerArray -> innerArray.length > 0). 最后:

String result[][] = Arrays.stream(arr)
    .map(innerArray -> Arrays.stream(innerArray).filter(Objects::nonNull).toArray(String[]::new))
    .filter(innerArray -> innerArray.length > 0)
    .toArray(String[][]::new);


查看完整回答
反對(duì) 回復(fù) 2023-06-21
?
慕妹3242003

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

你的解決方案就快到了;支票只有一個(gè)錯(cuò)誤:

String arr1[][] = Arrays.stream(arr)
                        .filter(str -> str[0] != null)
                        .toArray(String[][]::new);


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

添加回答

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