Начиная с Java 8, в List есть метод sort , унаследованный Collection.Кроме того, вы можете использовать класс Comparator для создания компаратора очень просто:
arraylist2.sort(Comparator.comparing(Car::getMake));
Если вы хотите использовать несколько параметров для сортировки, вы можете легко добавить их:
arraylist2.sort(Comparator.comparing(Car::getMake)
.thenComparing(Car::getYear)
// ...
);
Если вы используете версию Java ниже Java 8, вы должны самостоятельно реализовать логику сортировки в Comparator или использовать внешнюю библиотеку:
Collections.sort(arraylist2, new Comparator<Car>() {
@Override
public int compare(Car a, Car b) {
return a.getMake().compareTo(b.getMake());
}
});
Для нескольких параметров это будет выглядеть следующим образом:
Collections.sort(arraylist2, new Comparator<Car>() {
@Override
public int compare(Car a, Car b) {
int compareMake = a.getMake().compareTo(b.getMake());
if (compareMake != 0) {
return compareMake;
}
return a.getYear() - b.getYear();
}
});