2014-09-01 62 views
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页面此地图,任何人都可以帮助我吗?

回答

1

使用TreeMap

红黑树基于NavigableMap实现。该地图根据其按键的自然顺序或在地图创建时提供的比较器进行排序,具体取决于使用哪个构造函数。

向构造函数提供一个Comparator,以便按日期列对键进行排序。

它可以看起来像:

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

能否请你解释一下吗? – 2014-09-01 18:03:10

+0

@ user3498071请参阅编辑 – Eran 2014-09-01 18:09:08

相关问题