首頁 > Java > java教程 > 如何在Java中連接列表而不修改原始列表?

如何在Java中連接列表而不修改原始列表?

Susan Sarandon
發布: 2024-12-01 05:39:14
原創
963 人瀏覽過

How to Concatenate Lists in Java Without Modifying the Originals?

在Java 中連接列表而不改變原始列表

在Java 中,將多個列表組合成一個新列表是一項常見任務。但是,問題中提到的方法需要修改原始列表,這可能並不總是可取的。

Java 8 Stream Concatenation

Java 8 引入了 Stream API ,它提供了一種更簡潔且不可變的方式來操作集合。對於列表串聯,您可以使用concat() 方法來合併兩個列表的流:

List<String> newList = Stream.concat(listOne.stream(), listTwo.stream())
                             .collect(Collectors.toList());
登入後複製

此方法創建一個新列表而不更改原始列表,因為它對本質上是包裝器的流進行操作來源集合。

Java 16 toList() 改進

來自從Java 16 開始,使用更新的toList() 方法可以使用更簡單的方法:

List<String> newList = Stream.concat(listOne.stream(), listTwo.stream()).toList();
登入後複製

這透過消除對collect() 操作的需要來簡化程式碼,進一步簡化列表串聯過程。

獎勵:JDK 1.3 版本

對於JDK 1.3,您可以使用以下技術:

List<String> newList = new ArrayList<String>(listOne.size() + listTwo.size());
newList.addAll(listOne);
newList.addAll(listTwo);
登入後複製

此方法建立一個新的ArrayList,其大小可容納兩個原始列表,然後新增每個列表中的元素。雖然它不像基於流的方法那麼簡潔,但它仍然提供了不可變的結果。

以上是如何在Java中連接列表而不修改原始列表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板