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

网站的构成元素网站设计人员就业要求

网站的构成元素,网站设计人员就业要求,江苏建设工程信息网官网入口,租二级目录做网站Java中如何使用lambda表达式分类groupby Java中如何使用lambda表达式分类groupby分类问题场景传统手写方式lambda使用groupBy()方法一行结束!!!完整代码 Java中如何使用lambda表达式分类groupby 分类问题场景 比如一群学生根据性别和年龄排…

Java中如何使用lambda表达式分类groupby

  • Java中如何使用lambda表达式分类groupby
      • 分类问题场景
      • 传统手写方式
      • lambda使用groupBy()方法一行结束!!!
      • 完整代码

Java中如何使用lambda表达式分类groupby

分类问题场景

比如一群学生根据性别和年龄排队,Student类有性别gender、年龄age属性,将同性别,同年龄的学生归为一类

genderagename队伍
man12Li Hua队伍1
man12Zhang San队伍1
man13Li Si队伍2
woman12Xiao Hua队伍3
woman12Xiao Fang队伍3

传统手写方式

使用for循环遍历

public static void main(String[] args) {// 读取学生信息List<Student> students = generateStudents();// 排队Map<String, Map<Integer, List<Student>>> queue = queueUp(students);// 打印队伍结果printQueue(queue);
}private static Map<String, Map<Integer, List<Student>>> queueUp(List<Student> students) {// 队伍结果Map<String, Map<Integer, List<Student>>> queue = new HashMap<>();// 传统排队方式for (Student student : students) {if (!queue.containsKey(student.getGender())) {queue.put(student.getGender(), new HashMap<>());}Map<Integer, List<Student>> ageMap = queue.get(student.getGender());if (!ageMap.containsKey(student.getAge())) {List<Student> list = new ArrayList<>();list.add(student);ageMap.put(student.getAge(), list);} else {ageMap.get(student.getAge()).add(student);}}return queue;
}

输出结果

|gender|age|name      |
|------|---|----------|
|woman |12 |Xiao Hua  |
|woman |12 |Xiao Fang |
|man   |12 |Li Hua    |
|man   |12 |Zhang San |
|man   |13 |Li Si     |

lambda使用groupBy()方法一行结束!!!

private static Map<String, Map<Integer, List<Student>>> queueUpWithLambda(List<Student> students) {return students.stream().collect(Collectors.groupingBy(Student::getGender, Collectors.groupingBy(Student::getAge)));
}

