题目一:

/*1) javabean类Trader(交易员): 姓名 工作城市Transaction(交易记录): 交易员  交易年份 交易金额2) 实现(1) 找出2011年发生的所有交易,并按交易额排序(从低到高)。(2) 交易员都在哪些不同的城市工作过?(3) 查找所有来自于剑桥的交易员,并按姓名排序。(4) 返回所有交易员的姓名字符串,按字母顺序排序。(5) 有没有交易员是在米兰工作的?(6) 打印生活在剑桥的交易员的所有交易额。(7) 所有交易中,最高的交易额是多少?(8) 找到交易额最小的交易。
*/
package com.ligao.entity;/*** @author * @Description:* @data 2022 年 08 月 28 日 17:55*/
public class Transaction {private Trader trader;private int yearOfTransaction;private int transactionAmount;public Transaction() {}public Transaction(Trader trader, int yearOfTransaction, int transactionAmount) {this.trader = trader;this.yearOfTransaction = yearOfTransaction;this.transactionAmount = transactionAmount;}public Trader getTrader() {return trader;}public void setTrader(Trader trader) {this.trader = trader;}public int getYearOfTransaction() {return yearOfTransaction;}public void setYearOfTransaction(int yearOfTransaction) {this.yearOfTransaction = yearOfTransaction;}public int getTransactionAmount() {return transactionAmount;}public void setTransactionAmount(int transactionAmount) {this.transactionAmount = transactionAmount;}@Overridepublic String toString() {return "Transaction{" +"trader=" + trader +", yearOfTransaction=" + yearOfTransaction +", transactionAmount=" + transactionAmount +'}';}
}
package com.ligao.entity;/*** @author * @Description:* @data 2022 年 08 月 28 日 17:55*/
public class Trader {private String name;private String city;public Trader() {}public Trader(String name, String city) {this.name = name;this.city = city;}public Trader(String name) {this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getCity() {return city;}public void setCity(String city) {this.city = city;}@Overridepublic String toString() {return "Trader{" +"name='" + name + '\'' +", city='" + city + '\'' +'}';}
}
package com.ligao.stream.homework;import com.ligao.entity.Trader;
import com.ligao.entity.Transaction;import java.util.ArrayList;
import java.util.List;
/*** @author * @Description:* @data 2022 年 08 月 28 日 17:55*/
public class StreamHomeWork_001 {public static void main(String[] args) {/*1) javabean类Trader(交易员): 姓名 工作城市Transaction(交易记录): 交易员  交易年份 交易金额2) 实现(1) 找出2011年发生的所有交易,并按交易额排序(从低到高)。(2) 交易员都在哪些不同的城市工作过?(3) 查找所有来自于剑桥的交易员,并按姓名排序。(4) 返回所有交易员的姓名字符串,按字母顺序排序。(5) 有没有交易员是在米兰工作的?(6) 打印生活在剑桥的交易员的所有交易额。(7) 所有交易中,最高的交易额是多少?(8) 找到交易额最小的交易。*/List<Transaction> list =new ArrayList();list.add(new Transaction(new Trader("张三","上海"),2008,478));list.add(new Transaction(new Trader("李四","剑桥"),2011,9874));list.add(new Transaction(new Trader("王二麻子","深圳"),2018,2394));list.add(new Transaction(new Trader("狗蛋儿","米兰"),2009,4857));list.add(new Transaction(new Trader("泥娃儿","剑桥"),2011,4590));
//        (1) 找出2011年发生的所有交易,并按交易额排序(从低到高)。list.stream().filter(e->e.getYearOfTransaction()==2011).sorted((x,y)->y.getTransactionAmount()-x.getTransactionAmount()).forEach(System.out::println);//        (2) 交易员都在哪些不同的城市工作过?list.stream().map(e->e.getTrader().getCity()).distinct().forEach(System.out::println);//        (3) 查找所有来自于剑桥的交易员,并按姓名排序.list.stream().filter(e->e.getTrader().getCity().equals("剑桥")).sorted((x,y)->x.getTrader().getName().compareTo(y.getTrader().getName())).forEach(System.out::println);//        (4) 返回所有交易员的姓名字符串,按字母顺序排序。list.stream().map(e->e.getTrader().getName()).sorted((x,y)->x.compareTo(y)).forEach(System.out::println);//        (5) 有没有交易员是在米兰工作的?list.stream().filter(e->e.getTrader().getCity().equals("米兰")).forEach(System.out::println);//        (6) 打印生活在剑桥的交易员的所有交易额。list.stream().filter(e->e.getTrader().getCity().equals("剑桥")).map(e->e.getTransactionAmount()).forEach(System.out::println);//        (7) 所有交易中,最高的交易额是多少?int max=list.stream().map(e->e.getTransactionAmount()).reduce(Integer::max).get();System.out.println(max);//        (8) 找到交易额最小的交易。int min=list.stream().map(e->e.getTransactionAmount()).reduce(Integer::min).get();System.out.println(min);}
}

题目二:

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

package com.ligao.stream.homework;import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;/*** @author * @Description:* @data 2022 年 08 月 28 日 17:55*/
public class StreamHomeWork_002 {/*给定一个数字列表,如何返回一个由每个数的平方构成的列表?给定【1,2,3,4,5】,返回【1,4,9,16,25】*/public static void main(String[] args) {List<Integer> ls = List.of(1, 2, 3, 4, 5);System.out.println(ls.stream().map(e -> (int) Math.pow(e, 2)).collect(Collectors.toList()));}
}

题目三:

1) javabean类
        学生类  姓名 年龄 性别 小区
        小区类  地址 姓名 总人数
        性别类  男 女
        2)
        1. 汇总小区名为"海德堡"的学生的总数;
        2. 汇总小区名为"海德堡"的学生的姓名集合;
        3. 返回住在阳光丽兹+海德堡的学生的平均年龄;
        4.拿到年龄大于平均年龄的所有学生的姓名集合;

