日期ArrayList的排序

问题描述 投票:0回答:4

我有一个

ArrayList
,其中包含格式为(星期六,2012 年 2 月 4 日)的日期。我该如何排序
ArrayList

java android sorting
4个回答
23
投票

这是最简单的排序方法之一,

Collections.sort(<Your Array List>);

5
投票

如果您在排序时有任何特殊要求,可以自行提供

Comparator
。例如:

//your List
ArrayList<Date> d = new ArrayList<Date>();

//Sorting
Collections.sort(d, new Comparator<Date>() {
    @Override
    public int compare(Date lhs, Date rhs) {
        if (lhs.getTime() < rhs.getTime())
            return -1;
        else if (lhs.getTime() == rhs.getTime())
            return 0;
        else
            return 1;
    }
});

关键要素是将

Date
对象转换为毫秒(使用
getTime()
)进行比较。


5
投票

8年后..

List<Date> dates = datelist;
List<Date> sorted = dates.stream()
  .sorted(Comparator.comparingLong(Date::getTime))
  .collect(Collectors.toList());

0
投票

12年后...

final var sortedDates = dates.stream().sorted().toList();
© www.soinside.com 2019 - 2024. All rights reserved.