一、概述
Java中的List是常用的集合類之一,它繼承自Collection接口,是一種有序可重複的集合。List提供了許多操作元素的方法,其中retainAll()就是其中之一。retainAll()可以用於保留List中指定集合中的元素,而刪除其他元素。retainAll()返回值為Boolean類型,如果List改變了,則返回true,否則返回false。
二、retainAll()方法的參數
retainAll()方法的參數可以傳入一個Collection對象,可以是List、Set、Queue等實現了Collection接口的集合類。該參數指定的元素集合中的元素將會被保留,其他的元素將會被刪除。
三、retainAll()方法的使用示例
下面我們以一個簡單的示例來演示retainAll()的使用。
List list1 = new ArrayList(); List list2 = new ArrayList(); list1.add("apple"); list1.add("banana"); list1.add("orange"); list1.add("pear"); list2.add("grape"); list2.add("apple"); list2.add("orange"); Boolean result = list1.retainAll(list2); // result為true,list1變為[apple, orange]
在上面的示例中,我們創建了兩個List列表,分別將若干個String類型的元素添加進去,然後將list1列表中不在list2中的元素刪除。最後,我們輸出list1列表,可以看到已經只剩下“apple”和“orange”這兩個元素了。
四、retainAll()方法的注意事項
在使用retainAll()方法時,需要注意以下事項:
- retainAll()方法是直接在原List上操作的,調用該方法後,原List的元素會被修改。
- retainAll()方法並不保證刪除順序,被刪除的元素可能是隨機的。
- 如果retainAll()方法的參數是空的,那麼原List中的所有元素都會被刪除。
- retainAll()方法返回List是否發生變化,可以根據返回值進行邏輯判斷。
五、總結
List的retainAll()方法提供了一種簡單的方法來刪除List中的一些元素,只保留指定的元素。當前List包含的元素不在傳入的參數集合中的元素將被從List中刪除。但需要特別注意的是,retainAll()方法是直接在原List上操作的,可能引起原列表的不可預期修改。
原創文章,作者:GJAUG,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/331809.html