一 filter 1.遍历数据并检查其中的元素时,可尝试使用Stream中提供的新方法filter,称为filter模式。该模式的核心思想是 保留Stream中的一些元素,而过滤掉其他的。 /** * @Author yqq * @Date 202
一 filter
1.遍历数据并检查其中的元素时,可尝试使用Stream中提供的新方法filter,称为filter模式。该模式的核心思想是 保留Stream中的一些元素,而过滤掉其他的。
* @Author yqq
* @Date 2021/4/11 0:04
* @Version 1.0
*/
public class FilterDemo {
public static void main(String[] args) {
List<String> list=new ArrayList<>();
list.add("科比");
list.add("詹姆斯");
list.add("安东尼");
list.add("瓦妮莎");
//利用filter掉所有人,保留科比老婆 瓦妮莎
List<String> stringList=list
.stream()
.filter(e -> e.startsWith("瓦"))
.collect(Collectors.toList());
System.out.println(stringList);
/**
* filter和map很像,filter接受一个函数作为参数,该函数用Lambda表达式表示。该函数和前面
* if条件判断语句的功能一样,如果字符串开头为瓦,则返回true。若要重构
* 遗留代码,for循环中的if条件语句就是一个很强的信号,可用filter方法替代。
*/
}
}
//输出结果:[瓦妮莎]
2.由于此方法和if条件语句的功能相同,因此其返回值肯定是true或者false。经过过滤,
Stream中符合条件的,即Lambda表达式值为true的元素被保留下来。该Lambda表达式
的函数接口正是Predicate