• 案例需求

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

    • 男演员只要名字为3个字的前三人

    • 女演员只要姓林的,并且不要第一个

    • 把过滤后的男演员姓名和女演员姓名合并到一起

    • 把上一步操作后的元素作为构造方法的参数创建演员对象,遍历数据

    演员类Actor已经提供,里面有一个成员变量,一个带参构造方法,以及成员变量对应的get/set方法

  • 代码实现

public class Actor {private String name;public Actor(String name) {this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}public class StreamTest {public static void main(String[] args) {//创建集合ArrayList<String> manList = new ArrayList<String>();manList.add("周润发");manList.add("成龙");manList.add("刘德华");manList.add("吴京");manList.add("周星驰");manList.add("李连杰");ArrayList<String> womanList = new ArrayList<String>();womanList.add("林心如");womanList.add("张曼玉");womanList.add("林青霞");womanList.add("柳岩");womanList.add("林志玲");womanList.add("王祖贤");/*//男演员只要名字为3个字的前三人Stream<String> manStream = manList.stream().filter(s -> s.length() == 3).limit(3);//女演员只要姓林的,并且不要第一个Stream<String> womanStream = womanList.stream().filter(s -> s.startsWith("林")).skip(1);//把过滤后的男演员姓名和女演员姓名合并到一起Stream<String> stream = Stream.concat(manStream, womanStream);//把上一步操作后的元素作为构造方法的参数创建演员对象,遍历数据
//        stream.map(Actor::new).forEach(System.out::println);stream.map(Actor::new).forEach(p -> System.out.println(p.getName()));*/Stream.concat(manList.stream().filter(s -> s.length() == 3).limit(3),womanList.stream().filter(s -> s.startsWith("林")).skip(1)).map(Actor::new).forEach(p -> System.out.println(p.getName()));}
}

Stream流综合练习相关推荐

  1. Java Stream流综合案例

    综合案例: 现在有两个ArrayList集合存储队伍当中的多个成员姓名,要求使用传统的for循环(或堵强for循环)和stream流依次进行以下若干操作步骤; 1.第一个队伍只要名字为3个字的成员姓名 ...

  2. [Java基础]Stream流综合练习

    代码如下: package StreamDemoFinal;public class Actor {private String name;public Actor(String name) {thi ...

  3. 第八章_集合(3)_Map集合Stream流

    目录 一.Map 1.Map集合的基本使用 2.Map集合的常用方法 3.Map集合遍历 二.HashMap 三.TreeMap 四.可变参数 五.Stream流 1.Stream流概念 2.获取St ...

  4. Lambda表达式接口更新方法引用函数式接口Stream流

    Lambda表达式&接口更新&方法引用&函数式接口&Stream流 Lambda 1.程序启动三种不同的表现形式 2.Lambda表达式的标准格式 3.练习 Lambd ...

  5. Java复习第11天---11.4---Java8新特性---Stream流常用方法3和综合案例

    Java复习第11天---11.4---Java8新特性---Stream流常用方法3和综合案例 目录 文章目录 1.count:计数-终结方法 2.limit:取前几个元素-延迟方法 3.skip: ...

  6. Java8中Stream流对集合操作

    java8中Stream流引入函数式编程思想,主要配合各种接口.lambda表达式.方法引用等方式,为集合的遍历.过滤.映射等提供非常"优雅"的操作方式. Student.java ...

  7. 10.Stream流

    一.Stream流 1.案例实现 按照下面的要求完成集合的创建和遍历 创建一个集合,存储多个字符串元素 把集合中所有以"张"开头的元素存储到一个新的集合 把"张" ...

  8. JDK1.8新特性:Stream流

    目录 一.获取流 1.根据Collection获取流 2.根据Map获取流 3.根据数组获取流 二.常用方法 1.过滤:filter 2.统计个数:count 3.取用前几个:limit 4.跳过前几 ...

  9. Java23-day14【函数式接口(Supplier\Consumer\Predicate\Function)、Stream流(生产方式\中间方法\终结方法)】

    视频+资料[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs] Java基础--学习笔记(零起点打开java世界的大门)--博 ...

最新文章

  1. 暑期集训2:ACM基础算法 练习题B:CF-1008B
  2. 微软一站式示例代码浏览器 v5.1 更新
  3. 18.DataGrid内绑定ComboBox和ListBox以及取值
  4. ceph pg_num 数值计算
  5. 根据图片URL获取图片的尺寸【Swift语言实现】
  6. hadoop文件系统与I/O流
  7. mx2 android os耗电,魅族MX3 Flyme OS 3.2充电慢、耗电快问题的解决方法详解
  8. C ++ STL中的set :: upper_bound()函数
  9. ## c 连接字符_用于字符比较的C#程序
  10. 单例模式的5种实现方式,以及在多线程环境下5种创建单例模式的效率
  11. ActiveMQ使用教程
  12. Cocos2d-x建工程时避免copy文件夹和库(子龙山人)
  13. 你了解实时3D渲染吗?实时渲染软件和应用场景科普来了
  14. 全志A64和瑞芯微RK3288参数对比介绍
  15. 【我是老中医】codeblocks无法编译的问题解决方法
  16. 决策树概述+模块介绍+重要参数(criterion+random_statesplitter+减枝参数+目标权重参数)+回归树(参数+实例+拟合正弦曲线)+泰坦尼克号生存者预测实例
  17. 面试:React相关
  18. 《JavaScript DOM编程艺术》笔记1
  19. 卷积神经网络论文学习(Lecun1998)
  20. 【webrtc】web端打开日志及调试

热门文章

  1. Java Collection 学习
  2. Docker入门(运行.net core asp项目)
  3. Kotlin实现LeetCode算法题之Median of Two Sorted Arrays
  4. Flume Source 实例
  5. 27.怎样在Swift中声明typedef?
  6. Android 编程下 px - dp 的相互转换
  7. 关于黑客的报道里绝对不会提到的信息
  8. ---WebCam网络摄像头7 cmos--yuv rgb , Format............:V4L2_PIX_FMT_YUYV
  9. 【Apache JMeter】JMeter接口压测实例
  10. JAVA中报错AbandonedObjectPool is used (org.apache.tomcat.dbcp.dbcp.AbandonedObjectPool@f70ee1)