JAVA ..如何排序包含时间的数组

时间:2012-06-10 08:12:36

标签: java

任何人都可以告诉我如何对这个数组进行排序:

String[] time = {"3:40 PM - 5:50 PM",  "4:40 PM - 5:50 PM", "2:00 PM - 3:00 PM",
                 "10:30 PM - 11:00 PM","1:00 PM - 2:30 PM", "6:30 PM - 7:00 PM",
                 "3:40 PM - 5:50 PM"};

1 个答案:

答案 0 :(得分:1)

您需要决定如何比较这些时间间隔。然后实现这样的事情:

Arrays.sort(time, new Comparator<String>() { 
                     @Override 
                     public int compare(String timeInterval1, String timeInterval2) { 

                         String[] tokens1 = timeInterval1.split("-");
                         String[] tokens2 = timeInterval2.split("-");

                         return tokens2[0].compareTo(tokens1[0]); 
                     } 
                });

您需要提出自己的方法来比较2个值,以决定哪个值更小/更大。 如果更大则比较器返回+1,如果相等则返回0,如果更小则返回-1。

有关详细信息,请参阅此文档: http://www.javabeat.net/2007/09/sorting-custom-types-in-java/