排序
List<Map<String, String>> query =new ArrayList<>();
for (int i = 0; i < 10; i++) {
Map<String, String> a=new HashMap<>();
a.put("add_date","2022-08-10 12:12:0"+i);
query.add(a);
}
query=query.stream().sorted(Comparator.comparing((Map<String, String> h) -> (h.get("add_date"))).reversed()).collect(Collectors.toList());
List<Map<String, String>> query1 =query.stream().sorted(Comparator.comparing((Map<String, String> h) -> (h.get("add_date")))).collect(Collectors.toList());
System.out.println(query.toString());//[{add_date=2022-08-10 12:12:09}, {add_date=2022-08-10 12:12:08}, {add_date=2022-08-10 12:12:07}, {add_date=2022-08-10 12:12:06}, {add_date=2022-08-10 12:12:05}, {add_date=2022-08-10 12:12:04}, {add_date=2022-08-10 12:12:03}, {add_date=2022-08-10 12:12:02}, {add_date=2022-08-10 12:12:01}, {add_date=2022-08-10 12:12:00}]
System.out.println(query1.toString());//[{add_date=2022-08-10 12:12:00}, {add_date=2022-08-10 12:12:01}, {add_date=2022-08-10 12:12:02}, {add_date=2022-08-10 12:12:03}, {add_date=2022-08-10 12:12:04}, {add_date=2022-08-10 12:12:05}, {add_date=2022-08-10 12:12:06}, {add_date=2022-08-10 12:12:07}, {add_date=2022-08-10 12:12:08}, {add_date=2022-08-10 12:12:09}]
求和
List<Map<String, String>> dd_list = new ArrayList<>();
for (int i = 0; i < 30; i++) {
Map<String, String> a=new HashMap<>();
a.put("delivery_num","2");
dd_list.add(a);
}
int delivery_num = dd_list.stream().mapToInt((Map<String, String> h) -> Integer.parseInt((h.get("delivery_num")))).sum();
double delivery_num1 = dd_list.stream().mapToDouble((Map<String, String> h) -> Double.parseDouble((h.get("delivery_num")))).sum();
System.out.println(delivery_num);//60
System.out.println(delivery_num1);//60.0
取某一字段
List<Map<String, String>> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
Map<String, String> a=new HashMap<>();
a.put("csocode","223"+i);
a.put("add_date","2022-08-10 12:12:0"+i);
list.add(a);
}
List<String> csocode_list = list.stream().collect(Collectors.groupingBy(e -> e.get("csocode"), Collectors.counting()))
.entrySet().stream().filter(e -> e.getValue() > 0)
.map((entry) -> entry.getKey()).collect(Collectors.toList());//取到所有销售订单
System.out.println(csocode_list.toString());//[2239, 2238, 2237, 2236, 2235, 2234, 2233, 2232, 2231, 2230]