在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