Java ArrayList removeIf () -metoden fjerner alle elementer fra arraylisten, der opfylder den angivne betingelse.
Metodens syntaks removeIf()
er:
arraylist.removeIf(Predicate filter)
Her er arraylist et objekt i ArrayList
klassen.
removeIf () Parametre
Den removeIf()
metode tager et enkelt parameter.
- filter - beslutter, om et element skal fjernes
removeIf () Return Value
- returnerer,
true
hvis et element fjernes fra arraylisten.
Eksempel: Fjern lige tal fra 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
Tal: (1, 2, 3, 4, 5, 6) Ulige numre: (1, 3, 5)
I ovenstående eksempel har vi oprettet en arraylist med navn numre. Bemærk linjen,
numbers.removeIf(e -> (e % 2) == 0);
Her,
e -> (e % 2) == 0)
er et lambda-udtryk. Det kontrollerer, om et element er divideret med 2. For at lære mere, besøg Java Lambda Expression.removeIf()
- Fjern elementet, hvis dete -> (e % 2) == 0
vender tilbagetrue
.
Eksempel 2: Fjern lande med "land" i navn
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
Lande: (Island, Amerika, Irland, Canada, Grønland) Lande uden land: (Amerika, Canada)
I ovenstående eksempel har vi brugt metoden Java String indeholder () til at kontrollere, om elementet indeholder jord i det. Her,
e -> e.contains("land")
- vender tilbage,true
hvis elementet indeholder jord i detremoveIf()
- fjerner elementet, hvis dete -> e.contains("land")
vender tilbagetrue
.