首頁 > Java > java教程 > Java中如何有效率地找出兩個清單之間的共同元素?

Java中如何有效率地找出兩個清單之間的共同元素?

Mary-Kate Olsen
發布: 2024-12-08 10:57:16
原創
233 人瀏覽過

How Can I Efficiently Find Common Elements Between Two Lists in Java?

從兩個清單中檢索公共元素

在Java 中使用集合時,您可能會遇到需要尋找共享公共元素的情況通過多個列表。您可以採取多種方法來完成此任務。

使用 Collection#retainAll()

Collection#retainAll() 方法提供了一個簡單的解決方案來尋找常見的元素。它透過刪除未包含在指定集合 (listB) 中的所有元素來更新呼叫清單 (listA)。這實際上只保留了公共元素。

listA.retainAll(listB); // listA now contains only common elements
登入後複製

建立新列表

如果您希望保留原始列表,您可以建立一個名為 common 的新列表。該清單最初填入了 listA 中的元素,然後使用 keepAll() 方法過濾掉非公共元素。

List<Integer> common = new ArrayList<>(listA);
common.retainAll(listB); // common now contains only common elements
登入後複製

利用 Stream#filter()

對於喜歡流的人,您可以利用 Stream#filter() 方法。此方法涉及使用 Collection#contains() 檢查 listA 中的每個元素是否存在於 listB 中。滿足此條件的元素將會新增到公共清單中。

List<Integer> common = listA.stream().filter(listB::contains).toList(); // common now contains only common elements
登入後複製

注意:雖然此方法提供了彈性,但它往往比其他方法慢。

以上是Java中如何有效率地找出兩個清單之間的共同元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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