iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >java如何自定义List中的sort()排序,用于日期排序
  • 211
分享到

java如何自定义List中的sort()排序,用于日期排序

2024-04-02 19:04:59 211人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录java 自定义List中的sort()排序1、问题描述2、解决方法3、其他java Collections类:sort()升序排序正向排序java 自定义List中的sort(

java 自定义List中的sort()排序

1、问题描述

List是java中一个有序可重复的的集合,其中自带的.sort()排序方法,该方法在针对纯数字类型List集合排序的时候很有效。但是对于装入其他类型的List集合,自带的sort()方法排序我们很难控制,比如一个日期集合的排序。

2、解决方法

java中List允许我们自定义sort()排序方法,以下自定义了List集合的sort排序方法,用于对一个字符串类型的日期集合进行排序。


//待排序的集合
List<String> list=new ArrayList<String>();
list.add("2019-06");
list.add("2019-11");
list.add("2019-02");
list.add("2019-09");
list.add("2019-05");
//自定义list排序,集合数据(月份)按升序排序;
final SimpleDateFORMat sdft = new SimpleDateFormat("yyyy-MM");
Collections.sort(list, new Comparator<String>(){
    @Override
 public int compare(String month1, String month2) {
  int mark = 1;
  try {
      Date date1 = sdft.parse(month1);
      Date date2 = sdft.parse(month2);
      if(date1.getTime() < date2.getTime()){
       mark = -1;//调整顺序,-1为不需要调整顺序;
      }
      if(month1.equals(month2)){
       mark =  0;
  }
  } catch (ParseException e) {
   LOG.error("日期转换异常", e);
   e.printStackTrace();
  }
 return mark;
 } //compare
});

3、其他

另外java两个日期类型的对象也可以用如下方法进行比较。


Date() date1=new Date();
Date() date2=new SimpleDateFormat("yyyy-MM-dd").parse("2019-06-11");
Boolean flag;
if(date1.before(date2)){
 flag=true;
}

a.before(b);该方法是判断a日期是否小于b日期,返回的是一个布尔类型结果。

java Collections类:sort()升序排序

正向排序

使用 Collections 类的静态方法 sort() 可以对集合中的元素进行升序排序。这要求列表中的所有元素都必须实现 Comparable 接口,而且所有元素都必须是使用指定比较器可相互比较的。

sort() 方法主要有如下两种重载形式

  • void sort(List list):根据元素的自然顺序对集合中的元素进行升序排序。
  • void sort(List list,Comparator comparator):按 comparator 参数指定的排序方式对集合中的元素进行排序。

public  class  Test{
    public static void main(String[] args) {
        Student Student =new Student("张1","6M");
        Student Student1 =new Student("张2","1M");
        Student Student2 =new Student("张4","5M");
        Student Student3 =new Student("张5","1M");
        List<Student> list=new ArrayList<Student>();
        list.add(Student);
        list.add(Student1);
        list.add(Student2);
        list.add(Student3);
        Collections.sort(list, new Comparator<Student>() {
            @Override
            public int compare(Student o1, Student o2) {
                return  o2.getAge().compareTo(o1.getAge());
            }
        });
        System.out.println(list.toString());
    } 
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: java如何自定义List中的sort()排序,用于日期排序

本文链接: https://www.lsjlt.com/news/156705.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java如何自定义List中的sort()排序,用于日期排序
    目录java 自定义List中的sort()排序1、问题描述2、解决方法3、其他java Collections类:sort()升序排序正向排序java 自定义List中的sort(...
    99+
    2024-04-02
  • java如何自定义List中的sort()排序且用于日期排序
    本篇文章给大家分享的是有关java如何自定义List中的sort()排序且用于日期排序,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。java 自定义List中的sort()排序...
    99+
    2023-06-25
  • c++ sort自定义排序的方法是什么
    在C++中,可以使用std::sort函数来对容器进行排序。如果需要自定义排序方法,可以使用函数指针、函数对象或lambda表达式来...
    99+
    2023-10-21
    c++
  • c++自定义sort()函数的排序方法介绍
    目录1. 引言2. 自定义排序规则2.1 重写 < 或 > 运算符2.2 普通函数2.3 仿函数1. 引言 在C++中,sort()函数常常用来对容器内的元素进行排序,先...
    99+
    2024-04-02
  • MySQl中如何自定义时间排序
    今天就跟大家聊聊有关MySQl中如何自定义时间排序,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。MySQl时间自定义排序 SELEC...
    99+
    2024-04-02
  • mysql中如何按照日期排序
    mysql中实现按日期排序的方法表结构如下:+---+------------+|id | addtime |+---+------------+| 5 |2020-03-06 |+---+------------+| 6 |2020-03...
    99+
    2024-04-02
  • 自定义函数如何实现单词排序并运用于PostgreSQL
    小编给大家分享一下自定义函数如何实现单词排序并运用于PostgreSQL,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Python实现逻辑按照分隔符将字符串分割为...
    99+
    2023-06-14
  • java中Comparable接口排序怎么实现自定义
    今天就跟大家聊聊有关java中Comparable接口排序怎么实现自定义,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。实例如下所示:class Student implements ...
    99+
    2023-05-31
    java ava comparable
  • Java使用lambda自定义Arrays.sort排序规则说明
    目录lambda自定义Arrays.sort排序规则1.类间排序2.使用比较器(comparator)作为sort的参数(用于单个类型的排序)补充一下Arrays.sort()的一些...
    99+
    2024-04-02
  • 如何用php的sort实现一个排序
    本篇内容主要讲解“如何用php的sort实现一个排序”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用php的sort实现一个排序”吧!在php中,sort可以用于对数值数组进行升序排序,语法...
    99+
    2023-07-02
  • element-table如何实现自定义表格排序
    目录element-table 自定义表格排序第一步第二步原理element-table表格 自定义排序规则项目需求使用element-table 自定义表格排序 第一步 在el-t...
    99+
    2024-04-02
  • MySQL中如何通过循环实现自定义排序
    在MySQL中,可以通过循环实现自定义排序的方法是使用用户定义变量(user-defined variables)来实现。以下是一个...
    99+
    2024-04-30
    MySQL
  • PHP中自定义排序的方法有哪些
    在PHP中,可以使用以下方法来定义自定义排序: 使用usort()函数:usort()函数用于对数组进行排序,可以自定义排序规则。...
    99+
    2024-04-02
  • 怎么在Java中对TreeSet进行自定义类型的排序
    怎么在Java中对TreeSet进行自定义类型的排序?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java可以用来干什么Java主要应用于:1. web开发;2. Androi...
    99+
    2023-06-06
  • 怎么在C++项目中利用priority_queue自定义排序
    这篇文章给大家介绍怎么在C++项目中利用priority_queue自定义排序,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。首先,无论 priority_queue 中存储的是基础数据类型(int、double 等),...
    99+
    2023-06-06
  • 用 C++ lambda 表达式自定义排序规则如何实现?
    使用 c++++ lambda 表达式自定义排序规则,可灵活定义排序逻辑。语法为:[capture list](parameters) -> return type { body ...
    99+
    2024-04-17
    c++ lambda 排列
  • java优先队列自定义排序的方法是什么
    Java中的优先队列(PriorityQueue)默认使用元素的自然顺序进行排序。如果想自定义排序规则,需要通过实现Comparat...
    99+
    2023-09-07
    java
  • Java实现自定义Excel数据排序的方法详解
    目录1.引入jar包2.自定义排序通常,我们可以在Excel中对指定列数据执行升序或者降序排序,排序时可依据单元格中的数值、单元格颜色、字体颜色或图标等。在需要自定义排序情况下,我们...
    99+
    2024-04-02
  • python在自定义类上使用堆排序的示例
    小编给大家分享一下python在自定义类上使用堆排序的示例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;...
    99+
    2023-06-14
  • php中怎么利用uasort()自定义排序 多维数组
    php中怎么利用uasort()自定义排序 多维数组,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。php内置的排序函数很多;正反各种排;常用的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作