按List中的Map对象的某一个属性值对整个List进行排序:(自己写的找不着了,这是别人的代码)
//在进行排序之前可以加入此条件,list集合不能为空且数量要大于1个
if(list!= null && list.size() > 1)
Collections.sort(list, new Comparator<Map<String, Object>>(){
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
String name1 =(String)o1.get("id");//name1是从你list里面拿出来的一个
String name2= (String)o2.get("id"); //name1是从你list里面拿出来的第二name
//double的比较形式如下
//Double d1 = Double.parseDouble((String) o1.get("yestdayprofit"));
//Double d2 = Double.parseDouble((String) o2.get("yestdayprofit"));
//int的比较形式如下
//Integer o1Value = Integer.valueOf(o1.get("count").toString());
//Integer o2Value = Integer.valueOf(o2.get("count").toString());
return name1.compareTo(name2);
}
});
按List中的Bean对象的某一个属性值对整个List进行排序:(java 8 新特性 ,兼容排序属性值为null的情况)
BeanxxxList.sort(Comparator.comparing(Beanxxx::getChroma,Comparator.nullsLast(Double::compareTo)));
// 例如:
tySiteChromaRankHourList.sort(Comparator.comparing(TYSiteChromaRankHour::getChroma,Comparator.nullsLast(Double::compareTo)));
本文介绍了如何根据Map对象和Bean对象的特定属性值对Java中的List进行排序。首先,对于List<Map<String, Object>>,在确保列表不为空且元素大于1个的情况下,使用Collections.sort()结合自定义比较器进行排序,通过Map的get()方法获取属性值进行比较。其次,展示了Java 8的新特性,使用Comparator.comparing()方法对Bean对象进行排序,同时处理属性值可能为null的情况。示例中以属性'chroma'为例进行了排序操作。
1789

被折叠的 条评论
为什么被折叠?



