对List集合中的对象进行按某个属性排序
2019-03-29 10:30
281 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/csdn_username123/article/details/88884924
谨以此文献给天上星
一 、通过code自然排序
[code]resultList.sort((h1, h2) -> h1.getCode().compareTo(h2.getCode()));
二 、通过code反序排列
[code]Comparator<ProomRealTimeOut> comparator = (h1, h2) -> h1.getCode().compareTo(h2.getCode()); resultList.sort(comparator.reversed());
注:换一下h1,h2顺序也可以实现反序
三 、通过code自然排序
[code]Collections.sort(resultList, (v1, v2) -> v1.getCode().compareTo(v2.getCode()));
注:这种和本质上和第一种一样
四、通过code自然排序
[code]List<ProomRealTimeOut> collect = resultList.stream().sorted((h1, h2) -> h1.getCode().compareTo(h2.getCode())).collect(Collectors.toList());
注:stream的排序不会操作原对象,必须收集排序结果。即collect为已排序List
以上方法均有无comparator参数的重载方法,方法默认使用List内对象的compare方法,即对象必须实现Comparable接口重写compareTo方法
############################################################################################################################################################################################
(h1, h2) -> h1.getCode().compareTo(h2.getCode())本质是通过Lambda 表达式实现了Comparator<T>函数式接口的compare方法,该方法有两个T型的入参即h1,h2,一个int型的出参即h1.getCode().compareTo(h2.getCode())
相关文章推荐
- 如何根据对象的属性,对集合(list / set)中的对象进行排序
- 如何对List集合中的对象进行按某个属性排序
- List集合中删除属性(一个或者多个属性)相同的对象返回List且根据对象属性进行排序输出
- C#中对List<Object>泛型集合,根据对象的某一属性进行升序排序
- list集合根据对象属性去重以及根据对象某个属性逆序排序,相同则使用另一个进行排序
- 对list集合中的POJO对象某个属性进行排序(String或者数值)
- 如何根据对象的属性,对集合(list / set)中的对象进行排序
- 对list集合中的对象按照对象的某一属性进行排序
- java中对List对象集合进行排序
- 定义一个List集合并实例化对应的实现类对象。循环输入任意个整数,输入0结束输入循环,对集合中的数据进行从大到小的排序后输出
- Java实现根据List中对象的相应属性进行排序
- List集合中的对象根据属性排序
- List集合对象中按照不同属性大小排序
- List集合中的对象根据属性排序
- 对List<>中对象的属性进行排序。
- 根据list对象的某一个属性进行排序
- java list按照元素对象的指定多个字段属性进行排序
- List集合中的对象根据属性排序
- Java:集合,对列表(List)中的自定义对象按属性(字段)排序(正序、倒序)的方法
- List对象利用属性进行排序的通用工具类