Сортировка списка сотрудников по возрастанию зарплаты и вывод в удобочитаемом виде

Сортировка в примере уже правильная. Нужно определить Employee с getSalary и читаемым toString; порядок будет Maxim, Ivan, Kirill, Stepan, Leonid.

Короткий ответ

Что ответить на собеседовании

Сортировка в примере уже правильная. Нужно определить Employee с getSalary и читаемым toString; порядок будет Maxim, Ivan, Kirill, Stepan, Leonid.

Подробный разбор

Ответ с пояснениями

Условие

В проекте определён класс Employee, представляющий данные о работнике. В методе main формируется коллекция объектов этого класса, заполняется несколькими записями и выводится в консоль. Необходимо поправить вывод, а также отсортировать всех сотрудников по возрастанию их заработной платы. Как реализовать требуемое?

class MyCode {
    public static void main(String[] args) {
        System.out.println("Hello Java");
        
        List<Employee> staff = new ArrayList<>();
        staff.add(new Employee("Ivan", 25, 500000));
        staff.add(new Employee("Kirill", 30, 600000));
        staff.add(new Employee("Stepan", 20, 750000));
        staff.add(new Employee("Maxim", 21, 250000));
        staff.add(new Employee("Leonid", 35, 1500000)); // исправлен неверный символ
        
        // сортировка по зарплате по возрастанию
        staff.sort(Comparator.comparingInt(Employee::getSalary));
        
        for (Employee emp : staff) {
            System.out.println(emp.toString());
        }
    }
}

Ответ

Сортировка в примере уже правильная. Нужно определить Employee с getSalary и читаемым toString; порядок будет Maxim, Ivan, Kirill, Stepan, Leonid.

Минимальное дополнение к указанному main:

class Employee {
    private final String name;
    private final int age;
    private final int salary;
    Employee(String name, int age, int salary) {
        this.name = name; this.age = age; this.salary = salary;
    }
    int getSalary() { return salary; }
    @Override public String toString() {
        return name + ", age=" + age + ", salary=" + salary;
    }
}

Добавьте imports List, ArrayList и Comparator из java.util. Суммы по порядку: 250000, 500000, 600000, 750000, 1500000. Comparator.comparingInt безопаснее сравнения через вычитание, способного переполниться.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее