使用stream流遍历代码好简单?

普通版的:

        List list = new ArrayList<>();
        list.add("小明");
        list.add("小红花");
        list.add("乐乐");
        list.add("丁倩文");
        //对list集合中的元素进行过滤,只要以小开头的元素,存储到一个新的集合中
        List listA = new ArrayList<>();
        for(String s : list){
            if(s.startsWith("小")){
                listA.add(s);
            }
        }
        //对listA集合进行过滤,只要姓名长度为2的人,存储到一个新集合中
        List listB = new ArrayList<>();
        for (String s : listA) {
            if(s.length()==2){
                listB.add(s);
            }
        }
        //遍历listB集合
        for (String s : listB) {
            System.out.println(s);
        }

使用stream流进行遍历:

List list = new ArrayList<>();
    list.add("小明");
    list.add("小红花");
    list.add("乐乐");
    list.add("丁倩文");
    //对list集合中的元素进行过滤,只要以张开头的元素,存储到一个新的集合中
    //对listA集合进行过滤,只要姓名长度为3的人,存储到一个新集合中
    //遍历listB集合
    list.stream()
                .filter(name->name.startsWith("小))
                .filter(name->name.length()==2)
                .forEach(name-> System.out.println(name));

结果都是一样,但stream流就是这么简单!!

你可能感兴趣的:(java笔记)