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

私人订制网站建设淘宝优惠劵网站怎么做

私人订制网站建设,淘宝优惠劵网站怎么做,莱芜在线老板是谁,哪个网站帮别人做pptStream流的groupingBy 简单使用 业务场景#xff1a;现在有100个人#xff0c;这些人都年龄分部在18-30岁之间。现要求把他们按照年龄进行分组 key#xff1a;年龄 value#xff1a;数据列表 public void listToMapGroup() {//这里假设通过listStreamService.list();方法…Stream流的groupingBy 简单使用 业务场景现在有100个人这些人都年龄分部在18-30岁之间。现要求把他们按照年龄进行分组 key年龄 value数据列表 public void listToMapGroup() {//这里假设通过listStreamService.list();方法查询了这100人ListPerple list perpleService.list();//按照age进行分组MapInteger, ListPerple result list.stream().collect(Collectors.groupingBy(Perple::getAge));//打印结果result.forEach((k, v) - {System.out.println(k);System.out.println(v);System.out.println(--------------------);}); }效果相当于是把list这个集合里面存放的100个人每个人都调用Perple的getAge方法按照getAge方法的返回值进行分组。每个组是一个MapInteger, List类型的对象。MapInteger, List的键是getAge的返回值即分组的依据。MapInteger, List的值是这个年龄对应组中的成员。 如果要进行排序 分组之后是不能对每个分组进行比较的也就无法排序因为groupingBy是一个终结流。 Collectors.groupingBy(Function? super T, ? extends K classifier, Collector? super T, A, D downstream) 这里有两个思路 1:提前排序再进行分组 2:分组后对Map进行处理对其每个value排序 做法一 提前排序再进行分组. 这里还展示了一些groupingBy方法的扩展用法。 import com.alibaba.fastjson.JSONObject; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; import java.util.Map; import java.util.stream.Collectors;public class Test {public static void main(String[] args) {Student student1 new Student(1, 1);Student student2 new Student(1, 1);Student student3 new Student(2, 2);Student student4 new Student(2, 3);Student student5 new Student(3, 3);Student student6 new Student(3, 4);Student student7 new Student(4, 1);Student student8 new Student(4, 1);Student student9 new Student(4, 2);Student student10 new Student(4, 1);ListStudent list Arrays.asList(student1, student2, student3, student4, student5, student6, student7, student8, student9, student10);System.out.println(--------- 根据字段分组求每个分组的sum ----------);MapInteger, Integer collect list.stream().collect(Collectors.groupingBy(Student::getId, Collectors.summingInt(Student::getScore)));System.out.println(collect.toString());System.out.println(--------- 根据字段分组求每个分组的count ----------);MapInteger, Long countMap list.stream().collect(Collectors.groupingBy(Student::getId, Collectors.counting()));System.out.println(countMap.toString());System.out.println(--------- 根据字段分组每个分组为对象的指定字段 ----------);MapInteger, ListInteger groupMap list.stream().collect(Collectors.groupingBy(Student::getId, Collectors.mapping(Student::getScore, Collectors.toCollection(ArrayList::new))));System.out.println(groupMap.toString());System.out.println(--------- 根据字段分组,默认分组 ----------);MapInteger, ListStudent defaultGroupMap list.stream().collect(Collectors.groupingBy(Student::getId));System.out.println(JSONObject.toJSONString(defaultGroupMap));System.out.println(--------- 根据字段分组每个分组按照指定字段进行生序排序 ----------);MapInteger, ListStudent sortGroupMap list.stream().sorted(Comparator.comparing(Student::getScore)).collect(Collectors.groupingBy(Student::getId));System.out.println(JSONObject.toJSONString(sortGroupMap));System.out.println(--------- 先排序再分组 ----------);MapInteger, ListStudent reversedSortGroupMap list.stream().sorted(Comparator.comparing(Student::getScore).reversed()).collect(Collectors.groupingBy(Student::getId));System.out.println(JSONObject.toJSONString(reversedSortGroupMap));} }class Student {private Integer id;private Integer score;public Integer getId() {return id;}public void setId(Integer id) {this.id id;}public Integer getScore() {return score;}public void setScore(Integer score) {this.score score;}public Student(Integer id, Integer score) {this.id id;this.score score;} } 执行结果 --------- 根据字段分组求每个分组的sum ---------- {12, 25, 37, 45} --------- 根据字段分组求每个分组的count ---------- {12, 22, 32, 44} --------- 根据字段分组每个分组为对象的指定字段 ---------- {1[1, 1], 2[2, 3], 3[3, 4], 4[1, 1, 2, 1]} --------- 根据字段分组,默认分组 ---------- {1:[{id:1,score:1},{id:1,score:1}],2:[{id:2,score:2},{id:2,score:3}],3:[{id:3,score:3},{id:3,score:4}],4:[{id:4,score:1},{id:4,score:1},{id:4,score:2},{id:4,score:1}]} --------- 根据字段分组每个分组按照指定字段进行生序排序 ---------- {1:[{id:1,score:1},{id:1,score:1}],2:[{id:2,score:2},{id:2,score:3}],3:[{id:3,score:3},{id:3,score:4}],4:[{id:4,score:1},{id:4,score:1},{id:4,score:1},{id:4,score:2}]} --------- 先排序再分组 ---------- {1:[{id:1,score:1},{id:1,score:1}],2:[{id:2,score:3},{id:2,score:2}],3:[{id:3,score:4},{id:3,score:3}],4:[{id:4,score:2},{id:4,score:1},{id:4,score:1},{id:4,score:1}]} 做法二 先分组再排序。 先将数据进行groupingBy得到MapLong, List 在通过forEach对每个List进行排序 MapLong, ListStreamMapEntity map getMap();System.out.println(------ flatMap 处理MapLong,ListStreamMapEntity ------);System.out.println();System.out.println(初始数据 JSONObject.toJSONString(map));System.out.println();map.keySet().forEach(key - map.computeIfPresent(key, (k, v) - v.stream().sorted(Comparator.comparing(StreamMapEntity::getId).reversed()).collect(Collectors.toList())));System.out.println(处理map对map内的每个list进行排序);System.out.println(JSONObject.toJSONString(map)); 执行结果 ------ flatMap 处理MapLong,ListStreamMapEntity ------初始数据{1111:[{id:1,name:aa},{id:2,name:bb},{id:3,name:cc},{id:4,name:dd}],2222:[{id:5,name:ee},{id:6,name:ff},{id:7,name:gg},{id:8,name:hh}]}处理map对map内的每个list进行排序 {1111:[{id:4,name:dd},{id:3,name:cc},{id:2,name:bb},{id:1,name:aa}],2222:[{id:8,name:hh},{id:7,name:gg},{id:6,name:ff},{id:5,name:ee}]}
http://www.hkea.cn/news/14285355/

