技术标签: java工具类
package com.xiong.test.group_sort;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
/**
* @author Tan
* @version V1.0
* @description: GroupTestMain
* @date 2019/9/27
*/
public class SortTestMain {
public static void main(String[] args) {
List<Person> persons = new ArrayList<>();//列表
persons.add(new Person("aaa", 12));
persons.add(new Person("ccc", 20));
persons.add(new Person("bbb", 8));
//no 1. Collections排序
System.out.println("Age排序前:");
persons.forEach((person)->System.out.println(person));
//Collections排序升序
Collections.sort(persons, new Comparator<Person>() {
@Override
public int compare(Person o1, Person o2) {
return o1.getAge().compareTo(o2.getAge());
}
});
System.out.println("Age升序排序后:");
persons.forEach((person)->System.out.println(person));
//Collections排序降序
Collections.sort(persons, new Comparator<Person>() {
@Override
public int compare(Person o1, Person o2) {
return o2.getAge().compareTo(o1.getAge());
}
});
//循环打印
System.out.println("Age降序排序后:");
persons.forEach((person)->System.out.println(person));
System.out.println("***************************************************************");
// no 2.Lambda写法,JAVA8的写法
// persons.sort((Developer o1, Developer o2)->o1.getAge().compareTo(o2.getAge())); //可以更简洁,如下:
//升序排序
persons.sort((a, b) -> a.getName().compareTo(b.getName()));
System.out.println("Name升序排序后:");
persons.forEach((person)->System.out.println(person));
//降序排序, a,b倒转即可
persons.sort((a, b) -> b.getName().compareTo(a.getName()));
System.out.println("Name降序排序后:");
persons.forEach((person)->System.out.println(person));
//升序排序
persons.sort(Comparator.comparing(Person::getAge));
System.out.println("Age升序排序:");
persons.forEach((person)->System.out.println(person));
//降序排序, 加上 .reversed() 即可
persons.sort(Comparator.comparing(Person::getAge).reversed());
System.out.println("Age降序排序:");
persons.forEach((person)->System.out.println(person));
//先配置再排序
Comparator<Person> ageComparator = (o1, o2)->o1.getName().compareTo(o2.getName());
persons.sort(ageComparator); //按上面配置的顺序取值
System.out.println("Name升序排序后:");
persons.forEach((person)->System.out.println(person));
System.out.println("Name降序排序后:");
persons.sort(ageComparator.reversed()); //按上面配置的顺序反向取值
persons.forEach((person)->System.out.println(person));
// 多条件排序第二个写法,先按Age排序,再根据name排序
persons.sort(Comparator.comparing(Person::getAge).thenComparing(Person::getName));
System.out.println("多条件排序后:");
persons.sort(ageComparator.reversed()); //按上面配置的顺序反向取值
persons.forEach((person)->System.out.println(person));
}
}
public class Person {
private String name;
private Integer age;
public Person(String name, int age) {
this.age = age;
this.name = name;
}
}
————————————————
版权声明:本文为CSDN博主「谭cyzz」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhan107876/article/details/101556373
文章浏览阅读3.6w次,点赞3次,收藏12次。1.针对 '1','2','3','4','5'(逗号在字符串外面)SQL> SELECT COLUMN_VALUE FROM TABLE(SYS.ODCIVARCHAR2LIST('1','2','3','4','5'));COLUMN_VALUE-----------------------------------------------------------------_oracle拆分函数按逗号拆分 clob
文章浏览阅读2.1k次。性质4 具有n个结点的m次树的最小高度为关于取整符号:向上取整⌈⌉和向下取整⌊⌋符号向下取整的运算称为Floor,用数学符号 ⌊ ⌋ 表示;向上取整的运算称为Ceiling,用数学符号 ⌈ ⌉ 表示。例如:⌊59/60⌋=0⌈59/60⌉=1⌊-59/60⌋=-1⌈-59/60⌉=0向上向下 取整函数数只会对小数点后面的 数字不为零 的数进行操作,要是给它一个整数 它就返回整数本..._m叉树最小高度为啥向上取整
文章浏览阅读2.4k次,点赞10次,收藏42次。Camera的整体架构上图是Google官方的Camera架构,Google封装了HAL层接口:ICameraProvider, ICameraDevice, ICameraDeviceSession。这几个接口的作用如下:ICameraProvider:用于枚举单个设备并管理其状态。ICameraDevice:相机设备接口。ICameraDeviceSession:活跃的相机设备会话接口。MTK HAL3结构主要实现了这几个接口, CameraProviderImpl实现了IC._mtk camera hal3
文章浏览阅读2.4k次。在cg制作过程中,我们经常会使用maya导出alembic文件,但是我发现有些情况下我们不需要把场景中的隐藏物体也导出_alembic maya
文章浏览阅读9.3k次,点赞2次,收藏7次。evernote中的笔记,这里分享一下:evernote笔记入口用textview可以显示html富文本,比显示单纯的文字要友好很多,效果图: 但是问题也很多。首先是 html 的支持实在有限,很多在html中比较easy的事情,在这里就感觉很困难,项目中遇到的两个问题: 1. 调整字体大小的时候,_textview html.fromhtml 图品不居中问题
文章浏览阅读837次。vx = 40;T = 0.01;t = 0:T:5;x = vx*t;y1 = -9.8*t.^2/2;y2 = 9.8*t.^2/2;figure()for i=1:(length(x)-1)axis([0,200,-100,100])X = x(i:i+1);Y1 = y1(i:i+1);Y2 = y2(i:i+1);plot(X,Y1);hold onplot..._重力加速度matlab
文章浏览阅读4.2k次,点赞2次,收藏5次。在11.0 的产品开发中,在进行iot开发过程中,在插入usb设备时会弹出usb授权提示框,也带来一些不便,这个需要默认授予USB权限,插拔usb都不弹出usb弹窗所以这要从usb授权相关管理页默认给与usb权限。_android11 授予app所需的所有权限,例如:usb访问读写权限(不弹出授权框,默认允许),
文章浏览阅读1.1k次。Spring Boot 整合 JMS(ActiveMQ)_springboot jms
文章浏览阅读1.2w次,点赞23次,收藏131次。❉ HTML+CSS+JavaScript制作七夕表白网页(含音乐+自定义文字)一年一度的520情人节/七夕情人节/女朋友生日/程序员表白,是不是要给女朋友或者正在追求的妹子一点小惊喜呢,今天这篇博客就分享下前端代码如何实现HTML+CSS+JavaScript制作七夕表白网页(含音乐+自定义文字)。赶紧学会了,来制作属于我们程序员的浪漫吧!❉ 文章目录 ❉ HTML+CSS+JavaScript制作七夕表白网页(含音乐+自定义文字)❉ 效果演示❉ 代码文件目录一、文字修改(代码实现) _程序员网页表白制作
文章浏览阅读944次。js代码 /** * 页面的初始数据 */ data: { }, mycheck:function(e){ console.log(e.detail.value) },wxml代码<checkbox-group bindchange="mycheck"> <checkbox value='香蕉'>香蕉</check..._微信小程序 checkbox-group data-index
文章浏览阅读2.4k次。option = { title: { text: 'echarts折线图实线加虚线' }, //用formatter回调函数显示多项数据内容 tooltip: { trigger: 'axis', formatter: function (params, ticket, callback) { var htmlStr = ''; var valMap = {}; ..._echarts 折现图加条虚线
文章浏览阅读312次。ILSVRC2012是一个经典的深度学习验证数据集,它包含1000个类别。在官网下载数据集,下载的文件包含以下几个文件:ILSVRC2012包含120多万张train图片,以及5万张val图片。下载后的train数据集将近150G,val数据集约6.7G。为了确定下载的.tar文件没有损坏,使用下面的代码进行验证:import osfrom mxnet.gluon.utils import check_sha1_TARGET_DIR = '/media/wang/WangKe/Image_ilsvrc12