📜  Java ArrayList removeAll()

📅  最后修改于: 2020-09-27 00:25:05             🧑  作者: Mango

Java ArrayList removeAll()方法从arraylist中删除指定集合中也存在的所有元素。

removeAll()方法的语法为:

arraylist.removeAll(Collection c);

在这里, arraylistArrayList类的对象。


removeAll()参数

removeAll()方法采用单个参数。

  • 存在于收集 的收集 -所有元素从数组列表中删除。

removeAll()返回值
  • 如果从arraylist中删除元素,则返回true
  • 如果arraylist中存在的元素类与指定集合中的元素类不兼容,则抛出ClassCastException
  • 如果arraylist包含null元素,并且指定的集合不允许null元素,则抛出NullPointerException

示例1:从ArrayList中删除所有元素
import java.util.ArrayList;

class Main {
    public static void main(String[] args){

        // create an arraylist
        ArrayList languages = new ArrayList<>();

        // add elements to arraylist
        languages.add("Java");
        languages.add("JavaScript");
        languages.add("Python");
        System.out.println("Programming Languages: " + languages);

        // remove all elements from arraylist
        languages.removeAll(languages);
        System.out.println("ArrayList after removeAll(): " + languages);
    }
}

输出

Programming Languages: [Java, JavaScript, Python]
ArrayList after removeAll(): []

在上面的示例中,我们创建了一个名为language的数组列表。 arraylist存储编程语言的名称。注意这一行,

languages.removeAll(languages);

在这里,我们将ArrayList 语言作为removeAll()方法的参数传递。因此,该方法从arraylist中删除所有元素。

注意 :首选使用clear()方法从arraylist中删除所有元素。要了解更多信息,请访问Java ArrayList clear()。


示例2:从另一个ArrayList中存在的ArrayList中删除所有元素
import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        // create an ArrayList
        ArrayList languages1 = new ArrayList<>();

        // insert element at the end of arraylist
        languages1.add("Java");
        languages1.add("English");
        languages1.add("C");
        languages1.add("Spanish");
        System.out.println("Languages1: " + languages1);

        // create another arraylist
        ArrayList languages2 = new ArrayList<>();

        // add elements to the arraylist
        languages2.add("English");
        languages2.add("Spanish");
        System.out.println("Languages2: " + languages2);

        // remove all elements of ArrayList2 from ArrayList1
        languages1.removeAll(languages2);
        System.out.println("Languages1 after removeAll(): " + languages1);
    }
}

输出

Languages1: [Java, English, C, Spanish]
Languages2: [English, Spanish]
Languages1 after removeAll(): [Java, C]

在上面的示例中,我们创建了两个数组列表,名为language1language2 。注意这一行,

languages1.removeAll(languages2);

在此, removeAll()方法被用来去除所有从languages1其也存在于languages2那些元素。因此, 英语西班牙语已从语言1中删除。


示例3:从HashSet中存在的ArrayList中删除所有元素
import java.util.ArrayList;
import java.util.HashSet;

class Main {
    public static void main(String[] args) {
        // create an ArrayList
        ArrayList numbers = new ArrayList<>();

        // add element to ArrayList
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        System.out.println("ArrayList: " + numbers);

        // create a HashSet
        HashSet primeNumbers = new HashSet<>();

        // add elements to the HashSet
        primeNumbers.add(2);
        primeNumbers.add(3);
        System.out.println("HashSet: " + primeNumbers);

        // remove all elements of HashSet from ArrayList
        numbers.removeAll(primeNumbers);
        System.out.println("ArrayList after removeAll(): " + numbers);
    }
}

输出

ArrayList: [1, 2, 3, 4]
HashSet: [2, 3]
ArrayList after removeAll(): [1, 4]

在上面的示例中,我们创建了一个名为numbers的数组列表和一个名为primeNumbers的哈希集。注意这一行,

numbers.removeAll(primeNumbers);

在这里, removeAll()方法从primeNumbers中也存在的数字中删除所有这些元素。因此,图23从数组列表号码删除。