我在列表中添加了对象,但是当我对列表进行排序时,一切都很好地排序;最后只添加新对象。有什么想法吗?
这是代码:
// creating object
ScheduleDay sDay = new ScheduleDay();
// all attributes are optional; but even if I add them all, it still isn't sorted
sDay.setDate(dt1.format(cal.getTime()));
// adding to the list
standardShiftItemsPerEmployee.add(sDay);
// sorting
Arrays.sort(standardShiftItemsPerEmployee.toArray());
for (ScheduleDay s : standardShiftItemsPerEmployee)
System.out.println(s.getDate());
结果:
2014年8月9日
2014年9月9日
2014年10月9日
2014年11月9日
2014年12月9日
的 2014年6月9日
答案 0 :(得分:3)
将Arrays.sort(standardShiftItemsPerEmployee.toArray());
替换为Collections.sort(standardShiftItemsPerEmployee)
答案 1 :(得分:1)
Arrays.sort(standardShiftItemsPerEmployee.toArray());
这不会对您的收藏品进行排序。它创建一个包含集合元素的新数组,并对该数组进行排序。并且您没有保留对该排序数组的任何引用。
集合中元素的顺序保持不变。