Предположим, у меня есть класс Pet с атрибутами name (String) и age (int) в ArrayList, и я хочу отсортировать их без использования Collections Framework, поэтому я использую TreeSet для анализа ArrayList.Мой вопрос, есть ли способ инициализации нового компаратора внутри конструктора TreeSet (наряду с ArrayList) или мне нужно реализовать новый компаратор / Comparable в классе Pet?
Уже попробовал это, реализовав Comparable в классе Pet, и это сработало, но мне было интересно узнать, есть ли более короткий путь с использованием конструктора TreeSet.
ArrayList<Pet> myPets = new ArrayList<>();
// TreeSet to compare names
TreeSet<Pet> sortedPets = new TreeSet(myPets, new Comparator<Pet>() {
public int compare(Pet p1, Pet p2) {
return p1.getName().compareTo(p2.getName());
}
});