`
wsmajunfeng
  • 浏览: 496921 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

对List中的日期进行排序

阅读更多
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.List;

/**
 * @author majunfeng:对List中的日期进行排序
 */
public class DateSort {

    public static void main(String[] args) {
        List dateList = new ArrayList();
        System.err.println("----before sort:");
        for (int i = 0; i < 5; i++) {// 随机生成五个日期
            Date d = new Date(System.currentTimeMillis() + (int) (Math.random() * 1000000000));
            dateList.add(d);
            System.out.println(formatDate(d));// 格式化了日期
            // System.out.println(d);//未格式化日期
        }
        ComparatorDate c = new ComparatorDate();
        Collections.sort(dateList, c);
        System.err.println("----after sort:");
        for (Object date : dateList) {
            System.out.println(formatDate(date));// 格式化了日期
            // System.out.println(date);//未格式化日期
        }
    }

    /**
     * 格式化日期,返回字符串形式,形如"yyyy-MM-dd"
     * 
     * @param date
     * @return
     */
    private static String formatDate(Object date) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        return dateFormat.format(date);
    }
}

class ComparatorDate implements Comparator {

    public int compare(Object obj1, Object obj2) {
        Date begin = (Date) obj1;
        Date end = (Date) obj2;
        if (begin.after(end)) {
            return 1;
        } else {
            return -1;
        }
    }
}


运行结果如:
----before sort:
2010-09-22
2010-09-27
2010-09-19
2010-09-17
2010-09-18
----after sort:
2010-09-17
2010-09-18
2010-09-19
2010-09-22
2010-09-27
分享到:
评论

相关推荐

    java使用stream对日期排序

    日期排序在数据分析、日志处理、报表生成等场景中非常常见。下面我们将详细讨论相关知识点。 首先,我们需要了解Java中的日期时间API。在Java 8之前,我们通常使用`java.util.Date`和`java.text.SimpleDateFormat`...

    Android里List时间升序排序

    在我们的例子中,`String`类已经实现了`Comparable&lt;String&gt;`接口,因此我们可以直接对`List&lt;String&gt;`进行排序。然而,`Collections.sort()`是基于字符串的自然顺序进行排序,即按照Unicode字符的编码顺序比较字符串...

    java日期排序.docx

    Java 日期排序是 Java 编程语言中的一项重要功能,用于对日期进行排序和处理。在本文中,我们将详细介绍 Java 日期排序的概念、实现方法和示例代码。 日期排序的概念 日期排序是指将日期按照一定的顺序排列的过程...

    java 中List按照date排序的实现

    Java 中List按照date排序的实现是Java开发中一个常见的需求,特别是在处理日期类型的数据时SORT。今天,我们将介绍如何使用Java中的Collections类和Comparator接口对List按照date排序。 首先,让我们先了解一下 ...

    暑期培训学习笔记之 java\日期排序

    本篇学习笔记将深入探讨如何在Java中对日期进行排序,主要包括以下几个方面: 1. **日期对象的创建** 在Java中,我们可以使用`java.util.Date`类或者`java.time`包中的`LocalDate`, `LocalDateTime`等类来表示日期...

    TStringList数据排序程序

    在实际应用中,你可能还需要考虑其他因素,如处理国际化和本地化问题,或者根据业务规则对包含日期、时间或其他复杂格式的字符串进行排序。此时,比较函数需要根据这些需求进行相应调整。 总的来说,`TStringList`...

    Java源码对用户名进行比较排序.rar

    在Java编程语言中,对用户名进行比较排序是一个常见的任务,特别是在开发用户管理系统或者任何涉及到用户数据展示的应用中。这个任务通常涉及到字符串的比较和排序,Java提供了强大的工具来实现这一功能。下面我们将...

    根据父容器日期排序的ExpandableListView

    在这个特定的场景中,我们面临的是一个根据父容器日期排序的`ExpandableListView`需求,这意味着我们需要对父节点的数据进行时间轴上的排序,以展示最近或最早的事件。 首先,理解`ExpandableListView`的基本工作...

    文件按照window 的排序规则-Java实现

    - **按日期排序**:使用`lastModified()`方法获取文件的最后修改时间,然后根据时间戳进行排序。 4. **日期排序**: 对于按照文件的创建或修改日期排序,可以使用`lastModified()`方法: ```java long time1 = ...

    java8新特性将List中按指定属性排序过滤重复数据的方法

    Java 8 新特性将 List 中按指定属性排序过滤重复数据的方法是 Java 8 中一个非常有用的功能,它可以帮助开发者快速地对 List 中的数据进行排序和过滤,以满足实际应用中的需求。下面是该方法的详细介绍。 首先,...

    程序实现时间排序Comparator

    这个类被用来对存储在`List&lt;Map&gt;`中的元素进行排序。每个`Map`代表一个数据项,其中包含两个键:“orderRole”和“dateorder”。目标是对这些数据项先根据“orderRole”进行排序,若“orderRole”相同,则根据...

    Delphi TStringList 排序代码.rar

    Delphi中的TStringList 排序算法实例代码,功能: 对保存在多个 TStringList 中的数据进行排序,支持按数字,日期,文字进行排序,支持顺序和倒序排序。  procedure MyStringsCustomSort(var aData: TSortData; ...

    在java中获取List集合中最大的日期时间操作

    然后,我们使用自定义的排序方法来将日期排序。最后,我们获取 List 集合中的最大日期时间操作。 使用 Lambda 表达式 在 Java 8 中,我们可以使用 Lambda 表达式来获取 List 集合中最大的日期时间操作。 例如: `...

    StringGrid部分行按列排序

    代码中定义了`TForm1.StringGridSub1MouseUp`事件处理器,当用户点击标题列时会调用`SortGrid`函数进行排序。具体实现逻辑如下: 1. **事件监听**:监听StringGrid的鼠标点击事件。 2. **坐标转换**:将鼠标点击...

    Freemarker中遍历list集合实例

    二、 Freemarker 中对 List 进行排序 通常我们的排序操作都是通过 DAO 层来实现的,如果我们想随时更改我们的排序,那么就必须修改我们的 DAO 层代码,确实不方便。但 Freemarker 为我们提供了这样的排序方法,解决...

    java文件夹按时间、大小等排序

    在Java编程中,对文件夹中的文件进行排序是一项常见的任务,尤其在处理大量数据或进行自动化操作时。这里我们将深入探讨如何使用Java实现文件按时间、大小等属性进行排序的功能。 首先,我们要引入`java.io.File`类...

    C#快速排序练习

    在最坏的情况下,即输入数组已经完全排序或逆序时,快速排序的性能退化为O(n^2),但这种情况在实际应用中很少出现。 快速排序的基本步骤如下: 1. **选择主元(Pivot)**:选取数组中的一个元素作为基准值,通常...

    一个简单的读取二进制文件并进行排序

    一旦数据加载完毕,我们可以应用各种排序算法对其进行排序,如冒泡排序、选择排序、插入排序、快速排序、归并排序等。这些算法的选择取决于数据规模、性能需求和内存限制。在C++中,可以使用标准库中的`std::sort`...

    MFC中ListControl控件功能扩展

    在实际开发中,我们常常需要对ListControl的数据进行排序,以便用户更方便地浏览和查找信息。本篇文章将深入探讨如何扩展MFC ListControl的功能,特别是实现按字符串、日期和数字的排序,并讲解如何通过点击列表头来...

    jSort页面内容排序

    在实际项目中,可以根据具体需求对其进行扩展和定制,以满足各种复杂的排序需求。同时,要注意性能优化,特别是在处理大量数据时,避免不必要的DOM操作以提升用户体验。在学习和使用jSort的过程中,不断实践和调试是...

Global site tag (gtag.js) - Google Analytics