У меня есть коллекция Java:
Collection<CustomObject> list = new ArrayList<CustomObject>();
CustomObject имеет поле id теперь перед списком отображения. Я хочу отсортировать эту коллекцию по этому id.
CustomObject
id
Есть ли способ, которым я мог бы это сделать?
Вы также можете использовать:
Collections.sort(list, new Comparator<CustomObject>() { public int compare(CustomObject obj1, CustomObject obj2) { return obj1.id - obj2.id; } }); System.out.println(list);
В Java 8 у вас есть несколько опций, объединяющих ссылки на методы и встроенный компаратор comparing:
comparing
import static java.util.Comparator.comparing; Collection<CustomObject> list = new ArrayList<CustomObject>(); Collections.sort(list, comparing(CustomObject::getId)); //or list.sort(comparing(CustomObject::getId));
SortedSet и компаратор. Компаратор должен соблюдать поле id .