【发布时间】:2016-11-07 16:19:46
【问题描述】:
在我的 android 应用程序中,我试图获得一个排序数组。我有一个包含名称字符串和日期字符串的数组数组。我正在尝试根据日期对名称进行排序。像这样:
private void sortList() {
String[][] namesAndDatesList = new String[][] {
new String[] {"name1", "05/03/2016 02:11:33")}
, new String[] {"name2", "04/03/2016 02:11:34"}
, new String[] {"name3", "04/03/2016 02:11:33")}
, new String[] {"name4", "02/03/2016 02:11:33")}
, new String[] {"name5", "05/03/2016 02:11:38")}
};
String[] namesList = Collections.sort(namesAndDatesList, new StringDateComparator());
}
class StringDateComparator implements Comparator<String>
{
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy hh:mm:ss");
public int compare(params)
{
try {
// return something
} catch (ParseException e) {
e.printStackTrace();
}
return 0;
}
}
我希望它输出按日期和时间排序的名称,例如:
namesList = {name4, name3, name2, name1, name5}
我不知道该怎么做。
【问题讨论】:
-
对于初学者,您正在尝试做两件事。对数组进行排序,从子数组中提取一个信息。
-
那不可能?在一个比较器中?我当然总是可以在排序后提取名称
-
不,因为这不是比较器的作用。您确实需要先排序,然后提取您需要的值