java8中Collection的removeif()使用
时间: 2024-09-12 13:05:39 浏览: 43
详解java8在Collection中新增加的方法removeIf
在Java 8中,Collection接口引入了一个新的默认方法removeIf(),它允许你根据提供的谓词(Predicate)条件移除集合中满足条件的元素。谓词是一个函数式接口,它接受一个参数并返回一个布尔值,用来表示参数是否满足某个条件。
removeIf()方法的定义如下:
```java
default boolean removeIf(Predicate<? super E> filter)
```
这个方法接受一个Predicate接口的实例作为参数,这个Predicate将对集合中的每个元素进行检查。如果Predicate返回true,则当前元素会被移除。
例如,如果你想从一个List中移除所有字符串长度大于10的元素,你可以这样使用removeIf方法:
```java
List<String> list = new ArrayList<>();
list.add("Java");
list.add("Programming");
list.add("Java 8");
list.add("removeIf");
// 移除所有字符串长度大于10的元素
list.removeIf(s -> s.length() > 10);
// 此时list的内容将不包含"Programming"和"Java 8"
```
使用removeIf()可以让你的代码更加简洁,避免编写显式的循环来移除元素。
阅读全文