Java ArrayList retainAll() 方法



描述

Java ArrayList retainAll(Collection<?> c) 方法保留此 ArrayList 中僅存在於提供的集合中的元素。或者我們可以說,此方法刪除此列表中未包含在指定集合中的元素。

宣告

以下是java.util.ArrayList.retainAll() 方法的宣告

public boolean retainAll(Collection<?> c)

引數

c − 包含要在此列表中保留的元素的集合。

返回值

如果此列表由於呼叫而更改,則此方法返回 true。

異常

ClassCastException − 如果此列表的元素的類與指定的集合不相容。

NullPointerException − 如果此列表包含空元素且指定的集合不允許空元素(可選),或者如果指定的集合為空。

保留整數 ArrayList 的多個元素同時刪除其他元素的示例

以下示例顯示了 Java ArrayList retainAll(collection) 方法的用法。我們正在建立一個整數 ArrayList,新增一些元素,列印它,然後使用 retainAll(collection) 方法保留一些元素。由於 ArrayList 已修改,因此列印它以檢查是否刪除了指定的元素。

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.Arrays;

public class ArrayListDemo {
   public static void main(String[] args) {
      
      // create an empty array list
      ArrayList<Integer> arrayList = new ArrayList<>();

      // use add() method to add elements in the arrayList
      arrayList.add(20);
      arrayList.add(15);
      arrayList.add(30);
      arrayList.add(45);

      // let us print all the elements available in arrayList
      System.out.println("ArrayList = " + arrayList);

      // it will retain two common elements
      System.out.println("ArrayList modified:  " + arrayList.retainAll(Arrays.asList(11,30,20,12)));
	  
      // let us print all the elements available in arrayList again
      System.out.println("ArrayList = " + arrayList);
   } 	
}   

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

ArrayList = [20, 15, 30, 45]
ArrayList modified:  true
ArrayList = [20, 30]

保留字串 ArrayList 的多個元素同時刪除其他元素的示例

以下示例顯示了 Java ArrayList retainAll(collection) 方法的用法。我們正在建立一個字串 ArrayList,新增一些元素,列印它,然後使用 retainAll(collection) 方法刪除一些元素。由於 ArrayList 已修改,因此列印它以檢查是否刪除了指定的元素。

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.Arrays;

public class ArrayListDemo {
   public static void main(String[] args) {
      
      // create an empty array list
      ArrayList<String> arrayList = new ArrayList<>();

      // use add() method to add elements in the arrayList
      arrayList.add("A");
      arrayList.add("B");
      arrayList.add("C");
      arrayList.add("D");

      // let us print all the elements available in arrayList
      System.out.println("ArrayList = " + arrayList);

      // it will retain two common elements
      System.out.println("ArrayList modified:  " + arrayList.retainAll(Arrays.asList("B","C","E")));
	  
      // let us print all the elements available in arrayList again
      System.out.println("ArrayList = " + arrayList);
   }
}   

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

ArrayList = [A, B, C, D]
ArrayList modified:  true
ArrayList = [B, C]

保留物件 ArrayList 的多個元素同時刪除其他元素的示例

以下示例顯示了 Java ArrayList retainAll(collection) 方法的用法。我們正在建立一個 Student 物件的 ArrayList,新增一些元素,列印它,然後使用 retainAll(collection) 方法刪除一些元素。由於 ArrayList 已修改,因此列印它以檢查是否刪除了指定的元素。

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.Arrays;

public class ArrayListDemo {
   public static void main(String[] args) {
      
      // create an empty array list
      ArrayList<Student> arrayList = new ArrayList<>();

      // use add() method to add elements in the arrayList
      arrayList.add(new Student(1, "Julie"));
      arrayList.add(new Student(2, "Robert"));
      arrayList.add(new Student(3, "Adam"));
      arrayList.add(new Student(4, "Jene"));

      // let us print all the elements available in arrayList
      System.out.println("ArrayList = " + arrayList);

      // it will retain two common elements
      System.out.println("ArrayList modified:  " + arrayList.retainAll(Arrays.asList(new Student(1, "Julie"),new Student(3, "Adam"))));
	  
      // let us print all the elements available in arrayList again
      System.out.println("ArrayList = " + arrayList);
   }
}
class Student {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
   
   @Override
   public boolean equals(Object obj) {
      Student s = (Student)obj;
      return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
   }
}   

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

ArrayList = [[ 1, Julie ], [ 2, Robert ], [ 3, Adam ], [ 4, Jene ]]
ArrayList modified:  true
ArrayList = [[ 1, Julie ], [ 3, Adam ]]
java_util_arraylist.htm
廣告