Коллекции Treemap и TreeSet Не могу дописать компаратор
Задача реализовать компаратор, сортировка которым расставит кандидатов по убыванию их приоритета найма в астронавты. Ничего кроме класса компаратора менять нельзя.
Программа в main в итоге должна выводить имена двух самых лучших кандидатов
- тот у кого больше опыта;
- если опыт одинаковый то тот, у кого в имени с фамилией (т.е. name) больше букв s или S (от слова space - космос; было решено, что медийность - важная часть космонавтики);
- если по этому критерию оказываются равны, то тот, у кого имя с фамилией (т.е. name) короче (так легче будет запоминать имена астронавтов по всему миру)
import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;
public class Main {
public static void main(String[] args) {
TreeSet<Person> candidates = new TreeSet<>(new SpacePersonComparator());
candidates.add(new Person("Sonya Popova", 35, 15));
candidates.add(new Person("Dazdraperma Sponzhova", 33, 15));
candidates.add(new Person("Salavat Netologshvili", 23, 13));
candidates.add(new Person("Sasha Sun", 31, 15));
candidates.add(new Person("Svetlana Morkov", 38, 15));
candidates.add(new Person("Sasha Sosnova", 38, 11));
Iterator<Person> it = candidates.iterator();
System.out.println(it.next());
System.out.println(it.next());
}
}
class Person {
private String name;
private int age;
private int experience;
public Person(String name, int age, int experience) {
this.name = name;
this.age = age;
this.experience = experience;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public int getExperience() {
return experience;
}
@Override
public String toString() {
return name;
}
}
class SpacePersonComparator implements ... { // укажите интерфейс
// имплементируйте его
}