我有一个由.txt文件填充的对象数组
Object[] punteggiTutti = scores.toArray();
即使可以使用.sort函数:
Arrays.sort(punteggiTutti, Collections.reverseOrder());
我知道如何应用工作的bubblesort算法;我尝试了以下不能正常工作的代码:
for(int i=0; i<j; i++)
{
if(punteggiTutti[i]<punteggiTutti[i+1]) // error "<" operator cannot be used in objects
{
temp=punteggiTutti[i];
punteggiTutti[i]=punteggiTutti[i+1];
punteggiTutti[i+1]=temp;
}
}
答案 0 :(得分:5)
您无法将两个对象与&lt;运营商。
使用实现Comparable接口的东西。然后可以使用函数a.compareTo(b);
来比较这些元素http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Comparable.html
另外看看: http://leepoint.net/notes-java/data/expressions/22compareobjects.html
尝试阅读Java中的相等性。这可以帮助您在使用Java时遇到未来的错误。
答案 1 :(得分:0)
为对象创建一个比较器,以便将对象与另一个对象进行比较。 内置的mergeSort算法比bubblesort快得多。
http://www.iti.fh-flensburg.de/lang/algorithmen/sortieren/sortcontest/sortcontest.htm http://www.sorting-algorithms.com/