按日期对数据排序

时间:2016-05-08 05:43:28

标签: java collections comparator

name=dfd: desc=dfgdf: startDate=12/05/2016: endDate=04/06/2016:
tags=sff,sff: priority=5: status=new: actualEndDate=null

我的文件中包含以上类型的数据,我希望按startDate对其进行排序 什么是逻辑?

2 个答案:

答案 0 :(得分:2)

你需要创建class say Data,然后实现Comparable,如:

public class Data implements Comparable<Data> {
     private String name;
     private Date startDate;
     ...//other fields
     ...//getter setter
     public int compareTo(Data otherData) {
          return this.startDate.compareTo(otherData.startDate);
     }
}

然后阅读并创建一个记录列表,如:

List<Data> dataList = ....
//read file and add data to list
Collections.sort(dataList);

答案 1 :(得分:0)

这取决于数据集的特征以及之后要对其执行的操作。如果你只想按日期排序,那么@ SMA的答案是好的。您可能还希望,假设开始日期是唯一的,请使用日期作为查找特定记录的关键字:如果这是您的首选路线,请查看SortedMap<Date,T>