相关文章:

  • 腾讯官方网站qq注册免费网站建设基础步骤
  • 农场游戏系统开发 网站建设推广关于电商平台
  • 网站开发最佳组合找个做游戏的视频网站
  • 深圳地区5g微波网站建设计划灰色关键词排名优化
  • wap网站前景whois 查询系统
  • 东莞建外贸网站做网站销售怎么样
  • 做一个手机网站成本莱芜半岛
  • 设计网站大概多少钱wordpress 添加链接
  • 找人做个小程序多少钱新区快速seo排名
  • 网站建设的视频河北百度推广
  • 编程猫官方网站wordpress图像添加音频
  • 微网站建设开发工具品牌推广策略
  • 产品展示网站php源码做外贸到那个网站
  • 嘉兴企业网站苏州优化件
  • 网站空间管理地址wordpress俄语
  • 网站留言短信提醒网站建设销售工资
  • 怎么建设网站平台个人工商查询官网入口查询
  • 老网站301跳转新网站深圳网站建设报价表
  • 军棋是哪个网站开发的wordpress显示文章id
  • 2015微信网站开发网站建设的公司有哪些方面
  • 视频网站开发的视频放在哪网络科技有限公司的简介
  • 网站系统分析报告网页设计与网站建设试题及答案
  • 织梦网站搬迁工程服务建设网站
  • 个人网站企业网站建投商务网登录
  • iis做网站的流程美图在线图片编辑器
  • 做网站怎么开发程序南京网站费用网站建设
  • 个人网站建设研究意义百度问问
  • 网站备案管理系统登录不上去北京工程建设交易信息网官网
  • 网站建设流程文字稿南京网站建设开发公司
  • 分类门户网站开发团队做暧暧网站在线