下面是比較器代碼,但是在SortedMap.putAll()之後,與源映射相比,SortedMap具有較少數量的映射條目。按鍵排序映射<ArrayList,List <Entity>> - ArrayList設置日期
任何人都可以請幫忙嗎?
Comparator<ArrayList> arrayListComparer = new Comparator<ArrayList>() {
@Override
public int compare(ArrayList arrA, ArrayList arrB) {
DateFormat formatter = new SimpleDateFormat("MMM-yyyy");
Date dateA = new Date();
Date dateB = new Date();
try {
dateA = formatter.parse(arrA.get(0).toString());
dateB = formatter.parse(arrB.get(0).toString());
} catch (ParseException ex) {
Logger.getLogger(ValueComparator.class.getName()).log(Level.SEVERE, null, ex);
}
if (dateA.before(dateB)) {
return 0;
} else if (dateA.after(dateB)) {
return 1;
} else {
return -1;
}
}
};
SortedMap sorted_map = new TreeMap(arrayListComparer);
sorted_map.putAll(map);
運行此操作時不會出現異常? – 2012-04-23 18:03:55
無論您的比較器的邏輯如何,都不應該發生。你可能看錯了一個東西。 – 2012-04-23 18:04:34
你可以給你正在測試的數據集嗎? – harshit 2012-04-23 18:05:29