当前位置: 首页 > news >正文

三亚文明城市建设服务中心报名网站seo培训机构

三亚文明城市建设服务中心报名网站,seo培训机构,泰安网上车管所,做存储各种环境信息的网站文章目录 Java8 BiConsumerT, U 函数接口浅析分享#xff08;含示例#xff0c;来戳#xff01;#xff09;源码accept 方法示例示例一示例二 andThen 方法示例示例一示例二 示例相关代码类dohandler 方法student.javaStudentScore.javaStudentScoreDto.java Java8… 文章目录 Java8 BiConsumerT, U 函数接口浅析分享含示例来戳源码accept 方法示例示例一示例二 andThen 方法示例示例一示例二 示例相关代码类dohandler 方法student.javaStudentScore.javaStudentScoreDto.java Java8 BiConsumerT, U 函数接口浅析分享含示例来戳 您的点赞、收藏、评论是博主输出优质文章的的动力 欢迎在评论区与博主沟通交流Java8 系列文章持续更新大佬们关注我种个草不亏 学起来开整Java8 BiConsumerT, U函数接口使用分享。 BiConsumerT, U 跟我们熟悉的 Consumer T 很像核心思想也是一样的两者都是表达消费的意思 源码 BiConsumerT, U 提供了两个方法 void accept(T t, U u)传入两个泛型参数当然方法实现想怎么用自己玩可以看下面示例场景BiConsumerT, U andThen(BiConsumer? super T, ? super U after)可以理解为在执行 accept 方法前先执行一个前置方法前置方法执行完成后会接着执行 accept 方法 源码 FunctionalInterface public interface BiConsumerT, U {void accept(T t, U u);default BiConsumerT, U andThen(BiConsumer? super T, ? super U after) {Objects.requireNonNull(after);return (l, r) - {accept(l, r);after.accept(l, r);};} }accept 方法示例 tips: 需要配合文末示例相关代码类食用 示例一 查询所有学生的成绩 Testpublic void test() {StudentScoreDto studentScoreDto new StudentScoreDto();Student student new Student();this.doHandler(student, studentScoreDto, StudentAssemble::queryList, StudentAssemble::calcSort);System.out.println(JSONObject.toJSONString(studentScoreDto));}执行结果 示例二 查询 “张三” 同学的成绩 Testpublic void test() {StudentScoreDto studentScoreDto1 new StudentScoreDto();Student student1 new Student();student1.setName(张三);this.doHandler(student1, studentScoreDto1, StudentAssemble::queryList, StudentAssemble::calcSort);System.out.println(JSONObject.toJSONString(studentScoreDto1));}执行结果 andThen 方法示例 示例一 查询所有学生的成绩并且输出第一名是哪位同学 Testpublic void test() {StudentScoreDto studentScoreDto2 new StudentScoreDto();Student student2 new Student();this.doHandler(student2, studentScoreDto2, StudentAssemble::queryList, StudentAssemble::calcSort, StudentAssemble::findFirst);System.out.println(JSONObject.toJSONString(studentScoreDto2));}执行结果 示例二 查询所有学生的成绩并且输出 “李四” 同学的排名和总分 Testpublic void test() {StudentScoreDto studentScoreDto3 new StudentScoreDto();studentScoreDto3.setName(李四);Student student3 new Student();this.doHandler(student3, studentScoreDto3, StudentAssemble::queryList, StudentAssemble::calcSort, StudentAssemble::findFirst);System.out.println(JSONObject.toJSONString(studentScoreDto3));}执行结果 示例相关代码类 tips: 需要配合文末示例相关代码类食用 dohandler 方法 tip注意这里是方法 public void doHandler(Student student,StudentScoreDto dto,FunctionStudent, ListStudentScore func1,BiConsumerListStudentScore, StudentScoreDto func2) {ListStudentScore apply func1.apply(student);func2.accept(apply, dto);}public void doHandler(Student student,StudentScoreDto dto,FunctionStudent, ListStudentScore func1,BiConsumerListStudentScore, StudentScoreDto func2,BiConsumerListStudentScore, StudentScoreDto func3) {ListStudentScore apply func1.apply(student);func2.accept(apply, dto);func3.andThen(func2).accept(apply, dto);}student.java AllArgsConstructor NoArgsConstructor Data public class Student {/*** 姓名*/private String name;/*** 年龄*/private Integer age;/*** 生日*/JSONField(formatyyyy-MM-dd HH:mm:ss)private Date birthday;/*** 学号*/private Integer num;Overridepublic String toString() {return Student{ name name \ , age age , birthday birthday , num num };}StudentScore.java AllArgsConstructor NoArgsConstructor Data public class StudentScore {/*** 名称*/private String name;/*** 科目*/private String subject;/*** 成绩*/private Integer score;}StudentScoreDto.java AllArgsConstructor NoArgsConstructor Data public class StudentScoreDto {/*** 名称*/private String name;/*** 科目*/private String subject;/*** 成绩*/private Integer score;/*** 个人排名*/private Integer rank;/*** 全班排名*/private ListStudentScoreDto rankList;}StudentAssemble.java public class StudentAssemble {/*** 查询学生成绩列表** param student 学生实体对象* return 学生成绩集合*/public static ListStudentScore queryList(Student student) {// 模拟查询学生信息ListStudentScore studentScores Arrays.asList(new StudentScore(张三, 语文, 81),new StudentScore(张三, 数学, 88),new StudentScore(张三, 英语, 90),new StudentScore(李四, 语文, 72),new StudentScore(李四, 数学, 97),new StudentScore(李四, 英语, 77),new StudentScore(王五, 语文, 95),new StudentScore(王五, 数学, 62),new StudentScore(王五, 英语, 92));if (Objects.isNull(student) || StringUtils.isEmpty(student.getName())) {return studentScores;}String name student.getName();return studentScores.stream().filter(e - name.equals(e.getName())).collect(Collectors.toList());}/*** 计算总分以及排名** param studentScoreList 学生成绩集合* param studentScoreDto 学生成绩DTO*/public static void calcSort(ListStudentScore studentScoreList, StudentScoreDto studentScoreDto) {if (studentScoreList null || studentScoreList.size() 0) {return;}ListStudentScoreDto tempList new ArrayList();MapString, ListStudentScore studentScoreMap studentScoreList.stream().collect(Collectors.groupingBy(StudentScore::getName));for (ListStudentScore value : studentScoreMap.values()) {if (value null || value.size() 0) continue;StudentScore studentScore value.get(0);// 汇总学生总成绩如果成绩不存在则直接给0Integer sumScore value.stream().map(StudentScore::getScore).reduce(Integer::sum).orElse(0);StudentScoreDto resultDto new StudentScoreDto();resultDto.setName(studentScore.getName());resultDto.setScore(sumScore);tempList.add(resultDto);}AtomicInteger counter new AtomicInteger(1);// 处理排名ListStudentScoreDto resultList tempList.stream().sorted(Comparator.comparing(StudentScoreDto::getScore).reversed()).collect(Collectors.toList());resultList.forEach(e - e.setRank(counter.getAndIncrement()));studentScoreDto.setRankList(resultList);}/*** 查询学生成绩** param studentScoreList 学生成绩集合* param studentScoreDto 学生成绩DTO*/public static void findFirst(ListStudentScore studentScoreList, StudentScoreDto studentScoreDto) {if (studentScoreList null || studentScoreList.size() 0) {return;}ListStudentScoreDto rankList studentScoreDto.getRankList();if (StringUtils.isEmpty(studentScoreDto.getName())) {// 学生名称为空则输出第一名OptionalStudentScoreDto first rankList.stream().min(Comparator.comparing(StudentScoreDto::getRank));if (first.isPresent()) {StudentScoreDto studentScoreDto1 first.get();System.out.println(第一名是 studentScoreDto1.getName() , 总分 studentScoreDto1.getScore());}return;}// 学生名称不为空则输出学生排名OptionalStudentScoreDto first rankList.stream().filter(e - studentScoreDto.getName().equals(e.getName())).findFirst();if (first.isPresent()) {StudentScoreDto studentScoreDto1 first.get();System.out.println(studentScoreDto1.getName() 排名 studentScoreDto1.getRank() , 总分 studentScoreDto1.getScore());}}感 谢 各 位 大 佬 的 阅 读随 手 点 赞日 薪 过 万~
http://www.yayakq.cn/news/3555/

