Hej
Jeg har et lille program i Java, og jeg har to klasser, en klasse der hedder Student og en der hedder School. Klassen School skal holde en liste af students (ArrayList), men jeg vil gerne have at denne ArrayList bliver sorteret ud fra den studerendes årgang, sådan så dem der er første års studerende vises først og dem der er tredje års studerende sidst, når jeg går igennem listen. Jeg har fået af vide at jeg kan bruge metoden sort(liste) fra Collections klassen, men den sorterer den ikke efter årgang, hvordan kan jeg løse dette?
Mine klasser ser sådan her ud
- public class Student {
- private int id;
- private String name;
- private int age;
- private int educationYear;
-
- public Student(int id, String name, int age, int educationYear)
- {
- this.id = id;
- this.name = name;
- this.age = age;
- this.educationYear = educationYear;
- }
-
- public int getID()
- {
- return id;
- }
-
- public String getName()
- {
- return name;
- }
-
- public int getAge()
- {
- return age;
- }
-
- public int getEducationYear()
- {
- return educationYear;
- }
- }
- import java.util.ArrayList;
- import java.util.Collections
-
- public class School {
- private ArrayList<Student> studentList = new ArrayList<Student>();
-
- public void addStudent(Student student)
- {
- studentList.add(student);
- }
-
- public void printStudentList()
- {
- Collections.sort(studentList);
- for (Student s : studentList) {
- System.out.println(s.getName() + " - " + s.getEducationYear());
- }
- }
- }