想做一个二维数组的排序,数组的第一列,是类似
2011/02/12 10:00~12:00
2011/03/12 13:00~15:00
2011/05/21 16:00~18:00
2010/12/07 19:00~21:00
的升序排列。
请教各位大牛们~~这样的排序,该怎么写Comparator呢?完全不会了~~
------解决方案--------------------
1、如果你的数据是类型是java.util.Date,那么不需要实现,因为java.util.Date本来就实现了Comparable接口。
2、如果 你的数据类型是String,需要注意不能使用1,2这样的单月日形式,必须使用01,02
3、你对数组的其它列的数据还需要实现Comparable接口。
------解决方案--------------------
- Java code
//用TreeSet可以自然排序呀 不就是升序了么?如:package com.testClass;import java.io.IOException;import java.util.Iterator;import java.util.Set;import java.util.TreeSet;public class Test2 { /** * @param args * @throws IOException */ public static void main(String[] args) throws Exception { String time[] = {"2011/02/12 10:00~12:00","2011/03/12 13:00~15:00","2011/05/21 16:00~18:00","2010/12/07 19:00~21:00"}; Set<String> set = new TreeSet<String>(); for (int i = 0; i < time.length; i++) { set.add(time[i]); } Iterator<String> iterator = set.iterator(); while(iterator.hasNext()){ System.out.println(iterator.next()+"\n"); } }}