目录

  • List内部元素自动排序有两种方式:
    • 1、list中的对象实现Comparable接口
    • 2、根据Collections.sort重载方法来实现

List内部元素自动排序有两种方式:

1、list中的对象实现Comparable接口

适用于list元素是可操作对象

a、在元素对象里面,加一个compareTo方法,如下:

 //对象有字段:order,并有对应的获取方法:getOrder()。 对order进行比较。public int compareTo(User arg0) {  return this.getOrder().compareTo(arg0.getOrder());  }

b、然后在需要排序的地方直接调用Collections.sort方法,如:Collections.sort(list);即可调用元素对象内部的compareTo方法进行自动排序。

2、根据Collections.sort重载方法来实现

适用于list元素对象不可操作

在需要排序的时候,调用Collections.sort,重写compare排序方法进行排序,如下:

 //假设list为:List<User>,user有字段order,对order进行排序Collections.sort(list,new Comparator<User>(){  public int compare(User arg0, User arg1) {  return arg0.getOrder().compareTo(arg1.getOrder());  }  });

注意:

  • 排序默认为升序!
  • 如需改为降序,将排序的元素对调即可,如下:(arg0,arg1 对调)
    return arg0.getOrder().compareTo(arg1.getOrder());
    改为:return arg1.getOrder().compareTo(arg0.getOrder());就成降序的了。

List元素自动排序相关推荐

  1. Java中的TreeSet集合会自动将元素升序排序

    我们都知道,java中的集合可以分为这么两大类:Collection和Map ,其中Collection 接口中又可以派生出来两个接口,分别为:List和Set接口. 其中,Set下有HashSet, ...

  2. python中用def实现自动排序_漫画排序算法Python实现

    冒泡排序 冒泡排序的思想,我们要把相邻的元素两两比较,当一个元素大于右侧相邻元素时, 交换它们的位置;当一个元素小于或等于右侧相邻元素时,位置不变. def bubbleSort(list): ran ...

  3. java list 元素排序_对arraylist中元素进行排序实例代码

    rrayList中的元素进行排序,主要考查的是对util包中的Comparator接口和Collections类的使用. 实现Comparator接口必须实现compare方法,自己可以去看API帮助 ...

  4. LeetCode-179:数组自动排序工具Arrays.sort(),比较器Comparator的正确打开方式

    题目描述:给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数 实例一:输入: [10,2] 输出: 210 实例二:输入: [3,30,34,5,9] 输出: 9534330 在这道题上花费的 ...

  5. Java 自动排序map_跟我学Java编程—应用自动排序的TreeMap

    前面介绍了Map接口的实现类LinkedHashMap,LinkedHashMap存储的元素是有序的,可以保持元素的插入顺序,但不能对元素进行自动排序.在一些编程应用场景中,如果在数据的存储过程中,能 ...

  6. 计算机排位函数升序是0还是1,Excel Rank函数怎么用的11个实例,含与Rank.EQ和Rank.AVG的区别、并顺自动排序和排名次及分段排序...

    在 Excel 中,Rank函数用于返回指定数字在数字列表中的排位,应用此功能可实现把数字列表按升序或降序排序或排名次.在 Excel 新版本中,已用Rank.EQ函数和Rank.AVG函数取代了Ra ...

  7. set+自动排序+自动去重

    set对插入的元素不仅仅自动去重,还会自动排序 一篇简单介绍set用法的博客 题目链接 #include<cstdio> #include<set> using namespa ...

  8. python set函数排序_python的set函数 Python中的set会自动排序

    python中如何在set中添加元素?语句是什么 python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), inters ...

  9. c# 逆转数组元素的排序

    c#中逆转数组元素的排序实例代码如下: private string[] G_str_array;//定义字符串数组字段 private void Frm_Main_Load(object sende ...

最新文章

  1. 企业如何利用新闻类软文营销策划
  2. 为自己搭建一个鹊桥 -- Native Page与Web View之间的JSBridge实现方式
  3. Hadoop简介(1):什么是Map/Reduce
  4. ProxyShell利用分析1——CVE-2021-34473
  5. 乐兔淘购物分享2.4版本功能无限制 界面够美观时尚
  6. MySQL 多实例详解
  7. Asp.Net就业课之三验证控件
  8. Java IO 之 InputStream源码(2)
  9. C/C++语言以某符号分割字符串
  10. 芋道 spring security oauth2 入门_Spring官方宣布:新的Spring OAuth2.0授权服务器已经来了
  11. 区分execl与system——应用程序中执行命令
  12. ffmpeg-20160517-git-bin
  13. 潮流计算计算机算法研究现状,电力系统潮流计算研究现状
  14. 昨天晚上,世界首富马斯克给我上了一课!
  15. Java 正则表达式对用户名、手机号、邮箱等验证
  16. 【本人秃顶程序员】过年了,给亲朋好友解释“啥是程序员”
  17. 世界药王再遭“无间道”,药企如何保护自己的数据
  18. MySQL死锁套路:一次诡异的批量插入死锁问题分析
  19. 百度B端战事渐入佳境
  20. 如何计算CRC校验码(循环冗余检验码)

热门文章

  1. 版本动态 | Apache Linkis(Incubating) 计算中间件1.1.2 版本发布
  2. 如何去掉超链接下划线小集锦
  3. yum install pcre pcre-devel 报错
  4. 闭环式数字孪生智慧交通管理系统平台应用及分析
  5. Vue实现顶部导航栏设计
  6. 3d打印机喷头出现堵丝问题
  7. cad转dxf格式文件太大_高版本的CAD图纸怎么转换成低版本的DXF格式?
  8. 一个完整和详细的网站SEO优化解决方案
  9. 高中人教版地理教案三-Leo老师
  10. OpenCV开发笔记(五十七):红胖子8分钟带你深入了解直方图反向投影(图文并茂+浅显易懂+程序源码)