Как только один архитектор в моем офисе сказал мне, что разница между компаратором и сопоставимым; Компаратор сравнивает между двумя разными объектами класса, где сопоставимые сравнения в одном классе. У меня есть один классный стажер и еще один студент. Я хочу сортировать имена внутри класса Student и Trainee одновременно. У ученика мало имен, а у Старины - несколько имен. Хотите отсортировать все эти имена в натуральном порядке. Можно ли это достичь? Ниже мой код с ошибкой.Пользовательский сортировка с использованием компаратора в java
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
class Student {
String empName;
Student(String empName) {
this.empName = empName;
}
}
class Trainee {
String studName;
Trainee(String studName) {
this.studName = studName;
}
}
public class Sort implements Comparator {
public static void main(String[] args) {
// TODO Auto-generated method stub
Student st = new Student("caroline");
Student st1 = new Student("elley");
Student st2 = new Student("fannah");
Trainee tr = new Trainee("aundh");
Trainee tr1 = new Trainee("Rohit");
Trainee tr2 = new Trainee("Shammi");
List list = new ArrayList<>();
list.add(st);
list.add(st1);
list.add(st2);
ArrayList list2 = new ArrayList<>();
list2.add(tr);
list2.add(tr1);
list2.add(tr2);
Collections.sort(Student, new Comparator<Trainee>() {
@Override
public int compare(Student s, Trainee t) {
// TODO return 1 if rhs should be before lhs
return s.empName.compareToIgnoreCase(t.studName);
}
});
}
}