如果你是一個Java開發者,你一定知道Collections類提供了豐富的方法來處理Java中的List、Set和Map集合類型。在這些方法中,retainAll()方法是一個非常值得注意的方法。
背景
在Java中的List和Set集合類型中,都有一個方法叫做retainAll(),它的作用是保留集合中與另一個集合相同的元素,也就是說,將當前集合中不在另一個集合里的元素刪除。例如,假設有一個包含1、2、3、4的List集合,另一個包含1、2、7的List集合,調用retainAll()方法後,第一個集合將只包含1、2兩個元素。
優點
retainAll()方法非常簡便,可以方便快捷地實現兩個List或Set集合的求交集。
retainAll()方法也是比較高效的。如果我們使用傳統的for循環來做兩個List求交集的操作,時間複雜度是O(n^2),而使用retainAll()方法則可以達到O(n)的時間複雜度。
使用方法
retainAll()方法的使用非常簡單,只需要對兩個集合調用retainAll()方法即可。下面是一個示例:
List<Integer> list1 = new ArrayList<>(Arrays.asList(1,2,3,4)); List<Integer> list2 = new ArrayList<>(Arrays.asList(1,2,7)); list1.retainAll(list2); System.out.println(list1); // 輸出 [1, 2]
小結
Java的retainAll()方法提供了一種非常簡便、高效的方式來求兩個List或Set集合的交集,它的使用非常簡單,我們只需要調用方法,傳入另一個集合即可。在實際開發中,我們可以使用retainAll()方法來處理對集合求交集的操作。
原創文章,作者:KEORS,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/317645.html