Java ArrayDeque – removeIf()

Java Arraydeque Removeif



„java.util.ArrayDeque.removeIf() naudojamas tam tikram elementui (-ams) pašalinti iš ArrayDeque rinkinio objekto naudojant parametrą – predikatą. Reikia tokios sąlygos, kad jei ji teisinga, tada šią sąlygą atitinkantys objekto elementai būtų pašalinti iš kolekcijos objekto.

Sintaksė

arraydeque_object. pašalinti Jei ( predikatas filtras_sąlyga )

Kur arraydeque_object atstovauja ArrayDeque kolekciją.







Parametras



Tam reikia predikato, kuris seka sąlygą.



Pastaba





Jei predikatas yra nulis, tai a NullPointerException yra išmestas.

1 pavyzdys

Čia mes sukursime ArrayDeque kolekciją su 5 String tipo elementais ir pašalinsime eilutes, kurios prasideda raide „V“.



importuoti java.util.* ;
importuoti java.util.ArrayDeque ;

viešas klasė Pagrindinis
{
viešas statinis tuštuma pagrindinis ( Styga [ ] args ) {

// Sukurkite ArrayDeque pavadinimu a_deque_object su String tipo
Dequea_deque_object = naujas ArrayDeque ( ) ;

//Įdėkite į jį 5 eilutes.
a_deque_objektas. papildyti ( 'Sailaja' ) ;
a_deque_objektas. papildyti ( 'Farana' ) ;
a_deque_objektas. papildyti ( 'Sėkmė' ) ;
a_deque_objektas. papildyti ( 'Vijaya' ) ;
a_deque_objektas. papildyti ( 'lauke' ) ;

Sistema . išeiti . println ( 'Duomenys, esantys a_deque_object:' + a_deque_objektas ) ;

//Pašalinti eilutes, kurios prasideda raide „V“.
a_deque_objektas. pašalinti Jei ( filtras -> ( filtras. charAt ( 0 ) == 'IN' ) ) ;

Sistema . išeiti . println ( 'Pašalinus pavadinimus, prasideda raide V :' + a_deque_objektas ) ;

}
}

Išvestis:

Taigi matome, kad Vijaya ir Vani yra dvi eilutės, prasidedančios raide „V“, todėl jos pašalinamos iš a_deque_object.

Šiems duomenims filtruoti naudojamas predikatas yra – filtras -> (filter.charAt(0) == ‘V’)

Čia filtras nurodo kintamąjį.

Paaiškinimas

9,18 eilutė:

Sukurkite ArrayDeque pavadinimu a_dequeobject su eilutės tipais ir parodykite jį

21,23 eilutė:

Dabar filtruokite a_deque_object su predikatu - filtras -> (filter.charAt(0) == ‘V’)

2 pavyzdys

Čia mes sukursime ArrayDeque kolekciją su 5 sveikųjų skaičių tipo elementais ir pašalinsime reikšmes, kurios yra didesnės nei 200.

importuoti java.util.* ;
importuoti java.util.ArrayDeque ;

viešas klasė Pagrindinis
{
viešas statinis tuštuma pagrindinis ( Styga [ ] args ) {

// Sukurkite ArrayDeque pavadinimu a_deque_object su sveikojo skaičiaus tipu
Dequea_deque_object = naujas ArrayDeque ( ) ;

//Įdėkite 5 sveikuosius skaičius.
a_deque_objektas. papildyti ( 100 ) ;
a_deque_objektas. papildyti ( 200 ) ;
a_deque_objektas. papildyti ( 300 ) ;
a_deque_objektas. papildyti ( 400 ) ;
a_deque_objektas. papildyti ( 500 ) ;

Sistema . išeiti . println ( 'Duomenys, esantys a_deque_object:' + a_deque_objektas ) ;

//Pašalinkite reikšmes, didesnes nei 200
a_deque_objektas. pašalinti Jei ( filtras -> ( filtras > 200 ) ) ;
Sistema . išeiti . println ( 'Pašalinus didesnes nei 200 vertes: ' + a_deque_objektas ) ;

}
}

Išvestis:

Taigi matome, kad 300 400 ir 500 yra trys reikšmės, kurios yra didesnės nei 200. Taigi jos pašalinamos iš a_deque_object.

Šiems duomenims filtruoti naudojamas predikatas yra – filtras -> (filtras > 200)

Čia filtras nurodo kintamąjį.

Paaiškinimas

9,18 eilutė:

Sukurkite ArrayDeque pavadinimu a_dequeobject su sveikųjų skaičių tipais ir parodykite jį

21,22 eilutė:

Dabar filtruokite a_deque_object su predikatu - filtras -> (filtras > 200)

3 pavyzdys: NullPointerException demonstravimas

Nurodykime Null kaip predikatą.

importuoti java.util.* ;
importuoti java.util.ArrayDeque ;

viešas klasė Pagrindinis
{
viešas statinis tuštuma pagrindinis ( Styga [ ] args ) {

// Sukurkite ArrayDeque pavadinimu a_deque_object su sveikojo skaičiaus tipu
Dequea_deque_object = naujas ArrayDeque ( ) ;

//Įdėkite į jį 5 sveikuosius skaičius.
a_deque_objektas. papildyti ( 100 ) ;
a_deque_objektas. papildyti ( 200 ) ;
a_deque_objektas. papildyti ( 300 ) ;
a_deque_objektas. papildyti ( 400 ) ;
a_deque_objektas. papildyti ( 500 ) ;

Sistema . išeiti . println ( 'Duomenys, esantys a_deque_object:' + a_deque_objektas ) ;

a_deque_objektas. pašalinti Jei ( nulinis ) ;

}
}

Išvestis:

Mes tai matome NullPointerException yra pakeltas.

Išvada

Matėme, kaip pašalinti elementus iš ArrayDeque kolekcijos objekto su predikatu naudojant removeIf() metodą. Įsitikinkite, kad nenurodėte null, nes tai sukelia NullPointerException. Mes aptarėme du pavyzdžius, taikydami skirtingas sąlygas predikatui, taip pat parodėme NullPointerException.