Java ArrayList removeIf () -metoden tar bort alla element från arraylistan som uppfyller det angivna villkoret.
Syntaxen för removeIf()
metoden är:
arraylist.removeIf(Predicate filter)
Här är arraylist ett objekt i ArrayList
klassen.
removeIf () Parametrar
Den removeIf()
metod tar en enda parameter.
- filter - bestämmer om ett element ska tas bort
removeIf () Returvärde
- returnerar
true
om ett element tas bort från arraylistan.
Exempel: Ta bort jämna nummer från 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); ) )
Produktion
Siffror: (1, 2, 3, 4, 5, 6) Udda siffror: (1, 3, 5)
I exemplet ovan har vi skapat en arraylista som heter nummer. Lägg märke till raden,
numbers.removeIf(e -> (e % 2) == 0);
Här,
e -> (e % 2) == 0)
är ett lambdauttryck. Den kontrollerar om ett element divideras med 2. För att lära dig mer, besök Java Lambda Expression.removeIf()
- Ta bort elementet om dete -> (e % 2) == 0
returnerartrue
.
Exempel 2: Ta bort länder med "land" i namn
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); ) )
Produktion
Länder: (Island, Amerika, Irland, Kanada, Grönland) Länder utan land: (Amerika, Kanada)
I ovanstående exempel har vi använt metoden Java String innehåller () för att kontrollera om elementet innehåller mark i den. Här,
e -> e.contains("land")
- returnerartrue
om elementet innehåller mark i detremoveIf()
- tar bort elementet om dete -> e.contains("land")
returnerartrue
.