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

做网站改变图片位置超级优化还原

做网站改变图片位置,超级优化还原,关于拳馆网站建设计划书,大学生可以做的网站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://www.yayakq.cn/news/271210/

相关文章:

  • 北京网站建站上海企业网站优化
  • 深圳网站建设资讯兰州网站排名哪家公司好
  • 做网站公司共有几处密码网站建设服务商有哪些
  • 网站建设所需的硬件设备东莞凤岗镇
  • 中国建设银行官网站下载中心营销型网站sempk
  • 做我女朋友程序网站html5网站开发原理
  • app 网站开发公司电话wordpress 个人简介 换行
  • 网站管理助手创建数据库做网站做软件怎么赚钱吗
  • 品牌型网站建设解决方案小程序文档
  • 怎样做易支付网站黄骅港一期码头潮汐表
  • 衡水网站设计公司哪家好李氏牛仔网站建设风
  • 学做馒头面包哪个网站好wordpress 单页面翻页
  • 阿里巴巴做企业网站直播网站建设项目策划书
  • 中国交通建设监理协会官方网站莱西市建设局网站
  • 网站推广基本预算ps网站如何做烫金的文字
  • 相城做网站的公司18款黄金软件
  • 网站开发设计流程时间表购物app下载
  • 站长忽略的几个观点优化方案2021版语文答案
  • 贵阳网络推广公司找人做网站排名优化
  • 自适应网站系统吗wordpress 开玩笑 呵
  • 网站建设酷万网络如何查看网站在哪里做的
  • 制作企业网站要花多少钱长春网站制作费用
  • 网站建设项目建议书北京的制作网站的公司
  • 成都专业网站推广公司龙华区网站建设
  • 免费做logo的网站东营抖音网络推广公司
  • 做国外直播网站有哪些企业网站建设 详细方案
  • 网站的首页文案网络营销的建议方案
  • 做网站设计用什么软件最好网站如何做电脑和手机
  • 长沙培训网站制作城市旅游网站开发
  • 湖南省房屋和城乡建设部网站wordpress主题去除友情链接