对象添加到列表中,但不与其他对象一起排序,但最后添加

时间:2014-09-01 14:21:16

标签: java arrays list sorting

我在列表中添加了对象,但是当我对列表进行排序时,一切都很好地排序;最后只添加新对象。有什么想法吗?

这是代码:

// 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日

2 个答案:

答案 0 :(得分:3)

Arrays.sort(standardShiftItemsPerEmployee.toArray());替换为Collections.sort(standardShiftItemsPerEmployee)

答案 1 :(得分:1)

Arrays.sort(standardShiftItemsPerEmployee.toArray());

这不会对您的收藏品进行排序。它创建一个包含集合元素的新数组,并对该数组进行排序。并且您没有保留对该排序数组的任何引用。

集合中元素的顺序保持不变。