Stream流的常用方法和使用

package com.hncu.mystream;

import java.util.ArrayList;
import java.util.stream.Stream;

public class MyStreamDemo1 {
    /*案例需求

现在有两个ArrayList集合,分别存储6名男演员名称和6名女演员名称,要求完成如下的操作

- 男演员只要名字为3个字的前三人
- 女演员只要姓杨的,并且不要第一个
- 把过滤后的男演员姓名和女演员姓名合并到一起
- 把上一步操作后的元素作为构造方法的参数创建演员对象,遍历数据

演员类Actor已经提供,里面有一个成员变量,一个带参构造方法,以及成员变量对应的get/set方法和toString()方法*/
    public static void main(String[] args) {
        ArrayList<String> list1 = new ArrayList<>();
        list1.add("张国立");
        list1.add("张晋");
        list1.add("刘烨");
        list1.add("郑伊健");
        list1.add("徐峥");
        list1.add("王宝强");
        ArrayList<String> list2 = new ArrayList<>();
        list2.add("郑爽");
        list2.add("杨紫");
        list2.add("关晓彤");
        list2.add("张天爱");
        list2.add("杨幂");
        list2.add("赵丽颖");
        //filter 筛选
        //concat 合并
        //limit 截止到
        //skip  跳到
        //forEach 遍历
        //Stream配合lambda表达式让代码更加简洁
//        Stream<String> man = list1.stream().filter(name -> name.length() == 3).limit(2);
//        Stream<String> woman = list2.stream().filter(name -> name.startsWith("杨")).skip(1);       //分段编写
//        Stream.concat(man, woman).forEach(name -> System.out.println(new Actor(name)));
        Stream.concat(list1.stream().filter(name -> name.length()==3).limit(2),                     //链式编写
                list2.stream().filter(name -> name.startsWith("杨")).skip(1)).
                forEach(name -> System.out.println(new Actor(name)));
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值