Хотите отсортировать карту по ключу объекта

1

У меня есть карта, и его ключ и ценность являются obejct, как

    List<AppointmentRequest> list=AppointmentRequest.findAllAppointmentRequests();
    for(AppointmentRequest a:list){
        Store store=Store.findStore(a.getStoreId());
        map.put(AppointmentRequest.findAppointmentRequest(a.getId()),store);

    }

AppointmentRequest содержит столбец даты Теперь я хочу отсортировать эту карту в соответствии с этим столбцом, чтобы показать ее на странице jsp, может ли кто-нибудь мне помочь?

Теги:
sorting
map

1 ответ

1
Лучший ответ

Используйте TreeMap:

Реализация NavigableMap на основе Red-Black. Карта сортируется в соответствии с естественным порядком ее ключей или Компаратором, предоставленным при создании карты, в зависимости от того, какой конструктор используется.

Поставьте Компаратор в конструктор, чтобы отсортировать ключи по столбцу даты.

Это может выглядеть так:

Map<AppointmentRequest,Store> map = 
    new TreeMap(new Comparator<? super AppointmentRequest> comparator {
        int compare(AppointmentRequest o1, AppointmentRequest o2) {
            // return -1,0 or 1 based on the relative order of o1 and o2
        }
    });
  • 0
    Не могли бы вы объяснить подробнее?
  • 0
    @ user3498071 см. редактировать

Ещё вопросы

Сообщество Overcoder
Наверх
Меню