练习一:过滤:filter、结果收集(数组)

有如下7个元素黄药师,冯蘅,郭靖,黄蓉,郭芙,郭襄,郭破虏,使用Stream将以郭字开头的元素存入新数组

public class Test {public static void main(String[] args) {Stream<String> stream = Stream.of("黄药师", "冯蘅", "郭靖", "黄蓉", "郭芙", "郭襄", "郭破虏");stream.filter(s -> s.startsWith("郭")).forEach(System.out::println);}

练习二:取用前几个:limit、跳过前几个:skip

已知ArrayList集合中有如下元素{陈玄风、梅超风、陆乘风、曲灵风、武眠风、冯默风、罗玉风},使用Stream
1、取出前2个元素并在控制台打印输出。
2、取出后2个元素并在控制台打印输出。

public class Test {public static void main(String[] args) {ArrayList<String> arrayList = new ArrayList<>();arrayList.add("陈玄风");arrayList.add("梅超风");arrayList.add("陆乘风");arrayList.add("曲灵风");arrayList.add("武眠风");arrayList.add("冯默风");arrayList.add("罗玉风");arrayList.stream().limit(2).forEach(System.out::println);arrayList.stream().skip(5).forEach(System.out::println);}
}

练习三:映射:map、逐一消费:forEach

有如下整数1,-2,-3,4,-5
使用Stream取元素绝对值并打印

public class Test {public static void main(String[] args) {Stream<Integer> stream = Stream.of(1, -2, -3, 4, -5);stream.forEach(integer -> System.out.println(Math.abs(integer)));}
}

练习四: map

给定一个数字列表,如何返回一个由每个数的平方构成的列表呢?
比如给定【1,2,3,4,5】, 应该返回【1,4,9,16,25】。

public class Test {public static void main(String[] args) {List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);List<Integer> result = numbers.stream().map(number -> number * number).collect(Collectors.toList());System.out.println(result.toString());}}

练习五:流综合

有两个集合,一个有6个男演员,一个有6个女演员,完成下面的功能

/创建集合存储元素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个字的前三人
女演员只要姓林的,并且不要第一个
把过滤后的男演员姓名和女演员姓名合并到一起
把上一步操作后的元素作为构造方法的参数创建演员对象(实例化一个Actor类,此处尝试使用map),遍历数组

public class Test {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("张曼玉");
//        womanList.stream().filter(s -> s.startsWith("林")).skip(1);//男演员只要名字为3个字的前三人
//        Stream<String> manStream = manArray.stream().filter(s -> s.length() == 3).limit(3);//把过滤后的男演员姓名和女演员姓名合并到一起
//        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(manArray.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()));}}
public class Actor {private String name;public Actor() {}public Actor(String name) {this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}

Stream流练习题大全以及答案相关推荐

  1. 011235813用java写出来_C 编程练习题大全(带答案)

    以下为<C 编程练习题大全(带答案)>的无排版文字预览,完整格式请下载 下载前请仔细阅读文字预览以及下方图片预览.图片预览是什么样的,下载的文档就是什么样的. 一.简单问题: 5. 编程计 ...

  2. java流的试题_Java练习题 - Stream流

    练习一:Pedicate接口使用 请在测试类main方法中完成以下需求 已知有Integer[] arr = {-12345, 9999, 520, 0,-38,-7758520,941213} a) ...

  3. Java Stream流习题答案

    基础题 练习一:Pedicate接口使用 1.请在测试类main方法中完成以下需求 已知有Integer[] arr = {-12345, 9999, 520, 0,-38,-7758520,941 ...

  4. java 8 Stream流大全,讲解java 8 stream源码内容

    写这篇文章,主要是记录java8 stream流的用法,博主也是查阅了一些资料,结合源码总结出stream流的主要用法,篇幅比较长,需要耐心看. 目录 filter过滤 map获取属性并return值 ...

  5. Stream流-详细

    目录 java8新特性介绍: lamda表达式的介绍和使用: 函数式接口: 方法引用: 构造器引用: stream流 Stream流的创建: 流的中间操作: 筛选(filter) 映射(map/fla ...

  6. Java - Stream流详解

    文章目录 前言 大家好,好久不见了,最近由于实训的影响导致拖更了,在更新这一次估计javaSE基本上就算是完结了,还有一些落下的后面也会补上的,下次见面就是数据结构了 尽情期待吧!那么就让我们步入St ...

  7. Java面试题大全带答案 110道(持续更新)

    本人发现网上虽然有不少Java面试题大全带答案,但第一未必全,第二未必有答案,第三虽然有答案,但未必能在面试中说,所以在本文里,会不断收集各种面试题,并站在面试官的立场上,给出我自己的答案 如果不背 ...

  8. 跟我学 Java 8 新特性之 Stream 流(三)缩减操作

    转载自   跟我学 Java 8 新特性之 Stream 流(三)缩减操作 和前面两篇文章一起服用,效果会更佳.通过对流API的基础体验Demo和关键知识点的讲解,相信大家对流API都有一定的认识了, ...

  9. 跟我学 Java 8 新特性之 Stream 流(四)并行流

    转载自   跟我学 Java 8 新特性之 Stream 流(四)并行流 随着对流API认识的慢慢深入,本章我们要讨论的知识点是流API里面的并行流了. 在开始讨论并行流之前,我先引发一下大家的思考, ...

最新文章

  1. phpcms V9 相关阅读/相关文章
  2. cocos2dx之lua项目开发中MVC框架的简单应用
  3. Fedora20配置tftp服务器
  4. 框架实现修改功能的原理_JAVA集合框架的特点及实现原理简介
  5. 国际区块链专利统计:蚂蚁、平安、腾讯分列申请数前三名
  6. 判断字符串中是否含有并一个字符或字符串
  7. linux 网卡无效 设置_请教,关于更改linux网卡配置文件后重启IP不生效的问题~
  8. flume channel monitor实现源码分析
  9. Maple 全面基础
  10. 硅谷女孩火了,更该让他们开始学编程 1
  11. Windows:Win10 Dell笔记本禁用触摸板
  12. 浙江省计算机二级办公软件高级应用技术,浙江省计算机二级办公软件高级应用技术考试大纲.doc...
  13. Redis 雪崩,穿透,击穿
  14. 计算机管理单元受到策略限制怎么解决,组策略编辑器管理单元无法打开
  15. 五子棋大在线对战 java_五子棋可蓝牙对战版
  16. 未来人工智能发展趋势
  17. autojs之大柒侧滑栏详解
  18. 故宫元宵节首开夜场,票务系统HTTPS加密护航 1
  19. 西方情人节前一天的话
  20. xgboost时间序列预测matlab,LightGBM和XGBoost实现时间序列预测(2019-04-02)

热门文章

  1. 在windows下实时监控、接受文件变化小工具
  2. 2022 QS世界大学排名发布!MIT霸榜,清北冲上全球前20
  3. idea设置Java类和方法注释模板
  4. Redis--变慢的原因及排查方法--系统方面
  5. 谷歌如何注册账号?手机号无法验证处理方法!2023年最新教程!
  6. 实用工具分享——PDF阅读
  7. hd printer lexmark / dazifuyin / dayin / fuyin
  8. 彻底弄清补码加减法运算,正数、负数位移运算原理
  9. C++优化三板斧:Three Optimization Tips for C++
  10. 服务器win10系统怎样共享,win10系统开启局域网共享