高手你好,我想请教一个关于ArrayList<Map<String, Object>>() 排序的问题,有两个条件。
发布网友
发布时间:2022-05-11 16:24
我来回答
共1个回答
热心网友
时间:2023-10-15 06:23
Collections.sort(maps, new Comparator<Map<String, Object>>() {
@Override
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
int map1value = (Integer) o1.get("type");
int map2value = (Integer) o2.get("type");
int j = map1value - map2value;
if(0 == j) {
int len1 = o1.get("title").toString().length();
int len2 = o2.get("title").toString().length();
for (int i = 0; i < (len1 < len2 ? len1 : len2); i++) {
if (o1.get("title").toString().charAt(i) == o2.get("title")
.toString().charAt(i)) {
continue;
}
return o1.get("title").toString().charAt(i)
- o2.get("title").toString().charAt(i);
}
return len1 == len2 ? 0 : (len1 < len2 ? -1 : 1);
}
return j;
}
});