我正在尝试创建一个冒泡排序算法,以百分比作为要比较的对象对以arraylist为元素的数组进行排序。我知道我需要索引数组中arraylist的第二部分,但是我不确定我的实现到底出了什么问题。如果有人对如何解决这个问题有任何想法,我将不胜感激。
这是我的数组:
Percentage[] list = new Percentage[57];
这是我填充数组的方式:
list[i] = new Percentage(dataArray[0], (cYear2/cYear1) - 1);
这是我的compareTo方法:
@Override
public int compareTo(Percentage percentage) {
return Double.compare(this.change, percentage.change);
}
这是我的排序方法:
public static void bubbleSort(ArrayList<Comparable> list) {
for (int k = 0; k < list.size(); k++) {
for (int j = 0; j < list.size() - 1; j++) {
if (list.get(j).getChange().compareTo(list.get(j + 1).getChange()) > 0) {
Collections.swap(list, j, j + 1);
}
}
}
}