Stream的流中间操作_filter
注意'中间操作'的方法都是在Stream接口里面,需要深入学习的话,建议搭配帮助文档搜索Stream,往下滑就能找到所有关于中间操作的方法
Stream
Stream流中间操作_filter的练习
xxxxxxxxxxpackage ch26;
import java.util.ArrayList;
public class a_3_1测试 {
public static void main(String[] args) {
//创建一个集合,存储多个字符串元素 ArrayList<String> list = new ArrayList<String>();
list.add("张老三"); list.add("李四"); list.add("王蛋五"); list.add("张小六"); list.add("张七");
//-------------------------------------------------------------------------------------------
//需求1:把list集合中以张开头的元素在控制台输出,在控制台输出需要使用forEach方法 list.stream().filter((String s)->{ return s.startsWith("张"); }).forEach((s-> System.out.println(s))); //使用Lambda表达式的省略模式、方法引用对上面的代码进行优化一下,如下 System.out.println("-----------"); list.stream().filter(s->s.startsWith("张")).forEach(System.out::println); System.out.println("--------------------------");
//--------------------------------------------------------------------------------------------
//需求2:把list集合中长度为3的元素在控制台输出,在控制台输出需要使用forEach方法 list.stream().filter(s->s.length()==3).forEach(System.out::println); System.out.println("--------------------------");
//---------------------------------------------------------------------------------------------
//需求3:把list集合中以张开头的,长度为3的元素在控制台输出 list.stream().filter(s->s.startsWith("张")).filter(s->s.length()==3).forEach(System.out::println);
}}