一、比如根据下面这个类的 age 字段进行排序:

public class Person {private String name;private int age;
}

排序可以根据 java.utils 下的 Collections 里有一个sort 方法排序,两种写法如下:

public class X {public static void main(String[] args) {List<Person> l = new ArrayList<>();Person p1 = new Person();Person p2 = new Person();Person p3 = new Person();l.add(p1); l.add(p2);l.add(p3);p1.setAge(13); p2.setAge(15); p3.setAge(11);
//        Collections.sort(l, new Comparator<Person>() {
//            @Override
//            public int compare(Person person1, Person person2) {
//                return person1.getAge()-person2.getAge();
//            }
//        });l.sort(new Comparator<Person>() {@Overridepublic int compare(Person person1, Person person2) {return person1.getAge()-person2.getAge();}});for(Person list:l){System.out.println(list.getAge());}}}

输出结果:

11
13
15Process finished with exit code 0

这里是从小到大排序,如果要从大到小排序可以更换 person1 和 person2 的位置就可以了:

l.sort(new Comparator<Person>() {@Overridepublic int compare(Person person1, Person person2) {return person2.getAge()-person1.getAge();}});

二、根据 String 的长度排序:

public class X {public static void main(String[] args) {List<Person> l = new ArrayList<>();Person p1 = new Person();Person p2 = new Person();Person p3 = new Person();l.add(p1); l.add(p2);l.add(p3);p1.setName("zhangsan");p2.setName("lisi");p3.setName("wangermazi");
//        Collections.sort(l, new Comparator<Person>() {
//            @Override
//            public int compare(Person person1, Person person2) {
//                return person1.getAge()-person2.getAge();
//            }
//        });l.sort(new Comparator<Person>() {@Overridepublic int compare(Person person1, Person person2) {return person2.getName().length()-person1.getName().length();}});for(Person list:l){System.out.println(list.getName());}}}

输出结果:

wangermazi
zhangsan
lisiProcess finished with exit code 0

根据 List 对象中的某个字段进行排序相关推荐

  1. java集合按大小排序_List集合对象中按照不同属性大小排序的实例

    实例如下: package com.huad.luck; import java.util.arraylist; import java.util.collections; import java.u ...

  2. List根据对象中的指定元素进行排序

    List根据对象中的指定元素进行排序 背景: 在实际开发中,产品对数据会有个各种要求,排序应该最常见,也是比较麻烦的一件事情,很多时候数据不是一条SQL查询出来的,我们将其封装在List中,那么问题来 ...

  3. 按照js对象中的某个值进行排序

    sort顺序排序 var arr=[9,8,6,5,3,1,2,7,4] arr.sort() //返回值 [1, 2, 3, 4, 5, 6, 7, 8, 9] 降序排列 var arr=[9,8, ...

  4. java对象序列化去掉字段_使用序列化查找对象中的脏字段

    java对象序列化去掉字段 假设您正在开发一个将对象自动保存到数据库中的框架. 您需要检测两次保存之间所做的更改,以便仅保存已修改的字段. 如何检测脏场. 最简单的方法是遍历原始数据和当前数据,并分别 ...

  5. 使用序列化查找对象中的脏字段

    假设您正在开发一个将对象自动保存到数据库中的框架. 您需要检测两次保存之间所做的更改,以便仅保存修改过的字段. 如何检测脏场. 最简单的方法是遍历原始数据和当前数据,并分别比较每个字段. 代码如下: ...

  6. 将JSON对象中的某个字段进行分组和排序(java实现)

    现在有这样一个数据 { "systemid": "123", "productid": "123", "dat ...

  7. JS在数组对象中添加新字段

    在数组对象中每一项都添加相同字段 第一步使用forEach遍历数组 然后通过Object.assign()来添加 var arr = [{age:18,sex:'女'}, {age:30,sex:'男 ...

  8. 最长公共子序列_使用序列化查找对象中的脏字段

    最长公共子序列 假设您正在开发一个将对象自动保存到数据库中的框架. 您需要检测两次保存之间所做的更改,以便仅保存修改的字段. 如何检测脏场. 最简单的方法是遍历原始数据和当前数据,并分别比较每个字段. ...

  9. 工具方法:一次性将对象中所有null字段,转为空字符串

    当我们的 Java 对象在响应前端,或者在做数据导出的时候,我们并不希望将对象中为 null 的属性值直接返回给前端,不然显示或导出的就是一个 null ,这样对用户不是很友好. 如果我们一个个字段的 ...

  10. js对某个对象数组按照某个字段来排序

    原数组: let arr1 = [ {count:1,name:'小米'}, {count:3,name:'华为'}, {count:2,name:'苹果'} ] function sortBy (f ...

最新文章

  1. Google 在印度建立 AI 实验室,致力于农业、医疗、教育
  2. iftop 监控linux服务器网卡流量
  3. 深度学习——卷积神经网络 的经典网络(LeNet-5、AlexNet、ZFNet、VGG-16、GoogLeNet、ResNet)
  4. 手机进不了recovery模式了 怎么办
  5. so使用原则(要么不支持,要么全部支持) 固定的运行平台 指定目录:System.load(/data/data/package-name/mydir/libmath.so);
  6. 从C#到TypeScript - Generator
  7. 【51单片机快速入门指南】4.1: I2C 与 AT24C02 (EEPROM) 的跨页连续读写
  8. FreeSql (十五)查询数据
  9. linux下C调用lua的第一个程序
  10. sql载取最后出现字符前的字符
  11. c语言 mysql 查询数字_使用mysql C语言API编写程序—MYSQL数据库查询操作
  12. 转载: WMS、WFS、WCS、WPS、WMTS、WMSC、TMS等常见地图服务的区别
  13. (13.1.3.9)PMBOK之三:十大知识领域之采购管理
  14. A fastandrobust convolutionalneuralnetwork-based defect detection model inproductqualitycontrol-阅读笔记
  15. excel中区分移动联通电信号码
  16. mysql workbench pk_MySQL Workbench筑表时PK, NN, UQ, BIN, UN, ZF, AL的意思
  17. [Vue warn]: Error in callback for watcher “lists“: “TypeError: Cannot read property ‘length‘ of unde
  18. 毕业设计 - 基于人工智能的图像分类算法研究与实现 - 深度学习卷积神经网络图像分类
  19. 计算机考研资料库!近五十所高校计算机考研资料分享!持续更新中!
  20. error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such

热门文章

  1. day22 属性 类方法 静态方法 反射 https://www.cnblogs.com/jin-xin/articles/9214247.html
  2. 软件需求与分析——大二下需会知识点
  3. 【java】打印一个对象即打印出该对象toString()返回值
  4. 我开通个人博客了~~~~
  5. UICollectionViewCell 所遇到的问题
  6. ICU - International Components for Unicode
  7. EDM营销模式分析和讲解
  8. Delphi 中的DLL 封装和调用对象技术
  9. HTML DOM对象的属性和方法介绍(原生JS方法)
  10. include/autoconfig.mk