removeIf()
方法的语法为:
arraylist.removeIf(Predicate filter)
在这里, arraylist是ArrayList
类的对象。
removeIf()参数
removeIf()
方法采用单个参数。
- filter-决定是否要删除一个元素
removeIf()返回值
- 如果将元素从arraylist中移除,则返回
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);
}
}
输出
Numbers: [1, 2, 3, 4, 5, 6]
Odd Numbers: [1, 3, 5]
在上面的示例中,我们创建了一个名为Numbers的数组列表 。注意这一行,
numbers.removeIf(e -> (e % 2) == 0);
这里,
-
e -> (e % 2) == 0)
是lambda表达式。它检查元素是否被2除。要了解更多信息,请访问Java Lambda Expression。 -
removeIf()
-如果e -> (e % 2) == 0
返回true
则删除元素。
示例2:删除名称中带有“ land”的国家
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);
}
}
输出
Countries: [Iceland, America, Ireland, Canada, Greenland]
Countries without land: [America, Canada]
在上面的示例中,我们使用了Java String contains()方法来检查元素中是否包含平台 。这里,
-
e -> e.contains("land")
-如果元素中包含土地 ,则返回true
-
removeIf()
-如果e -> e.contains("land")
返回true
则删除元素。