Java ArrayList сохраняет все ()

Метод Java ArrayList keepAll () сохраняет только те элементы в arrayylist, которые также присутствуют в указанной коллекции.

И все те элементы, которых нет в указанной коллекции, удаляются из Arraylist.

Синтаксис retainAll()метода:

 arraylist.retainAll(Collection c);

Здесь arrayylist - это объект ArrayListкласса.

Параметры keepAll ()

retainAll()Метод принимает один параметр.

  • collection - только те элементы, которые присутствуют в коллекции, сохраняются в arraylist.

keepAll () Возвращаемое значение

  • возвращается, trueесли элементы удалены из массива
  • выбрасывает, ClassCastExceptionесли класс элементов, представленных в arraylist, несовместим с классом элементов в указанной коллекции
  • выбрасывает, NullPointerExceptionесли arrayylist содержит нулевой элемент, а указанная коллекция не допускает нулевые элементы

Пример 1: Java ArrayList keepAll ()

 import java.util.ArrayList; class Main ( public static void main(String() args) ( // create an ArrayList ArrayList languages1 = new ArrayList(); // insert element to the ArrayList languages1.add("JavaScript"); languages1.add("Python"); languages1.add("Java"); System.out.println("ArrayList 1: " + languages1); // create another ArrayList ArrayList languages2 = new ArrayList(); // add elements to ArrayList languages2.add("English"); languages2.add("Java"); languages2.add("Python"); System.out.println("ArrayList 2: " + languages2); // retain the common element languages1.retainAll(languages2); System.out.println("Common Elements: " + languages1); ) )

Вывод

 ArrayList 1: (JavaScript, Python, Java) ArrayList 2: (английский, Java, Python) Общие элементы: (Python, Java)

В приведенном выше примере мы создали два массива с именами languages1 и languages2. Обратите внимание на линию,

 languages1.retainAll(languages2);

Здесь мы передаем Arraylist languages2 в качестве аргумента retainAll()метода. Метод удаляет все элементы из languages1, которых нет в languages2. Следовательно, сохраняются только общие элементы.

Пример 2: Показать общие элементы между ArrayList и HashSet

 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); System.out.println("ArrayList: " + numbers); // create a HashSet HashSet primeNumbers = new HashSet(); // add elements to HashSet primeNumbers.add(2); primeNumbers.add(3); primeNumbers.add(5); System.out.println("HashSet: " + primeNumbers); // retain common elements in the ArrayList numbers.retainAll(primeNumbers); System.out.println("Common Elements: " + numbers); ) )

Вывод

 ArrayList: (1, 2, 3) HashSet: (2, 3, 5) Общие элементы: (2, 3)

В приведенном выше примере мы создали массив с именем numbers и хэш-набор с именем primeNumbers. Обратите внимание на линию,

 numbers.retainAll(primeNumbers);

Здесь retainAll()метод удаляет все те элементы из чисел, которых нет в primeNumbers. И сохраняет только общие элементы. Следовательно, 2 и 3 сохраняются в номерах arraylist.

Интересные статьи...