JAVA对list集合进行排序Collections.sort()

 更新时间:2017年01月01日 00:57:04   投稿:mdxy-dxy  
这篇文章主要介绍了JAVA对list集合进行排序Collections.sort(),需要的朋友可以参考下

对一个集合中的对象进行排序,根据对象的某个指标的大小进行升序或降序排序。代码如下:

进行降序排列

 进行降序排列
    Collections.sort(list, new Comparator<ResultTypeDesc>() {
      public int compare(ResultTypeDesc o1, ResultTypeDesc o2) {
        return o2.getRatio().compareTo(o1.getRatio());
      }
    });

进行升序排列

Collections.sort(list, new Comparator<ResultTypeDesc>() {
public int compare(ResultTypeDesc o1, ResultTypeDesc o2) {
return o1.getRatio().compareTo(o2.getRatio());
   }
});

经过测试发现,只需要把两个对象的位置调换一下即可升序或降序。

如果指标相同,根据多个指标进行排序,需创建一个比较器:

import java.util.*;

public class ComparatorResultType implements Comparator{

 public int compare(Object arg0, Object arg1) {
 ResultTypeDesc desc0=(ResultTypeDesc)arg0;
 ResultTypeDesc desc1=(ResultTypeDesc)arg1;

  //首先比较主指标,如果主指标相同,则比较次指标

 int flag=desc0.getXXX().compareTo(desc1.getXXX());
 if(flag==0){
  return desc0.getXXX2().compareTo(desc1.getXXX2());
 }else{
  return flag;
 } 
 }
}

//测试类中代码:
ComparatorResultType comparator=new ComparatorResultType();
Collections.sort(list, comparator);

对list集合进行逆输出:

Collections.reverse(list);

ResultTypeDesc这个为所需的实体类对象,具体使用结合自己代码情况即可。

此方法有可能报空指针,自己结合情况,自行解决,判断是否为NULL。

相关文章

  • Java处理科学计数法数字方式

    Java处理科学计数法数字方式

    这篇文章主要介绍了Java处理科学计数法数字方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • Java结构型设计模式之适配器模式详解

    Java结构型设计模式之适配器模式详解

    适配器模式,即将某个类的接口转换成客户端期望的另一个接口的表示,主要目的是实现兼容性,让原本因为接口不匹配,没办法一起工作的两个类,可以协同工作。本文将通过示例详细介绍适配器模式,需要的可以参考一下
    2022-09-09
  • 23种设计模式(6)java装饰者模式

    23种设计模式(6)java装饰者模式

    这篇文章主要为大家详细介绍了23种设计模式之java装饰者模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Mybatis 动态SQL的几种实现方法

    Mybatis 动态SQL的几种实现方法

    这篇文章主要介绍了Mybatis 动态SQL的几种实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Spring Bean六种作用域的适用场景和使用方式

    Spring Bean六种作用域的适用场景和使用方式

    本文主要介绍了Spring Bean六种作用域的适用场景和使用方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Struts中action线程安全问题解析

    Struts中action线程安全问题解析

    这篇文章主要介绍了Struts中action线程安全问题解析,涉及实例代码,还是挺不错的,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • 关于SpringBoot Actuator漏洞补救方案

    关于SpringBoot Actuator漏洞补救方案

    SpringBoot Actuator模块提供了健康检查,审计,指标收集,HTTP 跟踪等,是帮助我们监控和管理SpringBoot应用的模块,本文将主要介绍SpringBoot Actuator漏洞的补救方案,需要的朋友可以参考下
    2023-06-06
  • idea如何快速查找一个类或类中方法名和变量

    idea如何快速查找一个类或类中方法名和变量

    这篇文章主要介绍了idea如何快速查找一个类或类中方法名和变量问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • 关于@Component和@Bean使用注意

    关于@Component和@Bean使用注意

    这篇文章主要介绍了关于@Component和@Bean使用注意,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • idea指定maven的settings文件不生效的问题解决

    idea指定maven的settings文件不生效的问题解决

    本文主要介绍了idea指定maven的settings文件不生效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06

最新评论