Stream流综合练习

public class StreamTest {
    public static void main(String[] args) {
        //创建集合存储元素
        ArrayList<String> manArray = new ArrayList<>();
        manArray.add("刘德华");
        manArray.add("成龙");
        manArray.add("吴彦祖");
        manArray.add("周润发");
        manArray.add("周星驰");
        manArray.add("吴京");

        ArrayList<String> womanList = new ArrayList<>();
        womanList.add("林心如");
        womanList.add("孙俪");
        womanList.add("柳岩");
        womanList.add("林青霞");
        womanList.add("王祖贤");
        womanList.add("张曼玉");

        //男演员只要名字为3个字的前三人
        Stream<String> s1 = manArray.stream().filter(s -> s.length() == 3).limit(3);

        //女演员只要姓林的,并且不要第一个
        Stream<String> s2 = womanList.stream().filter(s -> s.startsWith("林")).skip(1);

        //把过滤后的男演员姓名和女演员姓名合并到一起
        Stream<String> concat = Stream.concat(s1, s2);

        //把上一步操作后的元素作为构造方法的参数创建演员对象,遍历数组
        concat.map(Actor::new).forEach(p -> System.out.println(p.getName()));
    }
}

猜你喜欢

转载自www.cnblogs.com/pxy-1999/p/13166461.html