java8排序

UDS $27服务DLL文件生成 UDS 27算法 DLL文件生成 阅读详情
@Data
public class StudentInfo implements Comparable<StudentInfo> {
    //名称
    private String name;
    //性别 true男 false女
    private Boolean gender;
    //年龄
    private Integer age;
    //身高
    private Double height;
    //出生日期
    private LocalDate birthday;

    public StudentInfo(String name, Boolean gender, Integer age, Double height, LocalDate birthday) {
        this.name = name;
        this.gender = gender;
        this.age = age;
        this.height = height;
        this.birthday = birthday;
    }

    @Override
    public String toString() {
        return "StudentInfo{" +
                "name='" + name + '\'' +
                ", gender=" + gender +
                ", age=" + age +
                ", height=" + height +
                ", birthday=" + birthday +
                '}';
    }

    public static void printStudents(List<StudentInfo> studentInfos) {
        System.out.println("[姓名]\t\t[性别]\t\t[年龄]\t\t[身高]\t\t[生日]");
        System.out.println("----------------------------------------------------------");
        studentInfos.forEach(s -> System.out.println(s.toString()));
        System.out.println(" ");
    }

    @Override
    public int compareTo(StudentInfo o) {
        return this.age.compareTo(o.getAge());
    }

    public String getName() {
        return name;
    }

    public Boolean getGender() {
        return gender;
    }

    public Integer getAge() {
        return age;
    }

