最近在优化系统,其中常见性能瓶颈为group by和order by联合使用,下面使用java来实现order by,以提高SQL性能。
直接上代码:
import com.example.jdk8.java.common.ChineseComparator;
import java.util.*;
import java.util.stream.Collectors;
public class ListMapStreamSort {
public static void main(String[] args) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("name", "高一(1)班");
map.put("age", 13);
Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("name", "高一(11)班");
map2.put("age", 15);
Map<String, Object> map3 = new HashMap<String, Object>();
map3.put("name", "高一(1)班");
map3.put("age", 20);
Map<String, Object> map4 = new HashMap<String, Object>();
map4.put("name", "高一(2)班");
map4.put("age", 18);
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
list.add(map);
list.add(map2);
list.add(map3);
list.add(map4);
System.out.println("排序前:"+list);
List<Map> collect =
list.stream().sorted((o1, o2) -> ChineseComparator.compareString(o1.get("name")+"",o2.get("name")+""))
.collect(Collectors.toList());
System.out.println("排序后:"+collect);
}
}
执行结果为:
ChineseComparator类,请见Java8对中文汉字排序的Comparator实现类_一火的专栏-CSDN博客
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/jlq_diligence/article/details/121710805
内容来源于网络,如有侵权,请联系作者删除!