如何对列表进行排序<;地图<;字符串,对象>&燃气轮机;在带有.stream()的java8中?

如何对列表进行排序<;地图<;字符串,对象>&燃气轮机;在带有.stream()的java8中?,java,Java,我有一张这样的清单 List<Map<String, Object>> list = new ArrayList<>(); for(int i = 0; i < 20; i++) { Map<String, Object> map = new HashMap<>(); map.put("quantity", Math.random()); map.put("price",

我有一张这样的清单

List<Map<String, Object>> list = new ArrayList<>();

    for(int i = 0; i < 20; i++) {
        Map<String, Object> map = new HashMap<>();
        map.put("quantity", Math.random());
        map.put("price", Math.random());
        list.add(map);
    }
List List=new ArrayList();
对于(int i=0;i<20;i++){
Map Map=newhashmap();
map.put(“数量”,Math.random());
map.put(“price”,Math.random());
列表。添加(地图);
}
我怎样才能按价格分类


我希望是使用java8流

您不需要流来排序:

list.sort(Comparator.comparing(m -> (Double)m.get("price")));

这个答案让我了解了如何使用keyname检索值并对列表进行排序。我的用例要求使用基于fromdate和todate的排序,我使用了比较器。但是这个答案给了我一个很好的突破。@shmosel这是一个非常有用的答案。但有一个问题是,我们如何按降序排列相同的列表order@user8765332您可以对金额求反或调用比较器上的
.reversed()