JAVA Stream流怎么取list<Map>集合的某个属性值的最小数据

JAVA Stream流怎么取list集合的某个属性值的最小数据,我想取出价格最低的数据,就是价格为3999的List

img

List<Map<String, String>> list = new ArrayList<>();
Map<String, String> m1 = new HashMap<>();
m1.put("价格", "7999");
m1.put("手机", "苹果");
Map<String, String> m2 = new HashMap<>();
m2.put("价格", "3999");
m2.put("手机", "苹果");
list.add(m1);
list.add(m2);

Map<String, String> first = list.stream().min(Comparator.comparingInt(m -> Integer.parseInt(m.get("价格")))).orElse(new HashMap<>());
System.out.println(first);

可以先对list进行排序,然后取出top1是不是可以?参考代码:

List<Users> list = produceUser();
//单字段排序,根据名字排序
System.out.println("============单字段排序,根据名字排序=============");
list.sort(Comparator.comparing(Users::getName));
 System.out.println(list.toString());
 //多字段排序,根据年龄再根据-->名字排序