java8笔记: sorted()之正序倒序

这篇文章将会讲解Java 8 Stream sorted()示例

下面代码以自然序排序一个list

List<Person> listTem = list.stream().sorted() 

自然序逆序元素,使用Comparator 提供的reverseOrder() 方法

List<Person> listTem = list.stream().sorted(Comparator.reverseOrder()) 

使用Comparator 来排序一个list

List<Person> listTem = list.stream().sorted(Comparator.comparing(Person::getAge)) 

把上面的元素逆序

List<Person> listTem = list.stream().sorted(Comparator.comparing(Person::getAge).reversed()) 

注:

Stream方式会copy一个新的list(listTem)。listTem进行remove/add不会影响原list,但是foreach修改内部元素的信息,会导致list也修改。

即:此方式不是正在的深复制。

深复制查看java List复制:浅拷贝与深拷贝

当然还可以不用借助steam方式直接排序:

list.sort(Comparator.comparing(Integer::intValue));

list.sort(Comparator.comparing(Integer::intValue).reversed());

list.sort(Comparator.comparing(Person::getAge));

list.sort(Comparator.comparing(Person::getAge).reversed());

java8笔记: sorted()之正序倒序的更多相关文章

  1. 【变态需求】bootstrapTable列排序-选择正序倒序不排序

    产品经理:那个table排序能不能点击后弹个选项选择正序倒序不排序? -- 那个是bootstrapTable的插件!不支持!改不了!! 注意:数据上假的,效果看http请求参数进行脑补 这是boot ...

  2. Java:集合,对列表(List)中的自定义对象按属性(字段)排序(正序、倒序)的方法

    1. 要求 对列表(List)中的自定义对象,要求能够按照对象的属性(字段)进行排序(正序.倒序). 如:用户对象(Member)有用户名(username).级别(level).出生日期(birth ...

  3. Java:集合,对列表(List)中的数据(整型、字符串、日期等)进行排序(正序、倒序)的方法;字符串按照整型排序的方法

    1. 要求 对List列表中的数据进行排序(正序.倒序),列表中的数据包括:整型(Integer).字符串(String).日期(Date)等.对于字符串,要求允许对它按照整型进行排序. 2. 实现思 ...

  4. JS通过sort(),和reverse()正序和倒序

    sort()正序   var array1 = [0,1,5,10,15]; array1.sort();//结果为:0,1,10,15,5   请注意,上面的代码没有按照数值的大小对数字进行排序,要 ...

  5. js 正序、倒序、按字段排序方法

    js 基础--sort方法: arrayObject.sort(sortby); 参数:定义排序规则(正序.倒序.按字段排序)的函数: 返回值:对数组的引用.请注意,数组在原数组上进行排序,不生成副本 ...

  6. Django查询结果以时间正序或者倒序排列

    正序 time1 = details.objects.all().order_by('time') 倒序 time2 = details.objects.all().order_by('-time')

  7. 【java基础学习一】int[]、Integer[]、String[] 排序( 正序、倒叙)、去重

    调用: //重复项有9.5.1.2 int[] ints = new int[]{9,4,7,8,2,5,1,6,2,5,9,1}; arrayIntTest(ints); ///////////// ...

  8. angular js 正序倒叙

      <!DOCTYPE html>   <html lang="en">   <head>   <meta charset="U ...

  9. C#数组的排序(正序逆序)

    C#数组的排序(正序逆序) 这种排序 超级简单的 ! using System; using System.Collections.Generic; using System.Linq; using ...

随机推荐

  1. MySQL的配置文件无法修改的解决办法(Win8)

    问题描述      修改mysql5.7安装目录下my-default.ini发现不起作用: MySQL的版本是5.7,操作系统是window8.1.MySQL安装在 C:\Program Files ...

  2. linux下解压zip文件

    linux下解压zip文件 linux自带的unzip命令可以解压windows下的zip格式的压缩文件. unzip命令 语法:unzip [选项] 压缩文件名.zip 各选项的含义分别为: -x ...

  3. 802.11 MAC层

    1. 介绍 本文主要介绍了802.11 MAC层 2. 访问机制 CSMA/CA:  Carrier Sense Multiple Access with Collision Avoidance Wi ...

  4. Chrome扩展修改页面代码执行环境的方法

    Chrome的扩展程序可以通过content scripts向页面中注入js代码,所注入的js代码能够对页面中所有的DOM对象进行操作.由于Chrome在js执行环境上对页面代码和content sc ...

  5. PHPCMS V9 采集实例

    采集目标: 列表: http://www.cnys.com/zixun/list_2_2.html

  6. FTP上传文件服务器python实现

    总结 使用Python的socket和socketserver模块实现ftp文件服务器.不是很难,但在粘包的问题上纠缠了不少时间.解决办法是发送文件信息之后等待一段时间. #!/usr/bin/pyt ...

  7. hdu 4994(博弈)

    Revenge of Nim Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  8. springBoot 读取配置文件yml中的信息

    yml中自定义一些变量 var: analyze_url: test ocr_url: test microsoft_key: test 映射到类变量中 @Getter @Component publ ...

  9. 牛客网 牛客小白月赛1 I.あなたの蛙が帰っています-卡特兰数,组合数阶乘逆元快速幂

    I.あなたの蛙が帰っています   链接:https://www.nowcoder.com/acm/contest/85/I来源:牛客网     这个题有点意思,是卡特兰数,自行百度就可以.卡特兰数用处 ...

  10. ansible 手册

    ansible 官方文档:https://docs.ansible.com/ansible/latest/index.html ansible 中文入门:http://getansible.com/ ...