package com.ligao.entity;/*** @author * @Description:* @data 2022 年 08 月 28 日 17:55*/
public class StreamStudent {private String name;private int age;private StreamSex streamSex;private StreamCommunity streamCommunity;public StreamStudent(String name, int age, StreamSex streamSex, StreamCommunity streamCommunity) {this.name = name;this.age = age;this.streamSex = streamSex;this.streamCommunity = streamCommunity;}public StreamStudent() {}@Overridepublic String toString() {return "StreamStudent{" +"name='" + name + '\'' +", age=" + age +", streamSex=" + streamSex +", streamCommunity=" + streamCommunity +'}';}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public StreamSex getStreamSex() {return streamSex;}public void setStreamSex(StreamSex streamSex) {this.streamSex = streamSex;}public StreamCommunity getStreamCommunity() {return streamCommunity;}public void setStreamCommunity(StreamCommunity streamCommunity) {this.streamCommunity = streamCommunity;}
}
package com.ligao.entity;/*** @author * @Description:* @data 2022 年 08 月 28 日 17:55*/
public class StreamSex {private String sex;public String getSex() {return sex;}@Overridepublic String toString() {return "StreamSex{" +"sex='" + sex + '\'' +'}';}public void setSex(String sex) {this.sex = sex;}public StreamSex(String sex) {this.sex = sex;}
}
package com.ligao.entity;/*** @author * @Description:* @data 2022 年 08 月 28 日 17:55*/
public class StreamCommunity {private String addr;private String communtityName;private int sum;public String getCommuntityName() {return communtityName;}public void setCommuntityName(String communtityName) {this.communtityName = communtityName;}public int getSum() {return sum;}public void setSum(int sum) {this.sum = sum;}@Overridepublic String toString() {return "StreamCommunity{" +"addr='" + addr + '\'' +", communtityName='" + communtityName + '\'' +", sum=" + sum +'}';}public String getAddr() {return addr;}public void setAddr(String addr) {this.addr = addr;}public StreamCommunity(String addr, String communtityName, int sum) {this.addr = addr;this.communtityName = communtityName;this.sum = sum;}
}

