Java 8 | Метод ArrayDeque removeIf () в Java с примерами

Опубликовано: 12 Февраля, 2022

Метод removeIf () класса ArrayDeque используется для удаления всех тех элементов из ArrayDeque, которые удовлетворяют заданному условию фильтра предиката, переданному в качестве параметра метода. Этот метод возвращает истину, если какой-либо элемент удаляется из вектора.

Java 8 имеет важный встроенный функциональный интерфейс, который называется Predicate. Предикат, или функция проверки условий, которая проверяет данный ввод для данного условия и возвращает логический результат для того же самого, указывающий, было ли выполнено условие или нет.

Синтаксис:

 public boolean removeIf (фильтр Predicate <? super E>)

Параметр: этот метод принимает фильтр параметров, который представляет предикат, возвращающий истину для элементов, которые необходимо удалить.

Returns: этот метод возвращает True, если предикат возвращает true и некоторые элементы были удалены.

Исключение: этот метод генерирует исключение NullPointerException, если указанный фильтр имеет значение NULL.

Ниже приведены программы, иллюстрирующие метод removeIf () для ArrayDeque:

Example 1: To demonstrate removeIf() method on ArrayDeque which contains a set of String and remove strings starts with A.

// Java Program Demonstrate removeIf()
// method of ArrayDeque
  
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create an ArrayDeque
        // containing a list of string values
        ArrayDeque<String> students = new ArrayDeque<String>();
  
        // Add Strings to list
        // each string represents student name
        students.add("Aman");
        students.add("Sanjeet");
        students.add("Amar");
        students.add("Rabi");
        students.add("Shabbir");
  
        // apply removeIf() method
        // to remove names which start with A
        students.removeIf(n -> (n.charAt(0) == "A"));
  
        System.out.println("Students name do not starts with A");
  
        // print list
        for (String str : students) {
            System.out.println(str);
        }
    }
}
Output:
Students name do not starts with A
Sanjeet
Rabi
Shabbir

Example 2: To demonstrate removeIf() method on ArrayDeque which contains set of Students objects to remove all those students who got less than 40 marks.

// Java Program Demonstrate removeIf()
// method of ArrayDeque
  
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create an ArrayDeque
        // containing a list of Student objects
        ArrayDeque<student> students = new ArrayDeque<student>();
  
        // Add student object to list
        students.add(new student("Aman", 78));
        students.add(new student("Amar", 79));
        students.add(new student("Suraj", 38));
        students.add(new student("Raju", 22));
        students.add(new student("Ankit", 76));
        students.add(new student("Sanju", 62));
  
        // apply removeIf() method
        // to remove students who scores below 40
        students.removeIf(n -> (n.marks <= 40));
  
        System.out.println("Students list who score above 40");
  
        // print list
        for (student str : students) {
            System.out.println(str.name + ", " + str.marks);
        }
    }
}
  
// create student class
class student {
  
    public String name;
    public int marks;
  
    student(String name, int marks)
    {
        this.name = name;
        this.marks = marks;
    }
}
Output:
Students list who score above 40
Aman, 78
Amar, 79
Ankit, 76
Sanju, 62

Example 3: To demonstrate NullpointerException in removeIf() method.

// Java Program Demonstrate removeIf()
// method of ArrayDeque
  
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // create an ArrayDeque
        // containing a list of string values
        ArrayDeque<String> students = new ArrayDeque<String>();
  
        // Add Strings to list
        // each string represents student name
        students.add("Aman");
        students.add("Sanjeet");
        students.add("Amar");
        students.add("Rabi");
        students.add("Shabbir");
  
        try {
            // apply removeIf() method with null filter
            students.removeIf(null);
        }
        catch (Exception e) {
            System.out.println("Exception: " + e);
        }
    }
}
Output:
Exception: java.lang.NullPointerException

Ссылка: https://docs.oracle.com/javase/10/docs/api/java/util/ArrayDeque.html#removeIf(java.util.function.Predicate)

Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .