Java7和 Java8对 List进行排序实例:

package com.dc.utils;import java.util.*;
/*** @author hdc* @date 2019/2/25** List 排序* Lambda表达式ArrayList排序*/
public class ListUtil {public static void main(String[] args) {List<Human> humanList = new ArrayList<>();humanList.add(new Human("tom", 12));humanList.add(new Human("jerry", 1));humanList.add(new Human("jay", 23));System.out.println("排序前:" + humanList);//sortListUserJava7(humanList);sortListJava8(humanList);System.out.println("排序后:" + humanList);}/*** 使用java7对list进行排序* @param list** 适用于 List<Map<String, Object>>*        Collections.sort(list, new Comparator<Map<String, Object>>(){*             @Override*             public int compare(Map<String, Object> map1, Map<String, Object> map2) {*                 String key1 = map1.get("value").toString();*                 String key2 = map2.get("value").toString();*                 return key1.compareTo(key2);*             }*         });*/public static void sortListJava7(List<Human> list){Collections.sort(list, new Comparator<Human>(){@Overridepublic int compare(Human human1, Human human2) {// 这里的 age需要不能是基本类型return human1.getAge().compareTo(human2.getAge());}});}/*** 使用java8对list进行排序* Lambda表达式排序法* @param list*/public static void sortListJava8(List<Human> list){// 这里的 age需要不能是基本类型Collections.sort(list,(Human human1, Human human2) ->human1.getAge().compareTo(human2.getAge()));}}
class Human {private String name;private Integer age;public Human(String name, Integer age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}@Overridepublic String toString() {return "Human{" +"name='" + name + '\'' +", age=" + age +'}';}
}

输出的结果是:

排序前:[Human{name='tom', age=12}, Human{name='jerry', age=1}, Human{name='jay', age=23}]
排序后:[Human{name='jerry', age=1}, Human{name='tom', age=12}, Human{name='jay', age=23}]

Java8 Lambda表达式 ArrayList排序相关推荐

  1. java 8 lambda sort_java8新特性:Lambda表达式ArrayList排序

    java8新特性有很多,这里先对Lambda表达式进行简单的ArrayList排序体验,首先要使用java1.8,必须要先在myeclipse或者eclipse中装jdk1.8才行,需要注意的一点是, ...

  2. java8 lambda python_【学习笔记】java8 Lambda表达式语法及应用

    本文是慕课网大牧莫邪老师的视频教程一课掌握Lambda表达式语法及应用的学习笔记.如果觉得内容对你有用,可以购买老师的课程支持一下,课程价格1元,十分良心了. 1. 课程介绍 2. 为什么引入Lamb ...

  3. java8 lambda表达式实现自定义用户组件,Don't Repeat Yourself

    2019独角兽企业重金招聘Python工程师标准>>> 一.用户组件的功能 使用java8 lambda表达式实现实现世界的一个例子:用户组件.此用户组件有以下几个操作:获取用户列表 ...

  4. lambda 对象去重_采用java8 lambda表达式 实现 java list 交集 并集 差集 去重复并集...

    采用java8 lambda表达式 实现java list 交集/并集/差集/去重并集 一般的javaList 交.并集采用简单的 removeAll retainAll 等操作,不过这也破坏了原始的 ...

  5. Java8 lambda表达式,Comparator.comparing().thenComparing()报错

    环境 Java:1.8+ 前言 今天发了一个问题: 问题描述: 对List进行排序,如果在Comparator.comparing()方法中,只使用一个字段排序,没有问题. 但是如果使用多字段排序,并 ...

  6. 采用java8 lambda表达式 实现 java list 交集 并集 差集 去重复并集

    采用java8 lambda表达式 实现java list 交集/并集/差集/去重并集 一般的javaList 交.并集采用简单的 removeAll retainAll 等操作,不过这也破坏了原始的 ...

  7. Java List 排序 :Lambda表达式sort排序

    前言 java 1.8+ Lambda表达式sort排序 // 获取一组Book实例 List<Book> bookList = ...;// 按Book的出版日期正序排序(ASC) Li ...

  8. Java8————Lambda表达式(二)

    译者注:文中内容均来自于官方教程<Lambda Expressions>,但是由于英汉语言的差异,部分语句官方描述过于冗余,因此译者根据通常状况的理解做了微调,但不会影响表达的含义.比如: ...

  9. lambda学习视频和stream学习视频(Java8 Lambda表达式视频教程)-Java爬虫-网络购物的正确打开方式

    百度网盘 链接:https://pan.baidu.com/s/1upU5EVXOQeho6poDYdnhiQ 提取码:088l Java8 Lambda表达式视频教程 https://www.bil ...

最新文章

  1. AI顶级会议以及期刊
  2. 00018计算机应用2018年4月,全国2019年4月自考00018《计算机应用基础》试题及答案...
  3. linux 使用timedatectl 修改时区和时间
  4. Hadoop2.6.0完全分布式安装
  5. 信息学奥赛一本通 2047:【例5.16】过滤空格 | OpenJudge NOI 1.7 23:过滤多余的空格
  6. dreamwave php,thinkphp+dreamwaver技巧
  7. django web app_妹子用半天时间开发一个员工管理系统,没错django就是这么强悍
  8. 廖雪峰python教程答案
  9. 强大的发包工具fine packet builder
  10. 微信小程序码接口返回的二进制内容处理返回给前端展示
  11. 在img的图片上添加文字
  12. mplfinance 一个堪称完美python量化金融可视化工具详析
  13. require的用法 php,PHP 关于require()文件包含的用法详解
  14. 使用esp 8266物联网开发板 + Mqtt制作远程控制LED小灯
  15. 这些年过上幸福生活的程序员(中篇)
  16. 今日头条回应90亿元地产收购传闻;微信号遭公开买卖;苹果新AirPods增加黑色款 | 雷锋早报...
  17. 网络高清车载云台摄像机,白光云台摄像机激光云台摄像机
  18. 软件测试,功能测试转测开容易吗?
  19. 榜单发布!新老玩家混战,4D成像雷达“上车潮”来了?
  20. 【技术分享】Win10系统安装CTeX2.9.2+WinEdt11详细教程

热门文章

  1. 充电宝支持无线充电吗?什么充电宝支持无线充电
  2. 时空召唤今天服务器维护吗,《时空召唤》3月3日更新公告
  3. PHP开发者的JavaScript快速教程(phper简明js教程)
  4. 通信原理复习笔记(EEEN3005J Communication Theory)(10)
  5. 腾讯视频:内容丰富的移动视频应用
  6. 十年磨一剑 go 1.18泛型
  7. mac电脑显示隐藏文件
  8. dnf跨5无限连接服务器,DNF:其他跨区不知道怎样了,反正跨五是炸了
  9. Latex 在字母上方的特殊符号的打印
  10. Docker和docker-compose安装脚本