JAVA Stream流的使用

package Streams;

import java.util.ArrayList;

/**
 * 需求,按照下面的要求完成集合的创建和遍历
 * 创建一个集合存储多个字符串元素
 * 把集合中所有以张开头的元素存储到一个新的集合
 * 把:张 开头的集合中长度为3⃣️的元素存储到一个新的集合
 * 遍历上一步得到的集合
 */
public class StreamDemo1 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<String>();
        list.add("张三啊");
        list.add("李四啊");
        list.add("王五噶");
        list.add("张晓肖");
        list.add("张a");
        list.add("王先生");
        ArrayList<String> zhangList = new ArrayList<String>();
        for (String s:list){
            if (s.startsWith("张")){
               zhangList.add(s);
            }
        }

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

        System.out.println("========");
        //采用Stream流改写
        list.stream().filter(s ->s.startsWith("张")).filter(s -> s.length()==3).forEach(s -> System.out.println(s));
        System.out.println("========");
        list.stream().filter(s ->s.startsWith("张")).filter(s -> s.length()==3).forEach(System.out::println);
        //Stream流是真正的函数式编程风格引入到JAVA中

    }
}

 

posted @ 2022-04-25 22:39  phpwyl  阅读(19)  评论(0编辑  收藏  举报