Я вычисляю общий знак каждого ученика. Затем я добавляю этот объект в массив-список. То, что я хочу сделать, основано на этой общей метке (а не на объекте объекта Student), сортирует список массивов и отображает детали учащихся с общей меткой. Я не знаю, как это сделать. Может ли кто-нибудь предложить мне хорошую оптимизацию для моей работы?Сортировка списка массивов объектов по общему значению
public static void TotalModuleMarkAboveAvg(){
double totalModuleMarkAvg = OverallClassAverage(false); //getting the avg of the total marks
ArrayList<Student> students = new ArrayList<Student>();
double studentTotalModuleMark = 0.0;
student = new Student();
System.out.println("List of students whose total module marks fall below the class average ");
for(int i=0; i<MAX_STUDENT; i++){
Student student = vector.get(i);
studentTotalModuleMark = student.getCoursework1()*20/100;
studentTotalModuleMark += student.getCoursework2()*20/100;
studentTotalModuleMark += student.getFinalExam()*60/100;
if(studentTotalModuleMark > totalModuleMarkAvg){
students.add(student);
}
// here I want to sort my array list based on the studentTotalModuleMark and display student registration number and total module mark
}
}
класс студент
public class Student implements java.io.Serializable{
private int registrationNumber;
private int coursework1;
private int coursework2;
private int finalExam;
public int getRegistrationNumber() {
return registrationNumber;
}
public void setRegistrationNumber(int registrationNumber) {
this.registrationNumber = registrationNumber;
}
public int getCoursework1() {
return coursework1;
}
public void setCoursework1(int coursework1) {
this.coursework1 = coursework1;
}
public int getCoursework2() {
return coursework2;
}
public void setCoursework2(int coursework2) {
this.coursework2 = coursework2;
}
public int getFinalExam() {
return finalExam;
}
public void setFinalExam(int finalExam) {
this.finalExam = finalExam;
}
}
Сортировка будет настоящей головной болью, не имея итоговой величины как поля. Вам понадобится соответствующий массив для хранения всего. И, сортируя Arraylist MANUALLY, сортируйте соответствующие массивы. Почему бы не иметь общее поле? –
Кроме того, у меня есть ощущение, что вы хотите, чтобы ваш ArrayList размещался вне метода. Делает гораздо больше смысла. –
И почему у вас в вашем методе есть две переменные студента. Не хорошая практика. –