在Java中按时间对ArrayList进行排序

我有一个List<String>包含从上午8:00到下午4:00的时间列表。

当我在输出中显示它时,它似乎没有排序,而当我使用Collections.sort(myList);它时,它的排序时间是从1:00 pm到8:00 am。

我如何从8:00 am到4:00 pm排序我的列表?

回答:

不要重新发明轮子,而是使用collection(如果允许使用java8,则使用Lambdas)How ??:将列表保留为字符串,但使用Anonymous

,在其中将字符串解析为日期,对其进行比较,然后就可以使用它了。这是一个片段:

List<String> l = new ArrayList<String>();

l.add("8:00 am");

l.add("8:32 am");

l.add("8:10 am");

l.add("1:00 pm");

l.add("3:00 pm");

l.add("2:00 pm");

Collections.sort(l, new Comparator<String>() {

@Override

public int compare(String o1, String o2) {

try {

return new SimpleDateFormat("hh:mm a").parse(o1).compareTo(new SimpleDateFormat("hh:mm a").parse(o2));

} catch (ParseException e) {

return 0;

}

}

});

System.out.println(l);

以上是 在Java中按时间对ArrayList进行排序 的全部内容, 来源链接: utcz.com/qa/414314.html

回到顶部