Java8 新特性之 Stream 练习题相关推荐

  1. 使用Java8新特性(stream流、Lambda表达式)实现多个List 的笛卡尔乘积 返回需要的List<JavaBean>

    需求分析: 有两个Long类型的集合 : List<Long> tagsIds; List<Long> attributesIds; 现在需要将这两个Long类型的集合进行组合 ...

  2. 【java8新特性】——Stream API详解(二)

    一.简介 java8新添加了一个特性:流Stream.Stream让开发者能够以一种声明的方式处理数据源(集合.数组等),它专注于对数据源进行各种高效的聚合操作(aggregate operation ...

  3. Java8新特性:Stream介绍和总结

    Java8新特性:Stream介绍和总结 什么是Stream 流(Stream)是数据渠道,用于操作数据源(集合.数组等)所生成的元素序列. 集合讲的是数据,流讲的是计算 注意: Stream自己不会 ...

  4. java stream byte_乐字节-Java8新特性之Stream流(上)

    上一篇文章,小乐给大家介绍了<Java8新特性之方法引用>,下面接下来小乐将会给大家介绍Java8新特性之Stream,称之为流,本篇文章为上半部分. 1.什么是流? Java Se中对于 ...

  5. Java8新特性-使用Stream流来实现递归遍历树形结构(案例)

    Java8新特性-Stream流 可能平常会遇到一些需求,比如构建菜单,构建树形结构,数据库一般就使用父id来表示,为了降低数据库的查询压力,我们可以使用Java8中的Stream流一次性把数据查出来 ...

  6. Java8新特性概览——Stream特性,Lambda表达式,函数式接口Function、Predicate、Consumer,方法引用等概述

    概述: Java 8 新特性概述:https://www.ibm.com/developerworks/cn/java/j-lo-jdk8newfeature/index.html JAVA8 十大新 ...

  7. Java8新特性:Stream详细使用

    目录 一.简介 二.创建Stream的常用方法 2.1 使用Stream中的静态方法:of().iterate().generate() 2.2 使用Collection下的 stream() 和 p ...

  8. Java8新特性之Stream流式编程

    特地感谢鲁班大叔的分享,原学习地址:Java8 Stream流式编程爱 撸码就是快,流式编程好 代码传家宝 以下是学习过程整理的笔记 1.简介 Stream 流处理,首先要澄清的是 java8 中的 ...

  9. Java8新特性之stream的详细用法

    一.概述 Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找.过滤和映射数据等操作.使用Stream API 对集合数据进行操作,就类似于 ...

  10. Java8新特性之Stream流的使用

    Stream 是Java8中处理集合的关键抽象概念,它可以对集合进行非常复杂的查找.过滤.筛选等操作,在新版的JPA中,也已经加入了Stream. 1.Stream的操作步骤 Stream有如下三个操 ...

最新文章

  1. Awcing算法---区间合并
  2. docker-compose bug
  3. javaweb使用 数据库连接池 DBCP,实现对数据库驱动使用优化,多个 action共用一个数据库连接
  4. P2802 回家(dfs+三维数组标记+剪枝)
  5. Bellman-Ford算法和SPFA算法
  6. python操作redis集群_python 连接管理作redis集群
  7. python setup.py install 出错_python setup.py install 失败
  8. java 接口入门,Java接口入门教程解读
  9. DAY09 NETWORK Cisco简单不同网络主机通信
  10. (笔记)Mysql命令show databases:显示所有数据库
  11. JSP,PHP,Python,Ruby,Perl概要及各自特点
  12. Word论文参考文献排版
  13. R语言客户端RStudio快捷键大全
  14. css3字间距的控制
  15. 最近玩起了视频,把一点工作总结一下。
  16. 诺贝尔奖得主背后有哪些故事?美纳里尼基金会推出“超越国界对话”系列片...
  17. 搭建一个大型网站架构的实验环境(Squid缓存服务器篇)
  18. 大地坐标BLH转平面坐标xyh(高斯投影坐标正算) Java版
  19. Nutanix报告显示:企业需要混合云解决方案以保证多云运维的一致性
  20. logstash mysql报错_elk系列教程:logstash报错处理

热门文章

  1. UIKit框架的介绍
  2. 教你快速识别网络项目的骗术
  3. 新旧骗术揭秘:防止5G时代的电信诈骗
  4. 系统之家启动维护光盘v3.0[小盘·贺岁篇]
  5. 半路出家,如何推销自己?
  6. 域名虚拟主机_域名和虚拟主机之间有什么区别(解释)
  7. php调用itunes,使用cURL和PHP检索iTunes App Store XML
  8. 当天剩余时间,当月剩余时间(秒数),用于redis设置过期时间
  9. 【JavaWeb】JSP:基本语法大全
  10. onkeyup事件只能输入数字,字母,下划线等