这里是所有数组成员
String [] subset = new String [] {“AA”,“BA”,“BB”,“CB”,“CC”,“DC”,“DD”,“FD”,“FF”};
如果学生在课程数组中具有BB等级,则应该按照BB AA BA BB CB CC DC DD FD FF进行分类。这些均值数组应该按照数组的第一个元素中的学生成绩进行排序。那么它应该按降序排序。
我问排序arrray,因为jcombobox正在努力。 是否有这样做的功能或方法?
感谢。
答案 0 :(得分:1)
这个怎么样:
public static String[] getCustomSortArray(String grade, String[] grades)
{
int index = -1;
for(int i = 0; i < grades.length; i++)
{
if(grades[i].equals(grade))
{
index = i;
break;
}
}
if(index == -1) return grades;
String temp = new String[grades.length];
temp[0] = grades[index];
int counter = 1;
for(int i = 0; i < grades.length; i++)
{
if(i != index) temp[counter++] = grades[i];
}
return temp;
}
我没有测试它,但我认为它有用。
答案 1 :(得分:0)
您始终可以使用Arrays.sort()根据给定的Comparator对数组中的元素进行排序,在这种情况下,您需要制作比较器以满足您的需求。
答案 2 :(得分:0)
对于可以使用的排序数组,它使用Comparable接口的compareTo()方法进行排序。
Arrays.sort(array);
对于降序排序,您可以使用Collections.reverseOrder()
比较器。
如果我理解你,这个比较器可以为你工作。
Object yourComparator = new Comparator<Comparable<Object>>() {
@Override
public int compare(Comparable<Object> c1, Comparable<Object> c2) {
if(c1.equals(variable)){
return 1;
}
else if(c2.equals(variable)){
return -1;
}
else {
return c2.compareTo(c1);
}
}
};