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. 【自己的练习git】自己的git练习

    liqiang@username MINGW64 ~/Desktop$ mkdir TestGit        新建目录 liqiang@username MINGW64 ~/Desktop$ cd ...

  2. duilib入门简明教程 -- 界面布局(9) (转)

    原文转自:http://www.cnblogs.com/Alberl/p/3343806.html     上一个教程实现的标题栏代码中,并没有看到处理自适应窗口大小的代码,但是窗口大小变化后,按钮的 ...

  3. SQL Server 2005 无法连接到 127.0.0.1

    [问题描述]如果连接本机的数据库服务器,服务器名称可填: 127.0.0.1或localhost或本机机器全名(比如HOME),有时候用本机机器名可以登录SQL Server 2005,但用127.0 ...

  4. python print的参数介绍

    参考print的官方文档 print(...) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints th ...

  5. 网络请求失败记录(安卓4g网络下第一次请求特别慢或者失败)

    最近app的一次版本上线以后出现4g网络下请求接口特别慢,第一次调用接口非常非常慢或者直接访问失败,后面就正常了,但是WiFi情况下并不会出现这个问题.最主要的是IOS的线上app并没有问题. 开始怀 ...

  6. 洛谷——1968 美元汇率(DP)

    题目背景 此处省略maxint+1个数 题目描述 在以后的若干天里戴维将学习美元与德国马克的汇率.编写程序帮助戴维何时应买或卖马克或美元,使他从100美元开始,最后能获得最高可能的价值. 输入输出格式 ...

  7. SecureCRT同时向多个终端发送命令

    1.[View]->[Command Window] 2.[Send Command to]->[All Sessions] 参考: http://www.netingcn.com/sec ...

  8. js中高效拼接字符串

    写在前面 面试的过程,很有可能面试到c#那种方式拼接字符串更高效,然后就会引申到js中的拼接方式.这也是我在面试中遇到的问题,当时,也真没比较过js中到底哪种方式更高效.然后,跟猜测一样,说了使用数组 ...

  9. 【java】hash一致性算法的实现区别【标题暂定】

    下面两个都是在生成sign签名时候用到的方式,有什么区别? 第一种: import org.apache.commons.codec.digest.DigestUtils; String sign = ...

  10. Win7下搭建外网环境的SVN服务器

    最近想跟一帮朋友做点东西,由于几个朋友都身处异地,要想实现版本控制,只能自己搭建一个小的服务器,通过互联网环境来实现版本控制了.本来也在网上找了好多资料,但是总是缺少一些必要的信息,导致最后连接不上服 ...