Реализации списка, определенные в рамках коллекции Java, включают Vector, ArrayList и LinkedList. Эти коллекции обеспечивают индексный доступ к группам объектов. Они обеспечивают поддержку для добавления и удаления элементов. Тем не менее, они не имеют встроенной поддержки сортировки элементов.
Вы можете сортировать элементы списка, используя метод sort () в классе java.util.collections. Вы можете либо передать объект списка методу, либо передать список и компаратор. Если все элементы в списке являются классами одного типа, и этот класс реализует сопоставимый интерфейс, вы можете просто вызовать collections.sort (). Если этот класс не реализует компаратор, вы также можете передать компаратор в метод Sort () для сортировки. Если вы не хотите сортировать, используя порядок классификации по умолчанию, вы также можете передать компаратор в метод sort () для сортировки.
1. Сопоставимые объекты реализуют сопоставимый интерфейс
Общедоступный ученик сопоставимо {Private Int ID; {this.id = id; {this.name = name; . Add (New Student (I)); (o Instactor) {Студент S = (Студент) O;
2. Использование коллекций. Спорт (объект O, компаратор C)
Общественный класс Jiamenucomparator реализует компаратор {public int compare (Object O1, Object O2) {if (null! = O1 && null! ) <menu2.getId ()) {return 1;
3. Сортировать несколько атрибутов в элементе списка (с помощью Commons-Beanatils)
Библиотека классов Commons-Beanutils имеет класс BeanComparator, который можно использовать для сортировки Javabeans. Но этот класс может сортировать только один атрибут за раз. Вот пример использования Beancomparator для сортировки нескольких свойств Javabeans, что очень просто:
Import org.apache.commons.beanutils.beancomparator; import java.util.collections; импорт java.util.comparator; импортировать java.util.list; «Не контролировано»}) Общедоступный класс Listsorter { /*** Несколько атрибутов элемента списка отсортированы. Например, listsorter.sort (list, «имя», «возраст»), первая сортировка по * атрибуту имени и элементы с тем же именем сортируются по атрибуту возраста. * * Список @param содержит список элементов, которые будут отсортированы * @param Properties Свойства для сортировки. Предыдущие значения имеют высокий приоритет. */ public static <v> void sort (list <v> list, final String ... Properties) {collections.sort (list, новый компаратор <v> () {public int compare (v O1, v O2) {Если (o1 == null && o2 == null) return 0; свойство);