クマのプーさん
Мудрец
(15499)
4 года назад
для начала унаследовать студентов-школьников от одного суперкласса, чтобы в его интерфейсе было то общее, по чему сортируется
потом нарисовтаь компаратор:
Collections.sort(list, (X x1, X x2) -> x1isId()? 0:1 - x2.isId()? 0:1);
где X этот самый суперкласс с метдом isId()
Pipl PepolovУченик (100)
4 года назад
смотри я сделал так но ошибка тут << x1.id()? 0:1 - x2.id()? 0:1 >>
Required boolean
Found int
import java.util.Collections;
public class Met {
public static void main(String[] args){
Object[] List = {
new Student(),
new Schoolboy()
};
Collections.sort(List, (People x1, People x2) -> x1.id()? 0:1 - x2.id()? 0:1);
}
public static class Student implements People{
private boolean id=false;
@Override
public boolean id() {
return id;
}
}
public static class Schoolboy implements People{
private boolean id=true;
@Override
public boolean id() {
return id;
}
}
public interface People {
boolean id();
}
public class Met {
public static void main(String[] args){
Object[] List = {
new Student(),
new Schoolboy()
};
}
public static class Student{
private boolean id=true; <---------
public boolean isId() {
return id;
}
}
public static class Schoolboy{
private boolean id=false; <------------
public boolean isId() {
return id;
}
}
}