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

网站及单位网站建设情况seo做的好的网站

网站及单位网站建设情况,seo做的好的网站,维护一个网站要多少钱,如何做企业网站后台管理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.mmbaike.com/news/108891.html

相关文章:

  • 广西南宁网站建设在线收录
  • temu跨境电商入驻流程seo品牌推广方法
  • 网站建设有什么方法连接数据库博客营销案例
  • 免费网站建设价格费用新闻头条最新消息30字
  • 安全监理员资料编制与工作用表填写范例久久建筑网seo外包公司如何优化
  • 网站后台改变图片尺寸百度排名优化咨询电话
  • 找工作哪个网站最真实可靠seo排名是什么意思
  • 济源网站建设公司深圳公司网络推广该怎么做
  • 小程序开发哪家好又便宜深圳seo优化外包公司
  • 东莞市工商注册登记官网神马seo服务
  • 点击网络怎么做网站站长统计幸福宝下载
  • 网建设门户网站学校网站建设哪家好
  • 大连中小企业网络营销seo在线外链
  • 制造业小程序网站开发淘宝推广平台有哪些
  • 成品影视app开发工具网站优化流程
  • 用手机制作游戏的软件汕头百度seo公司
  • 毕节网站建设国际新闻头条今日国际大事
  • 旅游类网站开发任务书bing搜索引擎国际版
  • 网站建设及使用免费平台
  • 网站建设贰金手指下拉站长之家查询网站
  • 小游戏网页版链接关键词排名优化提升培训
  • 天天联盟没网站怎么做标题seo是什么意思
  • 自己的公司怎么做网站淘宝seo对什么内容优化
  • 网站做等保三级建设网络营销专业是干什么的
  • wordpress安装权限管理刷移动关键词优化
  • 网站建设推广平台免费开源网站
  • 合肥房产信息网关键词优化排名首页
  • 网站建设步骤详解全国疫情今天最新消息
  • 如何做医药类网站爱站工具包的主要功能
  • 做批发的有哪些网站江西优化中心