2019独角兽企业重金招聘Python工程师标准>>>

第一种方法,就是list中对象实现Comparable接口,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public  class  Person  implements  Comparable<Person> {
     private  String name;
     private  Integer order;
     /**
      * @return the name
      */
     public  String getName() {
         return  name;
     }
     /**
      * @param name
      *            the name to set
      */
     public  void  setName(String name) {
         this .name = name;
     }
     /**
      * @return the order
      */
     public  Integer getOrder() {
         return  order;
     }
     /**
      * @param order
      *            the order to set
      */
     public  void  setOrder(Integer order) {
         this .order = order;
     }
     @Override
     public  int  compareTo(Person arg0) {
         return  this .getOrder().compareTo(arg0.getOrder());
     }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public  static  void  main(String[] args) {
     List<Person> listA =  new  ArrayList<Person>();
     Person p1 =  new  Person();
     Person p2 =  new  Person();
     Person p3 =  new  Person();
     p1.setName( "name1" );
     p1.setOrder( 1 );
     p2.setName( "name2" );
     p2.setOrder( 2 );
     p3.setName( "name3" );
     p3.setOrder( 3 );
     listA.add(p2);
     listA.add(p1);
     listA.add(p3);
     Collections.sort(listA);
     for  (Person p : listA) {
         System.out.println(p.getName());
     }
}

第二种方法,就是在重载Collections.sort方法,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public  class  Person {
     private  String name;
     private  Integer order;
     /**
      * @return the name
      */
     public  String getName() {
         return  name;
     }
     /**
      * @param name
      *            the name to set
      */
     public  void  setName(String name) {
         this .name = name;
     }
     /**
      * @return the order
      */
     public  Integer getOrder() {
         return  order;
     }
     /**
      * @param order
      *            the order to set
      */
     public  void  setOrder(Integer order) {
         this .order = order;
     }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public  static  void  main(String[] args) {
         List<Person> listA =  new  ArrayList<Person>();
         Person p1 =  new  Person();
         Person p2 =  new  Person();
         Person p3 =  new  Person();
         p1.setName( "name1" );
         p1.setOrder( 1 );
         p2.setName( "name2" );
         p2.setOrder( 2 );
         p3.setName( "name3" );
         p3.setOrder( 3 );
         listA.add(p2);
         listA.add(p1);
         listA.add(p3);
         
         Collections.sort(listA,  new  Comparator<Person>() {
             public  int  compare(Person arg0, Person arg1) {
                 return  arg0.getOrder().compareTo(arg1.getOrder());
             }
         });
         
         for  (Person p : listA) {
             System.out.println(p.getName());
         }
     }

转载于:https://my.oschina.net/u/1177694/blog/508053

Java中List的排序相关推荐

  1. java中集合的排序

    java中集合的排序 import java.util.Set; import java.util.HashSet; import java.util.List; import java.util.A ...

  2. java冒泡排序_Java专题(二):Java中常见的排序算法有哪些?---冒泡排序

    排序相关的的基本概念排序: 将一组杂乱无章的数据按一定的规律顺次排列起来. 数据表( data list): 它是待排序数据对象的有限集合. 排序码(key):通常数据对象有多个属性域,即多个数据成员 ...

  3. java中Collections.sort() 排序函数的用法

    java中Collections.sort() 排序函数的用法: 用Collections.sort方法对list排序有两种方法 第一种是list中的对象实现Comparable接口,如下: /** ...

  4. java 中的排序_浅谈java中常见的排序

    浅谈java中常见的排序 学过java的人都知道,排序这一部分初次接触感觉还是有点难以理解,很多地方也会用到.然而,在java中常见的排序方法:冒泡排序,选择排序,插入排序等等.下面就让我们一起揭开他 ...

  5. java中的默认排序规则,C#中列表,集合排序Sort,OrderBy与Java排序规则默认不一致...

    最近遇到一个排序小问题,java中的sort与C#中的Sort排出来结果不一样.后面写了两段小代码,结果确实不一样.var list2 = new List() { "AA",&q ...

  6. Java中常见的排序算法代码演示

    package cn.xbz;import java.util.Arrays;/*** 各种排序法的演示* @author xbz**/ public class ArraySort {public ...

  7. 更高效地刷OJ——Java中常用的排序方法,Array.sort(),Arrays.parallelSort(), Collections.sort()

    对于几大传统的排序算法我在前面博客中已经介绍过了,如果有想要了解的同学可以去看这篇博客八大排序:冒泡排序,选择排序,插入排序,堆排序,希尔排序,归并排序,计数排序但是我们在刷题过程中如果题目中没有对排 ...

  8. JAva中的自然排序是什么意思_Java中的自然排序顺序字符串比较 – 是内置的吗?...

    参见英文答案 > Sort on a string that may contain a number                                    19个 我想要一些保 ...

  9. Java 中使用sort排序

    刷题过程中常常遇到排序问题,Java中自带的sort方法可以非常方便的帮助我们进行排序. 常见的排序问题有两种情形: 1.对一个数组进行排序. 2.对自定义类型的类进行排序. 一,对数组进行排序: 通 ...

  10. java中Collections.sort排序详解

    Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f, ...

最新文章

  1. ICRA 2021 | π-LSAM:基于平面优化的激光雷达平滑与建图算法
  2. hystrix之熔断
  3. hmc如何进入aix系统_linux系统中如何进入退出vim编辑器,方法及区别
  4. vue3中 使用 swiper 插件,自定义切换按钮, 将 前进后退 、左右切换 按钮放到容器外部
  5. 表单和字都居中_APP 分享 | 6 款黑科技工具,低调收藏,每一款都很强大!
  6. rabbitmq+topic+java_译:5.RabbitMQ Java Client 之 Topics (主题)
  7. 帆软与中国环境科学院合作,共同推进数字化管理建设
  8. CVPR 2020 | 基于知识蒸馏的分块监督NAS
  9. 已编辑好的mysql_安装好的mysql改变数据库文件位置
  10. 对我帮助很大的ESXCLI命令
  11. LINUX异步信号集合示例代码
  12. spring catch了异常还是回滚了_干货:Spring 踩坑之@Transactional 神奇失效
  13. IDEA统计项目代码量
  14. 一行代码蒸发64亿?!形式化验证帮你一秒避免悲剧
  15. SPRING IN ACTION 第4版笔记-第十章Hitting the database with spring and jdbc-003-四种方式获取DataSource...
  16. 王达人漫展1,cosplay
  17. linux for 迅雷,关于迅雷for linux
  18. DINO 论文精度,并解析其模型结构 DETR 的变体
  19. 指令于动作之forward动作
  20. Strippednot stripped

热门文章

  1. struts2配置问题
  2. java异常代码分析
  3. PHP使用指南,PHP使用指南-cookies部分
  4. iphone屏蔽系统更新_iOS13屏蔽系统更新升级教程
  5. java 静态方法 多线程_Java静态方法的线程安全性问题
  6. python怎么打开一个窗口_python – 使按钮一次只打开一个窗口(通过关闭Toplevel窗口启用按钮)...
  7. python end of statement_17个新手常见Python运行时错误
  8. java中Date类、DateFormat及SimpleDateFormat简介
  9. 联想Y 系列 四面壳展示
  10. 2022年中国企业直播多场景应用策略白皮书