首頁 >Java >java教程 >如何在 Java 8 中有效地展平巢狀清單?

如何在 Java 8 中有效地展平巢狀清單?

Patricia Arquette
Patricia Arquette原創
2024-12-20 02:58:09386瀏覽

How Can I Efficiently Flatten a Nested List in Java 8?

在Java 8 中展平嵌套列表

給定一個列表>對於潛在的嵌套列表,您可能需要將其合併到單一List 中。保持原始的迭代順序。要在Java 8 中有效地完成此任務,請考慮以下方法:

使用flatMap 和收集器

利用Java 8 的flatMap 操作的強大功能將嵌套列表展平為單流。這個過程涉及使用 List::stream 將每個內部列表轉換為流,然後使用 flatMap 將它們展平。

要保留元素的原始順序,您可以使用 Collectors.toList() 收集結果,這會建立來自展平流的新列表,確保維持元素的順序。

程式碼範例:

List<List<Object>> list = ...; // Initialize your nested list

List<Object> flat = list.stream()
        .flatMap(List::stream)
        .collect(Collectors.toList());

此程式碼首先將巢狀清單轉換為流,使用flatMap 將它們展平為單一串流,最後將結果收集到新的List 中。稱為 Flat,它以相同的迭代順序包含原始嵌套列表中的所有物件。

以上是如何在 Java 8 中有效地展平巢狀清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn