Java ArrayDeque – usuńJeśli()

Java Arraydeque Usunjesli



„java.util.ArrayDeque.removeIf() służy do usuwania poszczególnych elementów z obiektu kolekcji ArrayDeque za pomocą parametru – predykatu. Przyjmuje taki warunek, że jeśli jest prawdziwy, to elementy w obiekcie, które spełniają ten warunek, są usuwane z obiektu kolekcji.”

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.