    public Double getHeight() {
        return height;
    }
=================================================================================================================


public class sort {
    public static void main(String[] args) {
        List<StudentInfo> studentList = new ArrayList<>();
        studentList.add(new StudentInfo("李小明", true, 18, 1.76, LocalDate.of(2001, 3, 23)));
        studentList.add(new StudentInfo("张小丽", false, 18, 1.61, LocalDate.of(2001, 6, 3)));
        studentList.add(new StudentInfo("王大朋", true, 19, 1.82, LocalDate.of(2000, 3, 11)));
        studentList.add(new StudentInfo("陈小跑", false, 17, 1.67, LocalDate.of(2002, 10, 18)));

        StudentInfo.printStudents(studentList);

        //final List<StudentInfo> studentsSortName  = studentList.stream().sorted(Comparator.comparing(StudentInfo::getAge)).collect(Collectors.toList());
        final List<StudentInfo> studentsSortName = studentList.stream()
                .sorted(Comparator.comparing(StudentInfo::getAge).reversed()
                        .thenComparing(StudentInfo::getHeight))
                .collect(Collectors.toList());

        StudentInfo.printStudents(studentsSortName);
    }

}

运行结果

[姓名]        [性别]        [年龄]        [身高]        [生日]
----------------------------------------------------------
StudentInfo{name='李小明', gender=true, age=18, height=1.76, birthday=2001-03-23}
StudentInfo{name='张小丽', gender=false, age=18, height=1.61, birthday=2001-06-03}
StudentInfo{name='王大朋', gender=true, age=19, height=1.82, birthday=2000-03-11}
StudentInfo{name='陈小跑', gender=false, age=17, height=1.67, birthday=2002-10-18}
 
[姓名]        [性别]        [年龄]        [身高]        [生日]
----------------------------------------------------------
StudentInfo{name='王大朋', gender=true, age=19, height=1.82, birthday=2000-03-11}
StudentInfo{name='张小丽', gender=false, age=18, height=1.61, birthday=2001-06-03}
StudentInfo{name='李小明', gender=true, age=18, height=1.76, birthday=2001-03-23}
StudentInfo{name='陈小跑', gender=false, age=17, height=1.67, birthday=2002-10-18}

 

 

如果年龄相同按照身高大的排在前面thenComparing默认从小到大排

public static void main(String[] args) {
    List<StudentInfo> studentList = new ArrayList<>();
    studentList.add(new StudentInfo("李小明", true, 18, 1.76, LocalDate.of(2001, 3, 23)));
    studentList.add(new StudentInfo("张小丽", false, 18, 1.61, LocalDate.of(2001, 6, 3)));
    studentList.add(new StudentInfo("王大朋", true, 19, 1.82, LocalDate.of(2000, 3, 11)));
    studentList.add(new StudentInfo("陈小跑", false, 17, 1.67, LocalDate.of(2002, 10, 18)));

    StudentInfo.printStudents(studentList);

    Function<StudentInfo, Integer> function = p -> -p.getHeight().compareTo(p.getHeight());

    //final List<StudentInfo> studentsSortName  = studentList.stream().sorted(Comparator.comparing(StudentInfo::getAge)).collect(Collectors.toList());
    final List<StudentInfo> studentsSortName = studentList.stream()
            .sorted(Comparator.comparing(StudentInfo::getAge).reversed()
                    .thenComparing((p,p1)-> p1.getHeight().compareTo(p.getHeight())))
            .collect(Collectors.toList());

    StudentInfo.printStudents(studentsSortName);
}

运行结果

[姓名]        [性别]        [年龄]        [身高]        [生日]
----------------------------------------------------------
StudentInfo{name='李小明', gender=true, age=18, height=1.76, birthday=2001-03-23}
StudentInfo{name='张小丽', gender=false, age=18, height=1.61, birthday=2001-06-03}
StudentInfo{name='王大朋', gender=true, age=19, height=1.82, birthday=2000-03-11}
StudentInfo{name='陈小跑', gender=false, age=17, height=1.67, birthday=2002-10-18}
 
[姓名]        [性别]        [年龄]        [身高]        [生日]
----------------------------------------------------------
StudentInfo{name='王大朋', gender=true, age=19, height=1.82, birthday=2000-03-11}
StudentInfo{name='李小明', gender=true, age=18, height=1.76, birthday=2001-03-23}
StudentInfo{name='张小丽', gender=false, age=18, height=1.61, birthday=2001-06-03}
StudentInfo{name='陈小跑', gender=false, age=17, height=1.67, birthday=2002-10-18}

 

二阶FLL辅助三阶PLL环路的代码解读 今天对GNSS接收机里面的载波跟踪环路代码进行了解读 以下是个人的一点见解 % 载波环第二步:环路滤波器 二阶FLL辅助三阶PLL环路 carrLoopS0 = lastCarrLoopS0 + (phaseErr*tau0PLL + freqErr*tau1FLL) * PDIcarr; carrLoopS1 = lastCarrLoopS1 + (tau1PLL*phaseErr + carrLoopS0 + tau2FLL*freqErr) * PD 阅读详情

相关推荐

手把手教你设计2bit反射型超表面:从单patch扫参到pin管配置全流程

本文提供了一份2bit反射型超表面设计的完整工程实践指南。从单贴片谐振器的参数化扫描与“270度法则”应用,到PIN二极管等效电路模型的获取与集成,再到利用参数化扫描高效仿真四种工作状态,手把手指导读者完成从单元设计到阵列布局、偏置线集成及加工考量的全流程,旨在帮助射频工程师将概念转化为可加工测试的实体模型。

java5的博客 1019

sorted的用法

sorted的用法 sorted结合reverse控制排序是顺序还是倒序,True为倒序(从大到小),False为顺序(从小到大) print(sorted([1, 2, 3, 4, 5, 6, 7, 8, 9], key=lambda x: abs(5-x),reverse=True )) 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变

小颜颜6035的博客 999

GD32F303开发实战(一):从零搭建MDK工程与时钟配置详解

本文详细介绍了如何从零开始为GD32F303微控制器搭建一个清晰、可维护的MDK工程模板。内容涵盖开发环境准备、工程目录结构规划、文件分组管理、关键工程配置,并重点解析了时钟树原理,手把手指导配置108MHz系统时钟。通过实战步骤与常见问题排查,帮助开发者构建一个稳定可靠的开发基础,便于后续功能扩展。

weixin_29174141的博客 269

Java8流sorted排序-多字段升序降序Null值排序

多读多写多记录,多学多练多思考。 ----------- Banuit Gang(香柚帮) /** 返回 User对象集合以类name降序 age升序 注意两种写法 */ list.stream().sorted(Comparator.comparing(User::name).reversed().thenComparing(User::age)); // 先以name升序,升序结果进行name降序,再进行age升序 list.stream().sorted(Comparator.comparing(

@Banana的博客 7016

经典密码体制(上)

头歌

shannidawang的博客 3086

RTL8211F千兆PHY原理图与PCB设计:从手册到量产的完整指南

在工业网关、边缘计算和FPGA/CPU以太网扩展设计中,千兆PHY芯片的稳定运行取决于外围电路的精细设计。RTL8211F(I)作为应用广泛的物理层收发器,其原理图设计涉及电源域划分、时钟与复位时序、RGMII/ MDIO接口匹配以及MDI差分网络等多个环节。正确理解数据手册的阅读顺序,掌握100Ω差分阻抗控制、等长约束和EMI布局技巧,是保证链路可靠性和信号完整性的关键。本文从芯片选型与数据手册解析切入,系统梳理从电源去耦到PCB布局布线的工程实践要点,帮助工程师规避Link不稳定、MDIO读取失败、吞吐

weixin_28721917的博客 348

list foreach方法_Stream系列(四)Sorted方法使用

#java##stream##sorted##排序##反向排序#排序和反向排序视频讲解:Stream系列(四)Sorted方法使用_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliEmployeeTestCase.javapackage com.example.demo; import lombok.Data; import lombok.ToString; import lombok.ext...

weixin_39673471的博客 562

扫地机的CPU只要二十多块?2024第二拆来了

昨天还说到这个机器人的故障,经小鱼拆机后测试和后台网友留言确认,不是防跌落问题,是轮子故障,这个轮子不会动,轮子上有一个限位开关检测机器人是否离开地面的,测试的时候也没有误触发,所以电机存在故障,后面拆电机的时候再检查。最后再留下一个疑问,这个机器人的回充没有用红外管,机器人是如何识别基站进行返回充电的(因为只买了本体,没买充电桩,不确定充电桩的形状,是不是利用点云识别不确定)懂的请留言。全志的R16,封装是 BGA282,那这个板子至少是4层板,小鱼盲猜 6 层板,知道的小伙伴欢迎留言。

生活不止眼前的苟且 1974

JAVA List对布尔值进行排序

记录一个对一个集合中的 某一个布尔值进行排序 true 在前 false 在后 // 排序 responses.sort((o1, o2) -> { if (o1.getThisDefault() ^ o2.getThisDefault()) { return o1.getThisDefault() ? -1 : 1; } else { return 0; } }); return responses; ...

weixin_43939924的博客 2469

HTML5期末大作业:关于家乡介绍的HTML网页设计——郑州美景HTML+CSS(5页) 学生DW家乡介绍网页设计作业成品 web课程设计网页规划与设计

HTML5期末大作业:我的家乡——郑州美景HTML+CSS(5页) 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码 常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 明星、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他 等网页设计题目, A+水平作业, 可满足大学生网页大作业网页设计需求, 喜

qq_365392777 1万+

如何用AP525 测试输入信号的相位,频响,延时,Pop和卡顿

假设信号不是从AP输出,是功放或者其他的播放设备输出的信号,接入到AP525的输入端。

帮助100万人颠覆负面潜意识,实现人生蜕变,培养1万名潜意识开发导师 2397

Java基础系列七、排序+常用对象+集合

数据结构相关基础(PART A) & 集合点题(PART B) (PART A) 一.排序 1选择排序 int[] arr = {66,55,44,33,22,11}; 原理:如果拿0角标上的元素依次和后面的元素进行比较,第一次内循环结束后,最小值出现在了0角标位置。 arr[0]与arr[1-5]比了五次 arr[1]与arr[2-5]比了四次 arr[2]与arr[3-5]比了三次

简单记录 869

MCU-内部flash模拟成EepRom(重新梳理)

通过fee写数据Data的过程中,数据会mapping一个虚拟地址,这个虚拟地址就是你的身份,在向flash写数据的过程中会写入很多相同虚拟地址的不同数据,在读取或切页的过程中,遍历数据只会认为最下面第一个的虚拟地址所持有的数据是有效数据,其他的都是老数据,可以丢弃。模拟成eeprom的两个eep_page写数据逻辑就是,先在eep_page0写数据,eep_page0写满后,将eep_page0的有效数据copy到eep_page1,之后擦eep_page0;

xiandang8023的博客 711

java 8 排序_java8——排序

对数据进行排序是平常经常会用到的操作之一,使用Jav8排序可以减少你在排序这方面的代码量,优化你的代码。测试用例代码定义个实体类User,拥有姓名name,年龄age,积分credits三个属性,定义一个包含User的集合,用于排序,下面是代码/* 这里偷个懒,用lombok注解生成实体类getset等一些基本方法 */@Data@AllArgsConstructor@NoArgsConstruc...

weixin_32568295的博客 1万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Java 8 排序

java排序

我的身体只需要很少的粮食就能养活;而我的灵魂却非常地贪婪,需要日月星辰、山川湖泊和大自然的滋养。 3732

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Java 8 List 排序

Java 8 对 List排序

果酱 の 博客 2万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Java8 对Map进行排序

前言: 随着Java 8的Stream之后推出后可以很优雅实现Map的排序。 示例: final Map&lt;String, Integer&gt; wordCounts = new HashMap&lt;&gt;(); wordCounts.put("USA", 100); wordCounts.put("jobs", 200); wordCounts.put("softwa...

湖人•总冠军 1万+

java8 stream流排序

原文出处 https://www.cnblogs.com/kuanglongblogs/p/11230250.html 很多情况下sql不好解决的多表查询,临时表分组,排序,尽量用java8新特性stream进行处理 使用java8新特性,下面先来点基础的 List<类> list; 代表某集合 //返回 对象集合以类属性一升序排序 list.stream().sor...

吴均的博客 8013

java8实现List排序

数值集合排序 List<Integer> list = Lists.newArrayList(3, 1, 2, -1); // 正序 list.sort(Integer::compareTo); list.forEach((i) -> System.out.println(i)); // 倒叙 list.sort(Comparator.reverseOrder()); lis...

奋斗中的老青年 2977

java 8 排序反转_Java 8 排序小结

1、概述首先,让我们先定义一个简单的实体类:@Datapublic class Human {private String name;private int age;public Human() {super();}public Human(final String name, final int age) {super();this.name = name;this.age = age;}}2、...

weixin_30000407的博客 1041

java list<string> 排序_Java 8 对 List<List<String>> 排序

Java 8 对 List 排序import java.util.ArrayList;import java.util.List;import java.util.stream.Collectors;/*** @author libin* @date 2018/12/14 13:36:34*/public class Test {public static void main(String[] a...

weixin_39972996的博客 2510

Java 8 中的List排序

按字母顺序排序字符串列表 List<String> cities = Arrays.asList( "Milan", "london", "San Francisco", "Tokyo", "New Delhi" ); System.out.println(cities); //[Milan, london, S...

helloworld的专栏 1万+

java8对List对象排序

工作中遇到的问题:获得List对象,需要根据对象中的CreateTime来排序 分两个版本 java8: List<CountCardDetailVo> all = new ArrayList<>(); //根据创建时间降序排序 all.sort(Comparator.comparing(CountCardDetailVo::getCreateTime).reverse...

weixin_44073321的博客 2万+

java 8 排序_java8排序

1.准备实体类importlombok.AllArgsConstructor;importlombok.Data;@Data@AllArgsConstructorpublic classUserObj {privateString name;privateInteger age;privateInteger credits;}测试类packagecom.pu.helloworld;importor...

weixin_31193137的博客 563

java8list怎样排序_JAVA8 List排序

先定义一个实体类@Data@AllArgsConstructor@NoArgsConstructorpublic class Human {private String name;private int age;}下面的操作都基于这个类来进行操作。这里面使用了Lombok类库,它用注解的方式实现了基本的get和set等方法,让代码看起来更加的优雅。JAVA8之前的List排序操作在Java8之前,...

weixin_36208880的博客 1061

java8——排序

对数据进行排序是平常经常会用到的操作之一,使用Jav8排序可以减少你在排序这方面的代码量,优化你的代码。 测试用例代码 定义个实体类User,拥有姓名name,年龄age,积分credits三个属性,定义一个包含User的集合,用于排序,下面是代码 /* 这里偷个懒,用lombok注解生成实体类getset等一些基本方法 */ @Data @AllArgsConstructor @NoArgsConstructor public class User { private String na.

小屁孩大帅-保密的博客 736
上一篇: TestTransferValue 测试
下一篇: Linux时间快或者慢于正常时间
Chery Qi
博客等级 码龄10年 154粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值