我正在尝试找出如何制作一个排序函数,它可以按降序对数组进行排序。
public void dsort(String field) throws DataSetException {
int front = 0;
int findex = -1;
String[] tosort = new String[50];
for (int i = 0; i < filedata[0].length; i++) {
if (field.equalsIgnoreCase(filedata[0][i])) {
findex = i;
}
}
if (findex == -1) {
throw new DataSetException();
} else {
for (int k = 0; k < getNumRecords(); k++) {
if (filedata[k][findex] != null) {
tosort[front] = filedata[k][findex];
front++;
}
}
Comparator comparator = Collections.reverseOrder();
Arrays.sort(tosort, comparator);
System.out.println(Arrays.asList(tosort));
}
}
这个函数的作用是从一个数组中取出元素,创建一个新的数组,这正是我想要的。然而,我的排序输出结果却像32、3、25、20、2、1000和1等等。 这些“整数”被视为字符串,而这个排序函数也应该能够将单词作为字符串进行排序。我认为我应该尝试使用comparable,但我不确定如何在这种情况下实现它。