Java ArrayList removeIf ()

Метод Java ArrayList removeIf () удаляет все элементы из arrayylist, которые удовлетворяют указанному условию.

Синтаксис removeIf()метода:

 arraylist.removeIf(Predicate filter)

Здесь arrayylist - это объект ArrayListкласса.

removeIf () Параметры

removeIf()Метод принимает один параметр.

  • фильтр - решает, нужно ли удалить элемент

removeIf () Возвращаемое значение

  • возвращается, trueесли элемент удален из Arraylist.

Пример: удаление четных чисел из 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); ) )

Вывод

 Числа: (1, 2, 3, 4, 5, 6) Нечетные числа: (1, 3, 5)

В приведенном выше примере мы создали массив с именем numbers. Обратите внимание на линию,

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

Вот,

  • e -> (e % 2) == 0)является лямбда-выражением. Он проверяет, делится ли элемент на 2. Чтобы узнать больше, посетите Java Lambda Expression.
  • removeIf()- Удалите элемент, если e -> (e % 2) == 0вернется true.

Пример 2. Удалить страны, в названии которых есть слово "земля"

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

Вывод

 Страны: (Исландия, Америка, Ирландия, Канада, Гренландия) Страны без земли: (Америка, Канада)

В приведенном выше примере мы использовали метод Java String contains (), чтобы проверить, содержит ли элемент землю . Вот,

  • e -> e.contains("land")- возвращается , trueесли элемент содержит землю в нем
  • removeIf()- удаляет элемент, если e -> e.contains("land")возвращается true.

Интересные статьи...