Map<XMLGregorianCalendar, String> SortedByTimeForJourney = new HashMap<XMLGregorianCalendar, String>();
我必须按键(XMLGregorianCalendar)对其进行排序。 我尝试了这个
SortedByTimeForJourney.entrySet().stream().sorted(Map.Entry.<XMLGregorianCalendar, String>comparingByKey()).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (e1, e2) -> e2, LinkedHashMap::new));
但是它显示
类型参数 'javax.xml.datatype.XMLGregorianCalendar' 不在其范围内;应该实现 'java.lang.Comparable<?super java.xml.datatype.XMLGregoringCalendar>'。
我还尝试过将其保存在LinkedHashMap中,也使用了Collections.util方法,但无法实现。
TreeMap<XMLGregorianCalendar, String> SortedBy = new TreeMap<XMLGregorianCalendar, String>(new MyComp());
和MyComp
如下所示。class MyComp implements Comparator{
public int compare(XMLGregorianCalendar d1,XMLGregorianCalendar d2){
return d1.compare(d2);
}
}
- sandeep gaur