Syntaksi
arraydeque_object. poista Jos ( predikaatti filter_condition )Missä arraydeque_object edustaa ArrayDeque-kokoelmaa.
Parametri
Se vaatii predikaatin, joka seuraa ehtoa.
Merkintä
Jos predikaatti on nolla, niin a NullPointerException heitetään.
Esimerkki 1
Täällä luomme ArrayDeque-kokoelman, jossa on 5 merkkijonotyyppistä elementtiä ja poistamme merkkijonot, jotka alkavat kirjaimella 'V'.
tuonti java.util.* ;
tuonti java.util.ArrayDeque ;
julkinen luokkaa Main
{
julkinen staattinen mitätön pää ( merkkijono [ ] args ) {
// Luo ArrayDeque nimeltä a_deque_object ja merkkijonotyyppi
Dequea_deque_object = Uusi ArrayDeque ( ) ;
//Lisää siihen 5 merkkijonoa.
a_deque_object. lisätä ( 'Sailaja' ) ;
a_deque_object. lisätä ( 'Farana' ) ;
a_deque_object. lisätä ( 'Menestys' ) ;
a_deque_object. lisätä ( 'Vijaya' ) ;
a_deque_object. lisätä ( 'ulkopuolella' ) ;
Järjestelmä . ulos . println ( 'A_deque_objectissa olevat tiedot: ' + a_deque_object ) ;
//Poista merkkijonot, jotka alkavat V:llä.
a_deque_object. poista Jos ( suodattaa -> ( suodattaa. charAt ( 0 ) == 'SISÄÄN' ) ) ;
Järjestelmä . ulos . println ( 'Nimien poistamisen jälkeen alkaa V:llä :' + a_deque_object ) ;
}
}
Lähtö:
Joten voimme nähdä, että Vijaya ja Vani ovat kaksi merkkijonoa, jotka alkavat 'V', joten ne poistetaan a_deque_objectista.
Tässä näiden tietojen suodattamiseen käytetty predikaatti on - suodatin -> (filter.charAt(0) == 'V')
Tässä suodatin viittaa muuttujaan.
Selitys
Rivi 9,18:
Luo ArrayDeque nimeltä a_dequeobject merkkijonotyypeillä ja näytä se
Rivi 21,23:
Suodata nyt a_deque_object predikaatilla - suodatin -> (filter.charAt(0) == 'V')
Esimerkki 2
Täällä luomme ArrayDeque-kokoelman, jossa on 5 Integer-tyyppistä elementtiä ja poistamme arvot, jotka ovat suurempia kuin 200.
tuonti java.util.* ;tuonti java.util.ArrayDeque ;
julkinen luokkaa Main
{
julkinen staattinen mitätön pää ( merkkijono [ ] args ) {
// Luo ArrayDeque, jonka nimi on a_deque_object ja jonka tyyppi on kokonaisluku
Dequea_deque_object = Uusi ArrayDeque ( ) ;
//Lisää siihen 5 kokonaislukua.
a_deque_object. lisätä ( 100 ) ;
a_deque_object. lisätä ( 200 ) ;
a_deque_object. lisätä ( 300 ) ;
a_deque_object. lisätä ( 400 ) ;
a_deque_object. lisätä ( 500 ) ;
Järjestelmä . ulos . println ( 'A_deque_objectissa olevat tiedot: ' + a_deque_object ) ;
//Poista arvot, jotka ovat suuremmat kuin 200
a_deque_object. poista Jos ( suodattaa -> ( suodattaa > 200 ) ) ;
Järjestelmä . ulos . println ( 'Kun olet poistanut arvot, jotka ovat suurempia kuin 200: ' + a_deque_object ) ;
}
}
Lähtö:
Joten voimme nähdä, että 300 400 ja 500 ovat kolme arvoa, jotka ovat suurempia kuin 200. Joten ne poistetaan a_deque_objectista.
Tässä näiden tietojen suodattamiseen käytetty predikaatti on - suodatin -> (suodatin > 200)
Tässä suodatin viittaa muuttujaan.
Selitys
Rivi 9,18:
Luo ArrayDeque nimeltä a_dequeobject kokonaislukutyypeillä ja näytä se
Rivi 21,22:
Suodata nyt a_deque_object predikaatilla - suodatin -> (suodatin > 200)
Esimerkki 3: NullPointerExceptionin osoittaminen
Määritetään Null predikaatiksi.
tuonti java.util.* ;tuonti java.util.ArrayDeque ;
julkinen luokkaa Main
{
julkinen staattinen mitätön pää ( merkkijono [ ] args ) {
// Luo ArrayDeque, jonka nimi on a_deque_object ja jonka tyyppi on kokonaisluku
Dequea_deque_object = Uusi ArrayDeque ( ) ;
//Lisää siihen 5 kokonaislukua.
a_deque_object. lisätä ( 100 ) ;
a_deque_object. lisätä ( 200 ) ;
a_deque_object. lisätä ( 300 ) ;
a_deque_object. lisätä ( 400 ) ;
a_deque_object. lisätä ( 500 ) ;
Järjestelmä . ulos . println ( 'A_deque_objectissa olevat tiedot: ' + a_deque_object ) ;
a_deque_object. poista Jos ( tyhjä ) ;
}
}
Lähtö:
Voimme nähdä sen NullPointerException on nostettu.
Johtopäätös
Näimme kuinka poistaa elementit ArrayDeque-kokoelmaobjektista Predikaatilla käyttämällä removeIf()-menetelmää. Varmista, että et määritä tyhjää, koska se johtaa NullPointerExceptioniin. Keskustelimme kahdesta esimerkistä soveltamalla erilaisia ehtoja predikaatissa ja osoitimme myös NullPointerExceptionin.