首页 > 其他分享 >Collections.sort多个字段排序

Collections.sort多个字段排序

时间:2024-10-17 10:34:10浏览次数:6  
标签:sort DateUtils String int DD HHMMSS compare Collections 排序

//生效日期、操作时间倒序、机型组升序
private void sort(List<IntpathcostAreaGroupstVO> data){
Comparator<Object> com = Collator.getInstance(java.util.Locale.CHINA);
Collections.sort(data,new Comparator<IntpathcostAreaGroupstVO>() {
@Override
public int compare(IntpathcostAreaGroupstVO o1, IntpathcostAreaGroupstVO o2) {
String startDate1=DateUtils.date2Str(o1.getStartDate(),DateUtils.YYYY_MM_DD_HHMMSS);//生效日期
String operateTime1=DateUtils.date2Str(o1.getOperateTime(),DateUtils.YYYY_MM_DD_HHMMSS);//操作时间
String groupingName1=o1.getGroupingName();//机型组

String startDate2=DateUtils.date2Str(o2.getStartDate(),DateUtils.YYYY_MM_DD_HHMMSS);//生效日期
String operateTime2=DateUtils.date2Str(o2.getOperateTime(),DateUtils.YYYY_MM_DD_HHMMSS);//操作时间
String groupingName2=o2.getGroupingName();//机型组

int startDate=com.compare(startDate2,startDate1);//倒序
int operateTime=com.compare(operateTime2,operateTime1);//倒序
int groupingName=com.compare(groupingName1,groupingName2);//升序

if(startDate!=0){
return startDate;
}else if(operateTime!=0){
return operateTime;
}else {
return groupingName;
}
}
});
}

标签:sort,DateUtils,String,int,DD,HHMMSS,compare,Collections,排序
From: https://www.cnblogs.com/luxj/p/18471546

相关文章

  • 算法与数据结构——堆排序
    堆排序堆排序(heapsort)是一种基于堆数据结构实现的高效排序算法。我们可以利用已经学过的“建堆操作”和“元素出堆操作”实现堆排序。输入数组并建立小顶堆,此时最小元素位于堆顶。不断执行出堆操作,依次记录出堆元素,即可得到从小到大排序的序列。以上方法虽然可行,但需借助一......
  • 必学的排序算法——冒泡排序
    目录前言一、什么是冒泡排序二、冒泡排序的的基本步骤三、冒泡排序的特点四、冒泡排序算法图解五、经典例题1.合并两个有序数组代码题解2.元素计数代码题解3.最后一块石头的重量代码题解六、结语前言冒泡排序算法是必须掌握的一种基础算法,在一些比较出名的竞赛可......
  • 选择排序,插入排序,快速排序的java简单实现
    代码功能以下Java代码包含了三个排序算法的实现:选择排序(SelectionSort):通过不断选择剩余元素中的最小值来排序数组。插入排序(InsertionSort):通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。快速排序(QuickSort):使用分治法,通过一个基准值......
  • 使用MySQL之排序检索数据
    排序数据子句(clause):SQL语句由子句构成,有些子句是必需的,而有的是可选的。一个子句通常由一个关键字和所提供的数据组成。子句的例子有SELECT语句的FROM子句等。为了明确地排序用SELECT语句检索出的数据,可使用ORDERBY子句。ORDERBY子句取一个或多个列的名字,据此对输出进行排序......
  • 每日回顾:简单用C写 直接插入排序、希尔排序
    直接插入排序直接插入排序(StraightInsertionSort)是一种简单直观的排序算法。它的基本思想是将未排序的数据插入到已排序的序列中。大致思想:使用2个数组下标指针end、i模拟数组元素逐个进行插入的过程;i每递增一次,代表数组新插入一个元素。在这次循环中,end将逐渐递......
  • Sorting a Grid
    怎么洛谷又没了。怕下次又忘了所以写。习惯了谎话,早已分不清真假。不妨给D的每一行染一个颜色,那么C每一行的是一种颜色即可。可以发现有\(n\)种颜色,每种颜色数量为\(m\)。每一行颜色不是一样的。考虑B如何一定合法。显然每一列不能有重复元素,等价于每一列有m种......
  • 数据结构八大排序的java实现
    冒泡排序package排序;importjava.util.Arrays;publicclassBubbleSort{   publicstaticvoidmain(String[]args){      int[]arr={5,7,4,2,0,3,1,6};      sort(arr);      System.out.println(Arrays.toString(arr));   }......
  • 深度解析计数排序:原理、特性与应用
    目录......
  • python如何将list排序
    python提供了对list排序的两种方法1、使用list内建函数sort排序list.sort(key=None,reverse=False)eg:In [57]: l=[27,47,3,42,19,9]In [58]: l.sort()In [59]: lOut[59]: [3, 9, 19, 27, 42, 47]上面这种是直接对l列表里面的元素排序,sort()函数还提供......
  • C++ 排序算法(选择、冒泡、插入)
    八、选择排序(从小到大): 选择排序的基本思想是:每一趟从待排序的数据中,通过“打擂台”比较选出最小元素,放在这些数据的最前面。这样,第一趟把n个数中(第1个到第n个)最小的放在第一个位置,第二趟把剩余的n-1个数中(第2个到第n个)最小的放在第二个位置,第三趟把剩余的n......