從兩個清單中檢索公共元素
在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中文網其他相關文章!