Java ArrayDeque – removeIf()

Java Arraydeque Removeif



“java.util.ArrayDeque.removeIf() se používá k odstranění konkrétních prvků z objektu kolekce ArrayDeque pomocí parametru – predikátu. Vyžaduje takovou podmínku, že pokud je pravdivá, pak jsou prvky v objektu, které splňují tuto podmínku, odstraněny z objektu kolekce.“

Syntax

arraydeque_object. odstranitIf ( predikát podmínka_filtru )

Kde arraydeque_object představuje kolekci ArrayDeque.







Parametr



Vyžaduje predikát, který následuje podmínku.



Poznámka





Pokud je predikát nulový, pak a Výjimka NullPointerException je hozen.

Příklad 1

Zde vytvoříme kolekci ArrayDeque s 5 prvky typu String a odstraníme řetězce, které začínají na „V“.



import java.util.* ;
import java.util.ArrayDeque ;

veřejnost třída Hlavní
{
veřejnost statický prázdnota hlavní ( Tětiva [ ] argumenty ) {

// Vytvoří ArrayDeque s názvem a_deque_object s typem String
Dequea_deque_object = Nový ArrayDeque ( ) ;

//Vložte do něj 5 řetězců.
a_deque_object. přidat ( 'Sailaja' ) ;
a_deque_object. přidat ( 'Farana' ) ;
a_deque_object. přidat ( 'Úspěch' ) ;
a_deque_object. přidat ( 'vidžaja' ) ;
a_deque_object. přidat ( 'mimo' ) ;

Systém . ven . println ( 'Data přítomná v a_deque_object: ' + a_deque_object ) ;

//Odstranění řetězců začíná na 'V'.
a_deque_object. odstranitIf ( filtr -> ( filtr. charAt ( 0 ) == 'V' ) ) ;

Systém . ven . println ( 'Po odstranění jmen začíná V:' + a_deque_object ) ;

}
}

Výstup:

Takže vidíme, že Vijaya a Vani jsou dva řetězce začínající na „V“, takže jsou odstraněny z a_deque_object.

Zde je predikát použitý k filtrování těchto dat – filtr -> (filter.charAt(0) == ‘V’)

Zde se filtr odkazuje na proměnnou.

Vysvětlení

Řádek 9,18:

Vytvořte ArrayDeque s názvem a_dequeobject s typy String a zobrazte jej

Řádek 21,23:

Nyní filtrujte a_deque_object s predikátem – filtr -> (filter.charAt(0) == ‘V’)

Příklad 2

Zde vytvoříme kolekci ArrayDeque s 5 prvky typu Integer a odstraníme hodnoty, které jsou větší než 200.

import java.util.* ;
import java.util.ArrayDeque ;

veřejnost třída Hlavní
{
veřejnost statický prázdnota hlavní ( Tětiva [ ] argumenty ) {

// Vytvoří ArrayDeque s názvem a_deque_object s typem Integer
Dequea_deque_object = Nový ArrayDeque ( ) ;

//Vložte do něj 5 celých čísel.
a_deque_object. přidat ( 100 ) ;
a_deque_object. přidat ( 200 ) ;
a_deque_object. přidat ( 300 ) ;
a_deque_object. přidat ( 400 ) ;
a_deque_object. přidat ( 500 ) ;

Systém . ven . println ( 'Data přítomná v a_deque_object: ' + a_deque_object ) ;

//Odeberte hodnoty větší než 200
a_deque_object. odstranitIf ( filtr -> ( filtr > 200 ) ) ;
Systém . ven . println ( 'Po odstranění hodnot větších než 200: ' + a_deque_object ) ;

}
}

Výstup:

Můžeme tedy vidět, že 300,400 a 500 jsou tři hodnoty, které jsou větší než 200. Jsou tedy odstraněny z objektu a_deque_object.

Zde je predikát použitý k filtrování těchto dat – filtr -> (filtr > 200)

Zde se filtr odkazuje na proměnnou.

Vysvětlení

Řádek 9,18:

Vytvořte ArrayDeque s názvem a_dequeobject s typy Integer a zobrazte jej

Řádek 21,22:

Nyní filtrujte a_deque_object s predikátem – filtr -> (filtr > 200)

Příklad 3: Demonstrace výjimky NullPointerException

Zadáme Null jako predikát.

import java.util.* ;
import java.util.ArrayDeque ;

veřejnost třída Hlavní
{
veřejnost statický prázdnota hlavní ( Tětiva [ ] argumenty ) {

// Vytvoří ArrayDeque s názvem a_deque_object s typem Integer
Dequea_deque_object = Nový ArrayDeque ( ) ;

//Vložte do něj 5 celých čísel.
a_deque_object. přidat ( 100 ) ;
a_deque_object. přidat ( 200 ) ;
a_deque_object. přidat ( 300 ) ;
a_deque_object. přidat ( 400 ) ;
a_deque_object. přidat ( 500 ) ;

Systém . ven . println ( 'Data přítomná v a_deque_object: ' + a_deque_object ) ;

a_deque_object. odstranitIf ( nula ) ;

}
}

Výstup:

Můžeme to vidět Výjimka NullPointerException je zvednutý.

Závěr

Viděli jsme, jak odstranit prvky z objektu kolekce ArrayDeque s predikátem pomocí metody removeIf(). Ujistěte se, že jste nezadali hodnotu null, protože to vede k výjimce NullPointerException. Probrali jsme dva příklady použitím různých podmínek v predikátu a také jsme demonstrovali výjimku NullPointerException.