Метод AbstractCollection keepAll () в Java с примерами
Опубликовано: 1 Марта, 2022
Метод keepAll () в AbstractCollection помогает сохранить элементы указанной коллекции из другой коллекции и удаляет несопоставленные элементы из результата.
Синтаксис:
public boolean keepAll (Коллекция Коллекция)
Параметры: этот метод принимает коллекцию параметров, которая представляет собой коллекцию, содержащую элементы, которые необходимо сохранить.
Возвращаемое значение: метод возвращает логическое значение . Он возвращает «истину», если элементы в коллекциях успешно сохранены, а если нет, возвращается значение «ложь».
Исключения: этот метод вызывает следующие исключения:
- UnsupportedOperationException: если метод keepAll () не поддерживается коллекцией.
- ClassCastException: если тип любого элемента основной коллекции несовместим с указанной коллекцией (то есть должен быть сохранен). Это необязательно.
- NullPointerException: если основная коллекция состоит из любого нулевого элемента, а указанная коллекция не допускает никаких нулевых значений или если указанная коллекция имеет нулевой элемент (ы). Это необязательно.
Ниже приведены несколько примеров, иллюстрирующих использование метода keepAll ():
Program 1
// Java program to illustrate retainAll() method import java.util.*; public class AbstractCollectionDemo { public static void main(String[] args) { // Creating an arraylist AbstractCollection<Object> set1 = new ArrayList<Object>(); // adding values in set 1 list set1.add( "one" ); set1.add( "two" ); set1.add( "three" ); // creating another arraylist AbstractCollection<Object> set2 = new ArrayList<Object>(); // adding values in set 2 list set2.add( "three" ); set2.add( "one" ); set2.add( "five" ); // before invoking retainAll() System.out.println( "Set 1 contains:
" + set1 + "
" ); System.out.println( "Set 2 contains:
" + set2 + "
" ); // invoking retainAll() set2.retainAll(set1); // after invoking retainAll() System.out.println( "Set 2 after" + " invoking retainAll() method:
" + set2); } } |
Output:
Set 1 contains: [one, two, three] Set 2 contains: [three, one, five] Set 2 after invoking retainAll() method: [three, one]
Program 2: To show NullPointerException
// Java program to illustrate retainAll() method import java.util.*; public class NullPointerExample { public static void main(String[] args) { // Creating an arraylist // and assigning null to it AbstractCollection<Object> set1 = null ; // creating another arraylist AbstractCollection<Object> set2 = new ArrayList<Object>(); // adding values in set 2 list set2.add( "one" ); set2.add( "two" ); set2.add( "three" ); // before invoking retainAll() System.out.println( "Set 1 contains:" + set1 + "
" ); System.out.println( "Set 2 contains:" + set2 + "
" ); try { // invoking retainAll() set2.retainAll(set1); // after invoking retainAll() System.out.println( "Set 2 after invoking " + "retainAll() method:
" + set2); } catch (Exception e) { System.out.println(e); } } } |
Output:
Set 1 contains:null Set 2 contains:[one, two, three] java.lang.NullPointerException