亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java:從 ArrayList 中獲取所有第一個條目

Java:從 ArrayList 中獲取所有第一個條目

慕哥9229398 2022-07-14 16:56:52
我有一個包含用戶信息數組的 ArrayList(約 900 個條目):[swaschit, Sophia Waschitz, Dormant, Inactive, 1/1/2018][kolanday, Kyle Olanday, Dormant, Inactive, 1/1/2018][npowers, Neil Powers, Assigned, Active, 2/11/2018]我想從此列表中生成一個數組,該數組僅包含每個對象的第一個元素:[swaschit, kolanday, npowers, ...]這樣做最有效的方法是什么?
查看完整描述

4 回答

?
MMTTMM

TA貢獻1869條經驗 獲得超4個贊

一種方法是使用 aStreammap每個內部數組到它的第一個元素:

List<String> firstElements = yourList.stream()
                                     .map(x -> x[0].toString()) // you might need toString() here if your array is an Object[]
                                     .collect(Collectors.toList());

如果您想要一個字符串數組:

String[] firstElements = yourList.stream()
                                     .map(x -> x[0].toString()) // you might need toString() here if your array is an Object[]
                                     .toArray(String[]::new);

我還建議您不要使用這樣的嵌套數組。您應該使用要存儲的屬性創建一個類,并創建一個List類。


查看完整回答
反對 回復 2022-07-14
?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

因為我認為第一個條目是唯一的(因為它似乎是用戶名),所以我建議使用 Map. 這樣,您可以簡單地列出鍵。

HashMap<String,ArrayList<String>> hashmap=new HashMap<>();

或者,您可以簡單地創建一個包含該信息的類,以避免需要使用 ArrayList,但我不知道這是否是一個選項。


查看完整回答
反對 回復 2022-07-14
?
偶然的你

TA貢獻1841條經驗 獲得超3個贊

正如所指出的那樣,使用適當設計的Object而不是array此類異構數據(猜測它們String實際上是 s)。


如果您堅持保持原樣,您只需要分配一個具有原始大小的新數組ArrayList并遍歷,獲取所需的列。假設ArrayList<String[]> list


int size = list.size();

String[] firstColumn = new String[size];

for (int i = 0; i < list.size(); i++) {

    firstColumn[i] = list.get(i)[0];

}


查看完整回答
反對 回復 2022-07-14
?
斯蒂芬大帝

TA貢獻1827條經驗 獲得超8個贊

我想你可以做到 list.stream().map(array -> array[0].toString()).toArray()



查看完整回答
反對 回復 2022-07-14
  • 4 回答
  • 0 關注
  • 592 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號