Java的stream流妙用之排序

时间:2025-04-02 20:31:01

        当我们在查询出来的数据,想要按照一定顺序排序,而SQL没办法解决的时候,恰巧排序的顺序的定好的,不会变,那么就可以使用下面的这个方法

先定义一个静态的字典

    public static Map<String, Integer> nameMap;
    static {
        nameMap = new HashMap<>();
        ("北京市", 1);
        ("上海市", 2);
        ("广州市", 3);
        ("深圳市", 4);
        ("苏州市", 5);
        ("杭州市", 6);
        ("长沙市", 7);
        ("厦门市", 8);
        ("泉州市", 9);
        ("重庆市", 10);
        ("武汉市", 11);
        ("乌鲁木齐市", 12);
        ("海口市", 13);
    }

比如这样随机写的这个排序,固定要这样去排

而你的SQL查出来其中一个字段有这个城市名

即   

List<CityPolicyStatistics> voList = ();



(0).getCity()----->"北京市"

那么就可以用stream流来排序了

return ().filter(x -> (()) != null).sorted((o -> (()))).collect(());

这样查出来的数据就能按照你规定的那个字典去排序了