我有这种方法用变量id对对象数组进行排序,有名称& GPA也是。您将如何排序整个对象数组?我只得到id的排序,但输出时的名称是混合的。这就是我到目前为止所做的。
private Student[] st;
private int count;
public ProcessStudents() {
st = new Student[5];
count = 0;
public void sortAscendingID() {
for (int n = 0; n < count - 1; n++) {
int min = st[n].getId();
int index = n;
for (int o = n + 1; o < count; o++) {
if (st[o].getId() < min) {
min = st[o].getId();
index = o;
}
}
if (st[n].getId() > min) {
int p = st[n].getId();
st[n].setId(min);
st[index].setId(p);
}
}
}
}
答案 0 :(得分:0)
如果我是为生产系统编写代码而不是说家庭作业或我做的任何事情:
List<Student> list = new ArrayList<Student>(Arrays.asList(st));
Collections.sort(list);
答案 1 :(得分:0)
实现Comparable并覆盖其方法:
@Override
public int compareTo(Object arg0) {
// return -1, 0 or 1 depending on compared fields.
// if(this.GetId()>((Student)arg0).GetId())
// ...
return 0;
}
...
Collections.sort(collectionOfStudentObjects);