Я использую Java для создания интерактивного приложения, чтобы узнать у пользователей дату их рождения. В ту минуту, когда у меня есть дата, которая читается и сохраняется в виде строки в форме (дд-мм-гггг). Теперь в массиве хранятся несколько людей, все с разными датами рождения. Как лучше сортировать arraylist в зависимости от даты их рождения?
С уважением
Вы храните Person объекты в списке или датах?Если вы сохраняете даты (java.util.Date), вы можете просто отсортировать список, и он будет работать нормально для вас.Если вы храните Person объекты, вы можете передать пользовательский Comparator, который будет использоваться утилитой сортировки.
Person
java.util.Date
Comparator
Ссылки:
Начните с преобразования строки в java.util.Date. Даты имеют другую семантику для сортировки, чем строки.
Как только вы это сделаете, напишите Comparator, чтобы сделать эту работу за вас. Передайте его вместе со своим списком в Collections.sort ().
Храните даты в Date объектах.Они сортируются из коробки.Или, если достаточно сохранить строки, измените формат даты с
Date
dd-mm-yyyy
на
yyyy-mm-dd
для сортировки.
В стеке через поток уже есть ссылка: /995991/sortirovka-po-familii
Collections.sort (коллекция, компаратор);
реализует пользовательский компаратор (интерфейс java.util.Comparator), который сравнивает ваш объект по дате рождения.
java.util.Comparator