Java8 Lambda表达式 ArrayList排序
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排序相关推荐
- java 8 lambda sort_java8新特性:Lambda表达式ArrayList排序
java8新特性有很多,这里先对Lambda表达式进行简单的ArrayList排序体验,首先要使用java1.8,必须要先在myeclipse或者eclipse中装jdk1.8才行,需要注意的一点是, ...
- java8 lambda python_【学习笔记】java8 Lambda表达式语法及应用
本文是慕课网大牧莫邪老师的视频教程一课掌握Lambda表达式语法及应用的学习笔记.如果觉得内容对你有用,可以购买老师的课程支持一下,课程价格1元,十分良心了. 1. 课程介绍 2. 为什么引入Lamb ...
- java8 lambda表达式实现自定义用户组件,Don't Repeat Yourself
2019独角兽企业重金招聘Python工程师标准>>> 一.用户组件的功能 使用java8 lambda表达式实现实现世界的一个例子:用户组件.此用户组件有以下几个操作:获取用户列表 ...
- lambda 对象去重_采用java8 lambda表达式 实现 java list 交集 并集 差集 去重复并集...
采用java8 lambda表达式 实现java list 交集/并集/差集/去重并集 一般的javaList 交.并集采用简单的 removeAll retainAll 等操作,不过这也破坏了原始的 ...
- Java8 lambda表达式,Comparator.comparing().thenComparing()报错
环境 Java:1.8+ 前言 今天发了一个问题: 问题描述: 对List进行排序,如果在Comparator.comparing()方法中,只使用一个字段排序,没有问题. 但是如果使用多字段排序,并 ...
- 采用java8 lambda表达式 实现 java list 交集 并集 差集 去重复并集
采用java8 lambda表达式 实现java list 交集/并集/差集/去重并集 一般的javaList 交.并集采用简单的 removeAll retainAll 等操作,不过这也破坏了原始的 ...
- Java List 排序 :Lambda表达式sort排序
前言 java 1.8+ Lambda表达式sort排序 // 获取一组Book实例 List<Book> bookList = ...;// 按Book的出版日期正序排序(ASC) Li ...
- Java8————Lambda表达式(二)
译者注:文中内容均来自于官方教程<Lambda Expressions>,但是由于英汉语言的差异,部分语句官方描述过于冗余,因此译者根据通常状况的理解做了微调,但不会影响表达的含义.比如: ...
- lambda学习视频和stream学习视频(Java8 Lambda表达式视频教程)-Java爬虫-网络购物的正确打开方式
百度网盘 链接:https://pan.baidu.com/s/1upU5EVXOQeho6poDYdnhiQ 提取码:088l Java8 Lambda表达式视频教程 https://www.bil ...
最新文章
- AI顶级会议以及期刊
- 00018计算机应用2018年4月,全国2019年4月自考00018《计算机应用基础》试题及答案...
- linux 使用timedatectl 修改时区和时间
- Hadoop2.6.0完全分布式安装
- 信息学奥赛一本通 2047:【例5.16】过滤空格 | OpenJudge NOI 1.7 23:过滤多余的空格
- dreamwave php,thinkphp+dreamwaver技巧
- django web app_妹子用半天时间开发一个员工管理系统,没错django就是这么强悍
- 廖雪峰python教程答案
- 强大的发包工具fine packet builder
- 微信小程序码接口返回的二进制内容处理返回给前端展示
- 在img的图片上添加文字
- mplfinance 一个堪称完美python量化金融可视化工具详析
- require的用法 php,PHP 关于require()文件包含的用法详解
- 使用esp 8266物联网开发板 + Mqtt制作远程控制LED小灯
- 这些年过上幸福生活的程序员(中篇)
- 今日头条回应90亿元地产收购传闻;微信号遭公开买卖;苹果新AirPods增加黑色款 | 雷锋早报...
- 网络高清车载云台摄像机,白光云台摄像机激光云台摄像机
- 软件测试,功能测试转测开容易吗?
- 榜单发布!新老玩家混战,4D成像雷达“上车潮”来了?
- 【技术分享】Win10系统安装CTeX2.9.2+WinEdt11详细教程