练习:集合元素处理(Stream流方式)

package com.chunzhi.Test03Stream;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;
/*
    练习:集合元素处理(Stream方式)
 */
public class Test02StreamTest {
    public static void main(String[] args) {
        // 第一支队伍
        List<String> one = new ArrayList<>();
        one.add("迪丽热巴");
        one.add("宋远桥");
        one.add("苏星河");
        one.add("石破天");
        one.add("石中玉");
        one.add("老子");
        one.add("庄子");
        one.add("洪七公");
        // 第一个队伍只要名字为3个字的成员姓名;
        // 第一个队伍筛选之后只要前3个人;
        Stream<String> oneStream = one.stream().filter(name -> name.length() == 3).limit(3);

        // 第二支队伍
        List<String> two = new ArrayList<>();
        two.add("古力娜扎");
        two.add("张无忌");
        two.add("赵丽颖");
        two.add("张三丰");
        two.add("尼戈拉斯赵四");
        two.add("张天爱");
        two.add("张二狗");
        // 第二个队伍只要姓张的成员姓名;
        // 第二个队伍筛选之后不要前2个人
        Stream<String> twoStream = two.stream().filter(name -> name.startsWith("张")).skip(2);
        // 将两个队伍合并为一个队伍
        // 根据姓名创建Person对象
        // 打印整个队伍的Person对象信息
        Stream.concat(oneStream, twoStream).map(name -> new Person(name)).forEach(person -> System.out.println(person));
    }
}

执行结果:

 

 

posted @ 2020-12-02 23:25  春志  阅读(220)  评论(0编辑  收藏  举报