Składnia
arraydeque_object. usuńJeśli ( predykat filtr_warunek )Gdzie arraydeque_object reprezentuje kolekcję ArrayDeque.
Parametr
Zajmuje predykat następujący po warunku.
Notatka
Jeśli predykat jest pusty, to a NullPointerException Jest rzucony.
Przykład 1
Tutaj utworzymy kolekcję ArrayDeque z 5 elementami typu String i usuniemy ciągi zaczynające się od „V”.
import java.util.* ;
import java.util.ArrayDeque ;
publiczny klasa Główny
{
publiczny statyczny próżnia Główny ( Strunowy [ ] argumenty ) {
// Utwórz ArrayDeque o nazwie a_deque_object z typem String
Dequea_deque_object = Nowy ArrayDeque ( ) ;
//Wstaw do niego 5 ciągów.
a_deque_object. Dodaj ( „Sailja” ) ;
a_deque_object. Dodaj ( „Farana” ) ;
a_deque_object. Dodaj ( 'Powodzenie' ) ;
a_deque_object. Dodaj ( „Widźaja” ) ;
a_deque_object. Dodaj ( 'poza' ) ;
System . na zewnątrz . drukuj ( 'Dane obecne w a_deque_object: ' + a_deque_object ) ;
//Usuń ciągi zaczynające się od 'V'.
a_deque_object. usuńJeśli ( filtr -> ( filtr. charAt ( 0 ) == 'W' ) ) ;
System . na zewnątrz . drukuj ( 'Po usunięciu nazw zaczyna się od V:' + a_deque_object ) ;
}
}
Wyjście:
Widzimy więc, że Vijaya i Vani to dwa ciągi zaczynające się na „V”, więc są usuwane z obiektu a_deque_object.
Tutaj predykat używany do filtrowania tych danych to – filtr -> (filter.charAt(0) == ‘V’)
Tutaj filtr odnosi się do zmiennej.
Wyjaśnienie
Linia 9,18:
Utwórz ArrayDeque o nazwie a_dequeobject z typami String i wyświetl go
Linia 21,23:
Teraz przefiltruj a_deque_object z predykatem – filtr -> (filter.charAt(0) == ‘V’)
Przykład 2
Tutaj utworzymy kolekcję ArrayDeque z 5 elementami typu Integer i usuniemy wartości większe niż 200.
import java.util.* ;import java.util.ArrayDeque ;
publiczny klasa Główny
{
publiczny statyczny próżnia Główny ( Strunowy [ ] argumenty ) {
// Utwórz ArrayDeque o nazwie a_deque_object z typem Integer
Dequea_deque_object = Nowy ArrayDeque ( ) ;
//Wstaw do niego 5 liczb całkowitych.
a_deque_object. Dodaj ( 100 ) ;
a_deque_object. Dodaj ( 200 ) ;
a_deque_object. Dodaj ( 300 ) ;
a_deque_object. Dodaj ( 400 ) ;
a_deque_object. Dodaj ( 500 ) ;
System . na zewnątrz . drukuj ( 'Dane obecne w a_deque_object: ' + a_deque_object ) ;
//Usuń wartości większe niż 200
a_deque_object. usuńJeśli ( filtr -> ( filtr > 200 ) ) ;
System . na zewnątrz . drukuj ( 'Po usunięciu wartości większych niż 200:' + a_deque_object ) ;
}
}
Wyjście:
Widzimy więc, że 300,400 i 500 to trzy wartości większe niż 200. Więc są one usuwane z obiektu a_deque_object.
Tutaj predykat używany do filtrowania tych danych to – filtr -> (filtr > 200)
Tutaj filtr odnosi się do zmiennej.
Wyjaśnienie
Linia 9,18:
Utwórz ArrayDeque o nazwie a_dequeobject z typami Integer i wyświetl go
Linia 21,22:
Teraz przefiltruj a_deque_object z predykatem – filtr -> (filtr > 200)
Przykład 3: Demonstrowanie wyjątku NullPointerException
Określmy Null jako predykat.
import java.util.* ;import java.util.ArrayDeque ;
publiczny klasa Główny
{
publiczny statyczny próżnia Główny ( Strunowy [ ] argumenty ) {
// Utwórz ArrayDeque o nazwie a_deque_object z typem Integer
Dequea_deque_object = Nowy ArrayDeque ( ) ;
//Wstaw do niego 5 liczb całkowitych.
a_deque_object. Dodaj ( 100 ) ;
a_deque_object. Dodaj ( 200 ) ;
a_deque_object. Dodaj ( 300 ) ;
a_deque_object. Dodaj ( 400 ) ;
a_deque_object. Dodaj ( 500 ) ;
System . na zewnątrz . drukuj ( 'Dane obecne w a_deque_object: ' + a_deque_object ) ;
a_deque_object. usuńJeśli ( zero ) ;
}
}
Wyjście:
Widzimy to NullPointerException jest podniesiony.
Wniosek
Widzieliśmy, jak usunąć elementy z obiektu kolekcji ArrayDeque za pomocą Predicate przy użyciu metody removeIf(). Upewnij się, że nie określisz wartości null, ponieważ powoduje to wyjątek NullPointerException. Omówiliśmy dwa przykłady, stosując różne warunki w predykacie, a także zademonstrowaliśmy NullPointerException.