体验Stream流

不使用Stream流完成上述操作代码:

public class StreamDemo {
    public static void main(String[] args) {
        //创建一个集合,存储多个字符串元素
        ArrayList<String> list = new ArrayList<>();
        list.add("赵敏");
        list.add("张无忌");
        list.add("张三丰");
        list.add("张飞");
        list.add("李小龙");

        //把集合中所有以“张”开头的元素存储到一个新的集合
        ArrayList<String> zhangList = new ArrayList<>();
        for (String s : list){
            if (s.startsWith("张")){
                zhangList.add(s);
            }
        }

        //把“张”开头的集合中的长度为3的元素存储到一个新的集合
        ArrayList<String> threeList = new ArrayList<>();
        for (String s : zhangList){
            if (s.length() == 3){
                threeList.add(s);
            }
        }

        //遍历上一步的得到的集合
        for (String s : threeList){
            System.out.println(s);
        }
    }
}
View Code

添加一行代码使用Stream流改进

//使用Stream流改进
        list.stream().filter(s -> s.startsWith("张")).filter(s -> s.length() == 3).forEach(s -> System.out.println(s));

两种方式的运行结果:

posted @ 2020-06-19 14:52  硬盘红了  阅读(137)  评论(0编辑  收藏  举报