Java ArrayList removeIf ()

Metóda Java ArrayList removeIf () odstráni z poľa všetky prvky, ktoré vyhovujú zadanej podmienke.

Syntax removeIf()metódy je:

 arraylist.removeIf(Predicate filter)

Arraylist je tu objektom ArrayListtriedy.

removeIf () parametre

removeIf()Metóda preberá jeden parameter.

  • filter - rozhodne, či sa má prvok odstrániť

removeIf () návratová hodnota

  • vráti, trueak je prvok odstránený z poľa.

Príklad: Odstráňte párne čísla z 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ýkon

 Čísla: (1, 2, 3, 4, 5, 6) Nepárne čísla: (1, 3, 5)

Vo vyššie uvedenom príklade sme vytvorili zoznam skladieb s názvom numbers. Všimnite si riadok,

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

Tu,

  • e -> (e % 2) == 0)je výraz lambda. Kontroluje, či je prvok vydelený číslom 2. Ak sa chcete dozvedieť viac, navštívte Java Lambda Expression.
  • removeIf()- Ak sa e -> (e % 2) == 0vráti, prvok odstráňte true.

Príklad 2: Odstráňte krajiny, ktoré majú v názve slovo „krajina“

 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ýkon

 Krajiny: (Island, Amerika, Írsko, Kanada, Grónsko) Krajiny bez pôdy: (Amerika, Kanada)

Vo vyššie uvedenom príklade sme použili metódu Java String contains () na kontrolu, či v nej element obsahuje pevninu . Tu,

  • e -> e.contains("land")- vráti truev prípade, že element obsahuje pozemkov v ňom
  • removeIf()- odstráni prvok, ak sa e -> e.contains("land")vráti true.

Zaujímavé články...