Методът Java ArrayList removeIf () премахва от елемента списък всички елементи, които отговарят на посоченото условие.
Синтаксисът на removeIf()
метода е:
arraylist.removeIf(Predicate filter)
Тук arraylist е обект на ArrayList
класа.
removeIf () Параметри
В removeIf()
метода се един параметър.
- филтър - решава дали даден елемент да бъде премахнат
removeIf () Върната стойност
- връща,
true
ако елемент е премахнат от списъка с паралели.
Пример: Премахване на четни числа от 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.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
.