Metoda Java ArrayList removeIf () odstraní z pole všechny prvky, které splňují zadanou podmínku.
Syntaxe removeIf()
metody je:
arraylist.removeIf(Predicate filter)
Arraylist je zde objektem ArrayList
třídy.
removeIf () parametry
removeIf()
Metoda přebírá jeden parametr.
- filtr - rozhodne, zda má být prvek odebrán
removeIf () návratová hodnota
- vrátí,
true
pokud je prvek odebrán z pole.
Příklad: Odeberte sudá čísla ze seznamu ArrayList
import java.util.ArrayList; class Main ( public static void main(String() args) ( // create an ArrayList ArrayList numbers = new ArrayList(); // add elements to the ArrayList numbers.add(1); numbers.add(2); numbers.add(3); numbers.add(4); numbers.add(5); numbers.add(6); System.out.println("Numbers: " + numbers); // remove all even numbers numbers.removeIf(e -> (e % 2) == 0);; System.out.println("Odd Numbers: " + numbers); ) )
Výstup
Čísla: (1, 2, 3, 4, 5, 6) Zvláštní čísla: (1, 3, 5)
Ve výše uvedeném příkladu jsme vytvořili seznam skladeb s názvem numbers. Všimněte si řádku,
numbers.removeIf(e -> (e % 2) == 0);
Tady,
e -> (e % 2) == 0)
je lambda výraz. Zkontroluje, zda je prvek rozdělen na 2. Chcete-li se dozvědět více, navštivte Java Lambda Expression.removeIf()
- Odstraňte prvek, pokud see -> (e % 2) == 0
vrátítrue
.
Příklad 2: Odebrat země s názvem „land“ v názvu
import java.util.ArrayList; class Main ( public static void main(String() args) ( // create an ArrayList ArrayList countries = new ArrayList(); // add elements to the ArrayList countries.add("Iceland"); countries.add("America"); countries.add("Ireland"); countries.add("Canada"); countries.add("Greenland"); System.out.println("Countries: " + countries); // remove all even countries countries.removeIf(e -> e.contains("land"));; System.out.println("Countries without land: " + countries); ) )
Výstup
Země: (Island, Amerika, Irsko, Kanada, Grónsko) Země bez půdy: (Amerika, Kanada)
Ve výše uvedeném příkladu jsme použili metodu Java String contains () ke kontrole, zda v ní prvek obsahuje půdu . Tady,
e -> e.contains("land")
- vrátítrue
v případě, že element obsahuje pozemků v němremoveIf()
- odebere prvek, pokud see -> e.contains("land")
vrátítrue
.