首页 > 其他分享 >jdk8 stream部分排序方法

jdk8 stream部分排序方法

时间:2023-02-27 17:56:56浏览次数:33  
标签:Comparator stream 降序 list jdk8 升序 排序 属性

List<类> list; 代表某集合
 
//返回 对象集合以类属性一升序排序
 
list.stream().sorted(Comparator.comparing(类::属性一));
 
//返回 对象集合以类属性一降序排序 注意两种写法
 
list.stream().sorted(Comparator.comparing(类::属性一).reversed());//先以属性一升序,结果进行属性一降序
 
list.stream().sorted(Comparator.comparing(类::属性一,Comparator.reverseOrder()));//以属性一降序
 
//返回 对象集合以类属性一升序 属性二升序
 
list.stream().sorted(Comparator.comparing(类::属性一).thenComparing(类::属性二));
 
//返回 对象集合以类属性一降序 属性二升序 注意两种写法
 
list.stream().sorted(Comparator.comparing(类::属性一).reversed().thenComparing(类::属性二));//先以属性一升序,升序结果进行属性一降序,再进行属性二升序
 
list.stream().sorted(Comparator.comparing(类::属性一,Comparator.reverseOrder()).thenComparing(类::属性二));//先以属性一降序,再进行属性二升序
 
//返回 对象集合以类属性一降序 属性二降序 注意两种写法
 
list.stream().sorted(Comparator.comparing(类::属性一).reversed().thenComparing(类::属性二,Comparator.reverseOrder()));//先以属性一升序,升序结果进行属性一降序,再进行属性二降序
 
list.stream().sorted(Comparator.comparing(类::属性一,Comparator.reverseOrder()).thenComparing(类::属性二,Comparator.reverseOrder()));//先以属性一降序,再进行属性二降序
 
//返回 对象集合以类属性一升序 属性二降序 注意两种写法
 
list.stream().sorted(Comparator.comparing(类::属性一).reversed().thenComparing(类::属性二).reversed());//先以属性一升序,升序结果进行属性一降序,再进行属性二升序,结果进行属性一降序属性二降序
 
list.stream().sorted(Comparator.comparing(类::属性一).thenComparing(类::属性二,Comparator.reverseOrder()));//先以属性一升序,再进行属性二降序<br><br><br>

 

分组

Map<String, List<AppAveUseTimeBase>> map = appAveUseTimeBase.stream()
.collect(Collectors.groupingBy(item -> item.getAppName()));

标签:Comparator,stream,降序,list,jdk8,升序,排序,属性
From: https://www.cnblogs.com/lockyluo/p/17161003.html

相关文章

  • 解决数据库表的字段id中间自增断层问题(删除自增主键其中的任意一条数据后,再次插入数据
    万能解决办法:先将该表的id字段删除,然后再重新按照见表需求创建该字段注意!!!!!!!!!!!!!注意!!!!!!!!!!!!!注意!!!!!!!!!!!!!删除之前一定要复制建表时候的SQL语句,以防你删了之后忘了原来的字段咋设置的了!!!!!!!!!!!!!!!按......
  • FileInputStream中的读入方式
    1、fileInputStream.read(bytes)bytes为字节数组变量;该函数表示一次性读取bytes数组大小的字节该函数的返回值有两种:一种是-1,表示文件已读完;另一种是读入的字节......
  • 关于Stream-流的基本操作
    concat:合并两个流 distinct:去重 limit:限制从流中获得前n个数据 skip:跳过前n个数据 iterate(1,x->x+2):无限流,一个起始值和一个生成下一个值的函数sorted(......
  • ArrayList 对象排序实例
    1.importjava.util.ArrayList;2.importjava.util.Collection;3.importjava.util.Collections;4.importjava.util.Comparator;5.6.7.publicclas......
  • 排序
    1.插入排序:源码一:voidInsertSort(vector<int>&arr){ intn=arr.size(); for(inti=0;i<n-1;++i) { //记录有序序列最后一个元素的下标 intend=i; //待......
  • 【算法】排序算法之归并排序
    原文网址:https://zhuanlan.zhihu.com/p/124356219前几回,在前面已经对冒泡排序、直接插入排序、希尔排序、选择排序、快速排序做了说明分析。这回,将对归并排序进行相关说明......
  • python的排序问题
    python的排序方法有两个1nums.sort()#原数组上排序,没有返回值,nums变为有序2#或者3nums=sorted(nums)#原数组不变,会返回一个排好序的新数组 那么如何......
  • 03:成绩排序
     描述给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。输入第一行为n(0<n<20),表示班里的学生数目;接下来的n行,......
  • 02_13_Java语音进阶||day13_Stream流、方法引用(终章)
    第一章Stream流1.1使用传统的方式,遍历集合,对集合中的数据进行过滤用来解决已有集合类【重点】库既有的弊端例:使用传统的方式,遍历集合,对集合中的数据进行过滤只要......
  • 02_15_Java语音进阶||day15_Java基础小节练习(5-8部分)Math、Object,Date,StringBuilder
    第一部分Math类1.1反转键盘录入的字符串。提示:String中toCharArray方法参考答案:publicclassTest1{publicstaticvoidmain(String[]args){......