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中的日期时间API。在Java 8之前,我们通常使用`java.util.Date`和`java.text.SimpleDateFormat`...
在我们的例子中,`String`类已经实现了`Comparable<String>`接口,因此我们可以直接对`List<String>`进行排序。然而,`Collections.sort()`是基于字符串的自然顺序进行排序,即按照Unicode字符的编码顺序比较字符串...
Java 日期排序是 Java 编程语言中的一项重要功能,用于对日期进行排序和处理。在本文中,我们将详细介绍 Java 日期排序的概念、实现方法和示例代码。 日期排序的概念 日期排序是指将日期按照一定的顺序排列的过程...
Java 中List按照date排序的实现是Java开发中一个常见的需求,特别是在处理日期类型的数据时SORT。今天,我们将介绍如何使用Java中的Collections类和Comparator接口对List按照date排序。 首先,让我们先了解一下 ...
本篇学习笔记将深入探讨如何在Java中对日期进行排序,主要包括以下几个方面: 1. **日期对象的创建** 在Java中,我们可以使用`java.util.Date`类或者`java.time`包中的`LocalDate`, `LocalDateTime`等类来表示日期...
在实际应用中,你可能还需要考虑其他因素,如处理国际化和本地化问题,或者根据业务规则对包含日期、时间或其他复杂格式的字符串进行排序。此时,比较函数需要根据这些需求进行相应调整。 总的来说,`TStringList`...
在Java编程语言中,对用户名进行比较排序是一个常见的任务,特别是在开发用户管理系统或者任何涉及到用户数据展示的应用中。这个任务通常涉及到字符串的比较和排序,Java提供了强大的工具来实现这一功能。下面我们将...
在这个特定的场景中,我们面临的是一个根据父容器日期排序的`ExpandableListView`需求,这意味着我们需要对父节点的数据进行时间轴上的排序,以展示最近或最早的事件。 首先,理解`ExpandableListView`的基本工作...
- **按日期排序**:使用`lastModified()`方法获取文件的最后修改时间,然后根据时间戳进行排序。 4. **日期排序**: 对于按照文件的创建或修改日期排序,可以使用`lastModified()`方法: ```java long time1 = ...
Java 8 新特性将 List 中按指定属性排序过滤重复数据的方法是 Java 8 中一个非常有用的功能,它可以帮助开发者快速地对 List 中的数据进行排序和过滤,以满足实际应用中的需求。下面是该方法的详细介绍。 首先,...
这个类被用来对存储在`List<Map>`中的元素进行排序。每个`Map`代表一个数据项,其中包含两个键:“orderRole”和“dateorder”。目标是对这些数据项先根据“orderRole”进行排序,若“orderRole”相同,则根据...
Delphi中的TStringList 排序算法实例代码,功能: 对保存在多个 TStringList 中的数据进行排序,支持按数字,日期,文字进行排序,支持顺序和倒序排序。 procedure MyStringsCustomSort(var aData: TSortData; ...
二、 Freemarker 中对 List 进行排序 通常我们的排序操作都是通过 DAO 层来实现的,如果我们想随时更改我们的排序,那么就必须修改我们的 DAO 层代码,确实不方便。但 Freemarker 为我们提供了这样的排序方法,解决...
代码中定义了`TForm1.StringGridSub1MouseUp`事件处理器,当用户点击标题列时会调用`SortGrid`函数进行排序。具体实现逻辑如下: 1. **事件监听**:监听StringGrid的鼠标点击事件。 2. **坐标转换**:将鼠标点击...
然后,我们使用自定义的排序方法来将日期排序。最后,我们获取 List 集合中的最大日期时间操作。 使用 Lambda 表达式 在 Java 8 中,我们可以使用 Lambda 表达式来获取 List 集合中最大的日期时间操作。 例如: `...
在Java编程中,对文件夹中的文件进行排序是一项常见的任务,尤其在处理大量数据或进行自动化操作时。这里我们将深入探讨如何使用Java实现文件按时间、大小等属性进行排序的功能。 首先,我们要引入`java.io.File`类...
在最坏的情况下,即输入数组已经完全排序或逆序时,快速排序的性能退化为O(n^2),但这种情况在实际应用中很少出现。 快速排序的基本步骤如下: 1. **选择主元(Pivot)**:选取数组中的一个元素作为基准值,通常...
一旦数据加载完毕,我们可以应用各种排序算法对其进行排序,如冒泡排序、选择排序、插入排序、快速排序、归并排序等。这些算法的选择取决于数据规模、性能需求和内存限制。在C++中,可以使用标准库中的`std::sort`...
在实际开发中,我们常常需要对ListControl的数据进行排序,以便用户更方便地浏览和查找信息。本篇文章将深入探讨如何扩展MFC ListControl的功能,特别是实现按字符串、日期和数字的排序,并讲解如何通过点击列表头来...
在实际项目中,可以根据具体需求对其进行扩展和定制,以满足各种复杂的排序需求。同时,要注意性能优化,特别是在处理大量数据时,避免不必要的DOM操作以提升用户体验。在学习和使用jSort的过程中,不断实践和调试是...