关于List排序以及获取下标的方法 这边记录一下使用方法:
......{
List<Map<String, Object>> mapList = new ArrayList<>();
Map<String, Object> map = new HashMap<>();
map.put("123", 2);
Map<String, Object> map2 = new HashMap<>();
map2.put("123", 4);
Map<String, Object> map3 = new HashMap<>();
map3.put("123", 6);
mapList.add(map);
mapList.add(map3);
mapList.add(map2);
List<Map<String, Object>> collect = mapList.stream() //进行字段排序
.sorted(Comparator.comparing(Test::getTest)).collect(Collectors.toList());
int i = mapList.indexOf(map3); //获取下标
System.out.println(i);
System.out.println();
}
private Double getTest(Map<String,Object> map){
return (Double)map.get("123");
}
倒序使用:
......{
List<Map<String, Object>> mapList = new ArrayList<>();
Map<String, Object> map = new HashMap<>();
map.put("123", 2);
Map<String, Object> map2 = new HashMap<>();
map2.put("123", 4);
Map<String, Object> map3 = new HashMap<>();
map3.put("123", 6);
mapList.add(map);
mapList.add(map3);
mapList.add(map2);
List<Map<String, Object>> collect = mapList.stream() //进行字段排序
.sorted(Comparator.comparing(Test::getTest).reversed()).collect(Collectors.toList());
int i = mapList.indexOf(map3); //获取下标
System.out.println(i);
System.out.println();
}
private Double getTest(Map<String,Object> map){
return (Double)map.get("123");
}