相关文章:

  • 北京网站建设市场网站内容 优化
  • 上海网站建设企企业 cms
  • 建网站费用记账wordpress导航栏字体
  • 网站html模板下载青岛哪家公司做网站好
  • 个人可以建门户网站吗网站建设的安全性问题
  • 河南天元建设公司网站山东东营市经济怎么样
  • 主流网站建设做推送实用网站
  • 照片书哪家网站做的好付银行的网站建设费的会计科目
  • 制作平台网站费用搜索百度指数
  • wordpress网站中英文切换深圳网站建设 沙漠风
  • 富利建设集团有限公司网站广西桂林旅游攻略自由行攻略
  • 如何建立网站 个人朝阳网站建设开发
  • 精品简历模板网站标志设计图片及说明
  • 025网站建设株洲新站建设
  • 企业网站开发定制wordpress 网盘主题
  • 盐田区住房和建设局网站wordpress响应式电商
  • 我要自学网网站开发刚做的网站关键字能搜到么
  • 做网站的公司什么动力一个网站页面设计多少钱
  • 网页制作ppt模板成都百度推广排名优化
  • 网站推广的基本方法是哪四个工程公司需要哪些资质证书
  • 湖州吴兴建设局网站大型门户网站系统
  • 河北邯郸网站建设公司临夏网站建设
  • 做网站 最好的开源cms云搜索神器
  • 泉州自助建站网页设计与制作介绍
  • 电子政务服务网站建设贵州手机网站建设
  • dnf网站上怎么做商人的品质网站建设
  • 网站系统搭建网站建设数据表设计 性别
  • 外贸做企业什么网站建设内容营销英文
  • 公司网站改版设计小型企业网站排名前十
  • 网站建设就业前景网页设计工作心得