我在冒泡排序时遇到了一些麻烦 Calendar
截至日期,我不确定我的代码有什么问题。
首先:我有一个类(名为 Note
),其中包含多个变量和方法,其中一个变量是 Calendar
.
然后我有一个ArrayList<aboveclass>
命名list
包含上述类的多个实例。我正在尝试排序list
按每个类实例的日期。
这是我的代码:
for(int i = 0; i<list.size(); i++){
for(int x=0; x < list.size() - x - 1; x++){
if(list.get(x).date.after(list.get(x+1).date)){
Note temp = list.get(x);
list.set(x, list.get(x+1));
list.set(x+1, temp);
System.out.println(i + " and " + x + " Switched");
}
}
}
但是什么都没有被排序,并且 System.out.println
永远不会去。我也尝试过切换.after
与 .before
没有差异。
我有什么遗漏吗?
谢谢
最佳答案
如果您不需要通过冒泡排序对列表进行排序,则可以使用java.util.Collection.sort()
。
你的代码将变成:
Collections.sort(list);
但是,您需要让您的类(class)(注意
,如果我是对的)实现 Comparable或创建 comparator .
Here你可以找到一些例子。
关于java - 冒泡排序日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28305046/