list.sort和list.stream.sorted
问题描述
最近写接口的时候,查完数据顺手排序了一下,结果列表数据始终是乱序的,查了好久都没看出问题,最后才发现是自己写list.sort写习惯了,把list.stream.sorted也当成list.sort使用了。
知识盘点
一、list.sort
用法
templateObjs.sort(Comparator.comparing(AnalysisTemplateObj::getGroupKey,Comparator.nullsFirst(Comparator.naturalOrder())).thenComparing(AnalysisTemplateObj::getOrder,Comparator.nullsFirst(Comparator.naturalOrder())));
源码分析
default void sort(Comparator<? super E> c) {Object[] a = this.toArray();Arrays.sort(a, (Comparator) c);ListIterator<E> i = this.listIterator();for (Object e : a) {i.next();i.set((E) e);}}
可以看出:sort() 方法根据指定的顺序对动态数组中的元素进行排序,它不返回任何值,只是更改动态数组列表中元素的顺序。
二、list.stream.sorted
List<SummaryExecuteConfigEntity> list = list.stream().sorted(Comparator.comparing(SummaryExecuteConfigEntity::getOrder,Comparator.nullsFirst(Comparator.naturalOrder()))).collect(Collectors.toList());
list.sort和list.stream.sorted相关推荐
- java sort 效率_性能对比:collections.sort vs treeSet sort vs java8 stream.sorted
0 写在前面的话 在项目中有一个排序问题,考虑到未来需要排序的数据量可能很大,想用一个性能较好的排序算法,现在有三套解决方法:jdk提供的集合的sort方法(Collections.sort).一个可 ...
- Java8-使用stream.sorted()对List排序
1.流的定义 Stream 中文称为 "流",通过将集合转换为这么一种叫做 "流" 的元素序列,通过声明性方式,能够对集合中的每个元素进行一系列并行或串行的操作 ...
- java util包排序,利用stream sorted进行降序排序
根据value值的大小进行降序排序,并进行截取. public static void main(String[] args) { List> list = Lists.newArrayList ...
- Java8 stream sorted排序时包括null
1. 需求:JDK8 stream sort排序时,排序字段有null 1,查找stream.sorted源码看到有Comparator.nullsFirst和Comparator.nullsLast ...
- JDK8 集合排序 xxxList.stream.sorted(...)
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. # 默认 list.stream().sorted() list.stream().sorted(C ...
- java sortedlist 固定容量_Java8 使用 stream().sorted()对List集合进行排序的操作
1.声明一个测试对象 import java.time.LocalDate; import java.util.List; import lombok.Data; @Data public class ...
- java8的sorted,Java8排序stream.sorted()
使用Java8排序stream.sorted() sorted-example 国外对Java8一系列总结的不错, 翻译过来给你们共享 这篇文章将会讲解Java 8 Stream sorted()示例 ...
- JDK 8 之 Stream sorted() 示例
原文链接:http://www.concretepage.com/java/jdk-8/java-8-stream-sorted-example 国外对Java8一系列总结的不错, 翻译过来给大家共享 ...
- Java stream().sorted()实现排序(升序、降序、多字段排序)
1 自然排序 sorted():自然排序,流中元素需实现Comparable接口 package com.entity;import lombok.*;@Data @ToString @AllArgs ...
最新文章
- [转] linux系统文件流、文件描述符与进程间关系详解
- Hadoop 2.X 从入门到精通系列视频课程套餐
- 【Windows 逆向】使用 CE 分析内存地址 ( 运行游戏 | 使用 CE 工具分析游戏内子弹数量对应的内存地址 | 内存地址初步查找 | 使用二分法定位最终的内存地址 )
- 第5章-Vue.js交互及生命周期练习
- tf.gather( )的详细解析
- 做好项目,从正确定义问题开始!
- Stream操作Collection集合
- 【DSP开发】HyperLink 编程和性能考量
- pb 判断sql 是否合法_宜信技术|《SQL优化最佳实践》作者带你重新了解SQL
- Mac上重装pycharm打不开的解决方法
- 「非推广」为什么我说本是设计师专属的『数位板』,也是程序猿+科研狗的开会神器?
- IRF(智能弹性架构)
- 一键重装系统后电脑黑屏怎么办,电脑系统重装黑屏
- ECharts地图,自定义map地图显示不同图标点,点击标点显示不同弹框
- isam 驱动程序 下载_将ISAM反向代理配置为与OpenID连接提供程序的PEP
- 练习-Java多路分支之月份天数计算
- ProGuard入门
- 推荐系统学习笔记——四、Netfilx经典推荐系统架构
- Python使用问题锦集
- java设计一个排队叫号系统_一个简易的叫号系统实现方案
热门文章
- [转载]高一语文必修一寒假作业二
- MySQL中Invalid default value错误解决方法
- tableau-计算一个月内的第几周
- 怎样制作u盘系统安装盘图文教程
- html div peidui,AirPods怎么删除配对过的设备 airpods可以和电脑连接的。
- 助力高效办公,TOM企业邮箱网页版全面升级
- 微博实时话题和搜索微博实时抓取
- 聊聊“元宇宙” —— 设备篇
- matlab怎么输入斜杠,如何实现Matlab的mldivide(又称反斜杠运算符“ \”)
- java 替换斜杆与反斜杠