说起stream流大家的第一反应是io,但是实际上谁规定流一定是存在io包里呢?在java8中得益于Lambda表达式的函数式编程,引入了一个全新的概念,stream。

1.优势?

在java8之前我们遍历集合大概就是增强for循环,如果我们想在这个集合里增加一些添加来搜索集合的一些东西,我们会发现代码会变得非常杂乱无章,但是我们现在用stream就会很优雅的解决这个问题。

代码:

  1. 首先筛选所有姓茂的人;

  2. 然后筛选名字有三个字的人;

  3. 最后进行对结果进行打印输出。

package cn.fan;
​
import java.util.ArrayList;
import java.util.List;
​
public class Stream1 {
    public static void main(String[] args) {
        //第一条件:筛选姓茂的
        //第二条件:筛选名字三个字的
        //再进行打印
        List<String> list = new ArrayList<>();
        list.add("茂小喵");
        list.add("罗三炮");
        list.add("阿龟哥");
        list.add("范小饭");
        List<String> maoList = new ArrayList<>();
        for (String name : list) {
            if (name.startsWith("茂")) {
                maoList.add(name);
            }
        }
​
        List<String> shortList = new ArrayList<>();
        for (String name : maoList) {
            if (name.length() == 3) {
                shortList.add(name);
            }
        }
​
        for (String name : shortList) {
            System.out.println(name);
        }
​
    }
}
View Code

相关文章: