java8 stream流特性,动态排序sorted

首页展示的数据不需要分页,但又有点击排序的功能。所以在代码中实现而不是在数据库sql语句。

 思路:

1、java8 stream() 流特性。

list.stream().sorted(Comparator.comparing(类::属性一));

 2、map存储排序字段

            // 组装排序字段
            if (StrUtil.isAllNotBlank(orderByColumn, isAsc)) {
                Comparator qcCheckStatVOComparator = Comparator.comparing(QcCheckStatVO::getCreateTime).reversed().thenComparing(QcCheckStatVO::getReqFieldErrorCount);
                Map> map = new HashMap<>(16);
                map.put(new Key("expectCount", SqlKeyword.ASC.getSqlSegment()), Comparator.comparing(QcCheckStatVO::getErrorCount));
                map.put(new Key("expectCount", SqlKeyword.DESC.getSqlSegment()), Comparator.comparing(QcCheckStatVO::getErrorCount).reversed());

                map.put(new Key(

你可能感兴趣的:(java,java,排序算法)