我有一个对象数组,每个对象包含两个字段。我必须编写一个方法,按照第一个字段对数组进行排序。我已经有了从每个对象中提取第一个字段的方法
当我调用我的方法进行排序时,总是收到一条错误消息。
这是我的密码:
public static void trier(String[]code, String[]nom, int nbObj) {
for(int i = 0; i < nbObj-1; i++) {
int indMin = i;
for (int j = i+1; j < nbObj; j++)
if (code[j].compareTo(code[indMin]) < 0)
indMin = j;
if (indMin != i) {
// permutation :
String tempo = code[i];
code[i] = code[indMin];
code[indMin] = tempo;
// permutation :
String temp = nom[i];
nom[i] = nom[indMin];
nom[indMin] = temp;
}
}
}
电话:
Classe.trier(tableau, tableau, nbObj);
我也试过了 Class.sort(array.getCode(), array.getName(), nbStudent);
但我仍然有编译错误
事先谢谢你的帮助
1条答案
按热度按时间zf2sa74q1#
首先,您不必使用两个单独的数组来包含数据。您可以将所有内容放在单个数组中,但更好的方法是使用java集合。最佳选择是arraylist。但是,最好将两个字段合并为一个对象。你可以这样做:
现在有了一个包含2个字段的类。您的目标是按第二个字段(nom)对这些对象的集合进行排序。由于java 8:
或
记住要把你的物品正确地放在收藏中。例如: