Java ArrayList removeIf ()

Java ArrayList removeIf () -menetelmä poistaa kaikki taulukkoelementit, jotka täyttävät määritetyn ehdon.

Menetelmän syntaksi removeIf()on:

 arraylist.removeIf(Predicate filter)

Tässä arraylist on ArrayListluokan kohde.

removeIf () -parametrit

removeIf()Menetelmä ottaa yhden parametrin.

  • suodatin - päättää poistetaanko elementti

removeIf () palautusarvo

  • palaa, truejos elementti poistetaan taulukosta.

Esimerkki: Poista parilliset numerot ArrayLististä

 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); ) )

Tuotos

 Numerot: (1, 2, 3, 4, 5, 6) Parittomat numerot: (1, 3, 5)

Yllä olevassa esimerkissä olemme luoneet taulukoita, joiden nimi on numerot. Huomaa rivi,

 numbers.removeIf(e -> (e % 2) == 0);

Tässä,

  • e -> (e % 2) == 0)on lambda-ilmaisu. Se tarkistaa, onko elementti jaettu 2: lla. Lisätietoja on Java Lambda Expression -sivustossa.
  • removeIf()- Poista elementti, jos se e -> (e % 2) == 0palautuu true.

Esimerkki 2: Poista maat, joiden nimessä on "maa"

 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); ) )

Tuotos

 Maat: (Islanti, Amerikka, Irlanti, Kanada, Grönlanti) Maat ilman maata: (Amerikka, Kanada)

Yllä olevassa esimerkissä olemme käyttäneet Java String sisältää () -menetelmää tarkistaaksemme, sisältääkö elementti maata siinä. Tässä,

  • e -> e.contains("land")- palauttaa truejos elementti sisältää maa siinä
  • removeIf()- poistaa elementin, jos se e -> e.contains("land")palaa true.

Mielenkiintoisia artikkeleita...