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.