Java ArrayList removeIf ()

Metoda Java ArrayList removeIf () usuwa z tablicy arraylist wszystkie elementy, które spełniają określony warunek.

Składnia removeIf()metody to:

 arraylist.removeIf(Predicate filter)

Tutaj arraylist jest obiektem ArrayListklasy.

removeIf () Parametry

removeIf()Sposób przyjmuje jeden parametr.

  • filtr - decyduje czy element ma zostać usunięty

removeIf () Wartość zwracana

  • zwraca, truejeśli element zostanie usunięty z listy arraylist.

Przykład: Usuń parzyste liczby 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); ) )

Wynik

 Liczby: (1, 2, 3, 4, 5, 6) Liczby nieparzyste: (1, 3, 5)

W powyższym przykładzie utworzyliśmy arraylistę o nazwie numbers. Zwróć uwagę na linię,

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

Tutaj,

  • e -> (e % 2) == 0)jest wyrażeniem lambda. Sprawdza, czy element jest podzielony przez 2. Aby dowiedzieć się więcej, odwiedź stronę Java Lambda Expression.
  • removeIf()- Usuń element, jeśli e -> (e % 2) == 0zwraca true.

Przykład 2: Usuń kraje z „ziemią” w nazwie

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

Wynik

 Kraje: (Islandia, Ameryka, Irlandia, Kanada, Grenlandia) Kraje bez lądu: (Ameryka, Kanada)

W powyższym przykładzie użyliśmy metody Java String zawiera (), aby sprawdzić, czy element zawiera ląd . Tutaj,

  • e -> e.contains("land")- zwraca, truejeśli element zawiera w sobie ziemię
  • removeIf()- usuwa element, jeśli e -> e.contains("land")zwraca true.

Interesujące artykuły...