Sintaksa
arraydeque_object. odstraniIf ( predikat filter_pogoj )Kje arraydeque_object predstavlja zbirko ArrayDeque.
Parameter
Potrebuje predikat, ki sledi pogoju.
Opomba
Če je predikat nič, potem a NullPointerException je vržen.
Primer 1
Tukaj bomo ustvarili zbirko ArrayDeque s 5 elementi tipa String in odstranili nize, ki se začnejo z 'V'.
uvoz java.util.* ;
uvoz java.util.ArrayDeque ;
javnosti razred Glavni
{
javnosti statična praznina glavni ( Vrvica [ ] args ) {
// Ustvari ArrayDeque z imenom a_deque_object z vrsto String
Dequea_deque_object = novo ArrayDeque ( ) ;
//Vanj vstavite 5 nizov.
a_deque_object. dodati ( 'Sailaja' ) ;
a_deque_object. dodati ( 'Farana' ) ;
a_deque_object. dodati ( 'Uspeh' ) ;
a_deque_object. dodati ( 'Vijaya' ) ;
a_deque_object. dodati ( 'zunaj' ) ;
Sistem . ven . println ( 'Podatki so v a_deque_object: ' + a_deque_object ) ;
//Odstrani nize, ki se začnejo z 'V'.
a_deque_object. odstraniIf ( filter -> ( filter. charAt ( 0 ) == 'V' ) ) ;
Sistem . ven . println ( 'Po odstranitvi se imena začnejo z V:' + a_deque_object ) ;
}
}
Izhod:
Tako lahko vidimo, da sta Vijaya in Vani dva niza, ki se začneta z 'V', zato sta odstranjena iz a_deque_object.
Tukaj je predikat, uporabljen za filtriranje teh podatkov – filter -> (filter.charAt(0) == 'V')
Tu se filter nanaša na spremenljivko.
Razlaga
Vrstica 9,18:
Ustvarite ArrayDeque z imenom a_dequeobject z vrstami nizov in ga prikažite
Vrstica 21,23:
Zdaj filtrirajte a_deque_object s predikatom – filter -> (filter.charAt(0) == 'V')
Primer 2
Tukaj bomo ustvarili zbirko ArrayDeque s 5 elementi tipa Integer in odstranili vrednosti, ki so večje od 200.
uvoz java.util.* ;uvoz java.util.ArrayDeque ;
javnosti razred Glavni
{
javnosti statična praznina glavni ( Vrvica [ ] args ) {
// Ustvari ArrayDeque z imenom a_deque_object s tipom Integer
Dequea_deque_object = novo ArrayDeque ( ) ;
//Vanj vstavi 5 celih števil.
a_deque_object. dodati ( 100 ) ;
a_deque_object. dodati ( 200 ) ;
a_deque_object. dodati ( 300 ) ;
a_deque_object. dodati ( 400 ) ;
a_deque_object. dodati ( 500 ) ;
Sistem . ven . println ( 'Podatki so v a_deque_object: ' + a_deque_object ) ;
//Odstrani vrednosti, večje od 200
a_deque_object. odstraniIf ( filter -> ( filter > 200 ) ) ;
Sistem . ven . println ( 'Po odstranitvi vrednosti, večjih od 200: ' + a_deque_object ) ;
}
}
Izhod:
Tako lahko vidimo, da so 300,400 in 500 tri vrednosti, ki so večje od 200. Torej so odstranjene iz a_deque_object.
Tukaj je predikat, uporabljen za filtriranje teh podatkov – filter -> (filter > 200)
Tu se filter nanaša na spremenljivko.
Razlaga
Vrstica 9,18:
Ustvarite ArrayDeque z imenom a_dequeobject s tipi Integer in ga prikažite
Vrstica 21,22:
Zdaj filtrirajte a_deque_object s predikatom – filter -> (filter > 200)
Primer 3: Prikaz izjeme NullPointerException
Določimo Null kot predikat.
uvoz java.util.* ;uvoz java.util.ArrayDeque ;
javnosti razred Glavni
{
javnosti statična praznina glavni ( Vrvica [ ] args ) {
// Ustvari ArrayDeque z imenom a_deque_object s tipom Integer
Dequea_deque_object = novo ArrayDeque ( ) ;
//Vanj vstavi 5 celih števil.
a_deque_object. dodati ( 100 ) ;
a_deque_object. dodati ( 200 ) ;
a_deque_object. dodati ( 300 ) ;
a_deque_object. dodati ( 400 ) ;
a_deque_object. dodati ( 500 ) ;
Sistem . ven . println ( 'Podatki so v a_deque_object: ' + a_deque_object ) ;
a_deque_object. odstraniIf ( nič ) ;
}
}
Izhod:
To lahko vidimo NullPointerException je dvignjen.
Zaključek
Videli smo, kako odstraniti elemente iz predmeta zbirke ArrayDeque s predikatom z uporabo metode removeIf(). Prepričajte se, da ne navedete null, saj povzroči izjemo NullPointerException. Razpravljali smo o dveh primerih z uporabo različnih pogojev v predikatu in tudi prikazali izjemo NullPointerException.