Java - 按时间排序数组

use*_*413 3 java sorting datetime

第一:我使用数组来获取这样的信息:

// Tuesday
array[2][1] = "tuesday";
array[2][2] = "20:00";

// Wednesday 
array[3][1] = "Wednesday";
array[3][2] = "15:00";

// Thursday 
array[4][1] = "Thursday";
array[4][2] = "20:00";

// Friday
array[5][1] = "Friday";
array[5][2] = "18:00";

// Saturday
array[6][1] = "Saturday";
array[6][2] = "15:00";

// Sunday
array[7][1] = "Sunday";
array[7][2] = "15:00";
Run Code Online (Sandbox Code Playgroud)

如何按实际时间和工作日对数组进行排序?示例:现在是星期三 - 11:13.第一个Array-Item将是数组[3],然后是4,5,6,7,然后是2.

非常感谢你.

Ale*_*exR 6

你应该使用Arrays.sort(array,comparator),例如:

Arrays.sort(array, new Comparator<String[]>() {
    public int compareTo(String[] one, String[] two) {
         // implement compareTo here
    }
});
Run Code Online (Sandbox Code Playgroud)

但是对于不同的数据使用二维数组而不是自定义类型的一维数组是非常糟糕的做法,即:

public class DayTime {
    private String day;
    private String time;
    // constructors, setters, getters
}
Run Code Online (Sandbox Code Playgroud)

现在创建这样的数组:

DayTime[] days = new DayTime[] {
    new DayTime("tuesday", "20:00").
    new DayTime("Wednesday", "15:00"),
    // etc, etc
};


Arrays.sort(array, new Comparator<DayTime>() {
    public int compareTo(DayTime one, DayTime two) {
         // implement compareTo here
    }
});
Run Code Online (Sandbox Code Playgroud)

你也可以DateTime实现Comparable.在这种情况下只需打电话Arrays.sort(array)