Задача 11
В классе Solution есть статическое поле students, которое заполняется студентами (объектами типа Student) в методе main().
У студента (класс Student) есть имя (поле name) и возраст (поле age). Нужно отсортировать в программе студентов по возрасту в убывающем порядке (от старшего к младшему).
Для этого используется метод Collections.sort(ArrayList<Student>, Comparator<Student>), в который передается список студентов students и компаратор сортировки по убыванию возраста.
Твоя задача — реализовать этот компаратор. Для этого в классе AgeComparator нужно имплементировать интерфейс Comparator<Student> и реализовать метод int compare(Student student1, Student student2), который возвращает числовое значение со следующими условиями:
• отрицательное число, если возраст студента student1 больше возраста студента student2;
• положительное число, если возраст
• студента student1 меньше возраста студента student2;
• 0, если возраст студентов student1 и student2 одинаковый.
Метод main() не принимает участие в тестировании.
Требования:
• •
В классе AgeComparator нужно реализовать интерфейс Comparator<Student>.
• •
В классе AgeComparator нужно создать публичный метод int compare(Student, Student).
• •
Метод compare(Student, Student) нужно реализовать согласно условию.
package com.javarush.task.pro.task18.task1802;
import java.util.Comparator;
/*
Сортировка по возрасту
*/
public class AgeComparator {
//напишите тут ваш код
}
package com.javarush.task.pro.task18.task1802;
public class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public int getAge() {
return age;
}
@Override
public String toString() {
return "Студент - " + name +
", возраст - " + age +
'.';
}
}
Dmitry Dmitriev
2 уровень
Помогите
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Сергей
24 сентября 2022, 11:14
В классе создай метод public int compare(Student student1, Student student2) {
В нем условие если student1.getAge() > student2.getAge() , то return -1; и тд
0