完整代码

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;public class DemoForGroupBy {@Getter@Setter@NoArgsConstructor@AllArgsConstructorpublic static class Student {private String gender;private int age;private String name;}public static void main(String[] args) {// 读取学生信息List<Student> students = generateStudents();// 排队Map<String, Map<Integer, List<Student>>> queue = queueUp(students);// 打印队伍结果printQueue(queue);queue = queueUpWithLambda(students);printQueue(queue);}private static Map<String, Map<Integer, List<Student>>> queueUp(List<Student> students) {// 队伍结果Map<String, Map<Integer, List<Student>>> queue = new HashMap<>();// 传统排队方式for (Student student : students) {if (!queue.containsKey(student.getGender())) {queue.put(student.getGender(), new HashMap<>());}Map<Integer, List<Student>> ageMap = queue.get(student.getGender());if (!ageMap.containsKey(student.getAge())) {List<Student> list = new ArrayList<>();list.add(student);ageMap.put(student.getAge(), list);} else {ageMap.get(student.getAge()).add(student);}}return queue;}private static Map<String, Map<Integer, List<Student>>> queueUpWithLambda(List<Student> students) {return students.stream().collect(Collectors.groupingBy(Student::getGender, Collectors.groupingBy(Student::getAge)));}private static List<Student> generateStudents() {List<Student> students = new ArrayList<>();String[] genderArray = new String[]{"man", "man", "man", "woman", "woman"};int[] ageArray = new int[]{12, 12, 13, 12, 12};String[] nameArray = new String[]{"Li Hua", "Zhang San", "Li Si", "Xiao Hua", "Xiao Fang"};for (int i = 0; i < nameArray.length; i++) {Student student = new Student(genderArray[i], ageArray[i], nameArray[i]);students.add(student);}return students;}private static void printQueue(Map<String, Map<Integer, List<Student>>> queue) {System.out.printf("|%-6s|%-3s|%-10s|%n", "gender", "age", "name");System.out.printf("|%-6s|%-3s|%-10s|%n", "------", "---", "----------");for (Map.Entry<String, Map<Integer, List<Student>>> entry : queue.entrySet()) {for (Map.Entry<Integer, List<Student>> e : entry.getValue().entrySet()) {for (Student student : e.getValue()) {System.out.printf("|%-6s|%-3d|%-10s|%n", student.getGender(), student.getAge(), student.getName());}}}}}

文章转载自:

http://GarRza6g.kwhrq.cn
http://LoNSGoO5.kwhrq.cn
http://coK8QpUA.kwhrq.cn
http://uv9G9Jfc.kwhrq.cn
http://F1Y4hAXg.kwhrq.cn
http://npE9EJ0S.kwhrq.cn
http://lsZ3e3wt.kwhrq.cn
http://kqvvCuw6.kwhrq.cn
http://mUIWUR1t.kwhrq.cn
http://UU35KyX0.kwhrq.cn
http://iXJEmBHT.kwhrq.cn
http://LWf288Nx.kwhrq.cn
http://yEDA4ywS.kwhrq.cn
http://25Nwboij.kwhrq.cn
http://b43FIjCX.kwhrq.cn
http://kq9dPxeK.kwhrq.cn
http://qsrCwmlT.kwhrq.cn
http://e1u4PbIn.kwhrq.cn
http://esrKXye7.kwhrq.cn
http://wxDzqxrP.kwhrq.cn
http://JDvQdgqq.kwhrq.cn
http://hN24Z0bq.kwhrq.cn
http://FJPhd42Q.kwhrq.cn
http://Cbf0EqAT.kwhrq.cn
http://2sdsddqn.kwhrq.cn
http://FtQu5ECY.kwhrq.cn
http://2gCOooWi.kwhrq.cn
http://WX5LFtAy.kwhrq.cn
http://QCJ0fdNa.kwhrq.cn
http://91CQ6JoI.kwhrq.cn
http://www.dtcms.com/wzjs/677611.html

相关文章:

  • 无极网站维护wordpress置顶文章全文显示
  • 阿里云空间可以做网站吗房产网站排行榜
  • 网站设计大小在线制作印章公章
  • 大型电商网站开发大型网站 建设意义
  • 长沙做网站 必看 磐石网络建网站代理
  • 南阳网站制作公司中国建设银行网站密码忘了怎么办
  • 微信开发者平台介绍网络优化工程师面试题
  • 各大网站发布网站建设行业的前景
  • 企业公示信息年报该如何建设和优化一个网站
  • 一个好的网站建设需要多少钱第一次网页设计实训总结
  • 大学生网站规划建设工程建设沈阳网
  • 做360手机网站首页国内优秀的网站
  • 建设银行网站会员有什么用杭州正规制作网站公司吗
  • 微商货源类网站源码竹子建站下载
  • 网站推广模板网站地图样本
  • 网站制作费用贵不贵网站怎么做友链
  • 用手机什么软件做网站网站底部浮动电话广告
  • 建设规范文件在哪个网站发布像发微博 发wordpress
  • 网站开发名列前茅网站怎么做用户体验
  • 怎么建设属于自己的网站爱做网站视频
  • 昆山 网站建设小白网站建设教程
  • 有网站教做水电资料吗阿里云域名注册好后怎么建设网站
  • 做网站需要域名 域名是啥论坛网站建设软件
  • 做html5网站教育网站集群建设申请
  • 装修公司网站平台网站流量工具
  • 网站开发中视屏怎样编辑到网页上广州开发区人才交流服务中心
  • 英文网站建设服务合同网站推广需要多少钱
  • 科研院所网站建设公司网站制作商
  • 网站建设创新能力痛点网站推广策略
  • 百度怎样做网站并宣传网站163邮箱入口