java循环直到对象列表为空

时间:2018-06-02 03:37:17

标签: java jquery sorting

此代码尝试将成绩从最高到最低排序。

我的代码:

public static Grades sort(Grades mergedGrades, Grades repeat) {
Grades sortedGrades = new Grades();
Grade highComp = null;
Grade highest = mergedGrades.get(0);
int index = 0;
for (int j = 0; j < mergedGrades.size(); j++) {
     highComp = mergedGrades.get(j);
     if (highComp.getGpa() > highest.getGpa()) {
         highest = highComp;
         //debug: System.out.println("getGpa: "+highest.getGpa());
         index = j;
     }
}
sortedGrades.add(highest);
mergedGrades.remove(index);

每次发现最高时它会添加到sortedGrades对象,并删除 有指数的成绩。但是,我不知道如何让它循环直到它为空。请教我。感谢。

教授的课程:

public int size() {
    return this.size;
}

public boolean contains(Grade grade) {

    for(int i = 0; i < this.size; i++) {
        if(this.gradeArray[i].equals(grade)) {
            return true ;
        }
    }
    return false;
}

1 个答案:

答案 0 :(得分:0)

如果你想使用while循环,你可以使用:

while(mergedGrades.size() > 0)

或者您可以使用嵌套for循环:

int initialMergedGradesLength = mergedGrades.size()
for(int i = 0; i < initialMergedGradesLength; i++)

或者这改进了循环:

for(Grade mergedGrade : mergedGrades)

虽然我不确定最后一个是否会编译。