主题
List数据筛选工具
一个list通用数据筛选工具。简化代码编写,统一处理筛选逻辑,提升开发效率。
方法说明
eq
:相等ne
:不相等like
:模糊匹配gt
:大于gte
:大于等于lt
:小于lte
:小于等于range
:区间匹配inRange
:多个区间匹配in
:包含结果集中的值notIn
:不包含结果集中的值and
:子查询操作andPredicate
:自定义子查询条件or
:或者,只有and子查询中才可以使用,or作为分隔条件符limit
:设置结果集大小sortDesc
:降序排序sortAsc
:升序排序sort
:自定义排序size
:返回数据大小toList
:转成list结果集toPage
:转成分页结果集
使用示例
参数值和类型必须一致
java
List<SessionVo> list = new ArrayList<>(100000);
for (int i = 0; i < 20000; i++) {
SessionVo sessionVo = new SessionVo();
sessionVo.setUserId(""+(i+10000));
sessionVo.setNickname(""+(i+10000));
list.add(sessionVo);
}
CollectionFilter<SessionVo> filter = new CollectionFilter<>(list);
//模糊匹配用户id包含1010
filter.like(SessionVo::getUserId, "1010");
//并且 (用户id是12或者用户id是13)
filter.and(a->a.eq(SessionVo::getUserId, "12").or().eq(SessionVo::getUserId, "13"));
//取10条数据
//filter.limit(10);
//查询大小
//filter.size();
//转成分页数据
//filter.toPage(2, 20);
//按用户id倒序
filter.sortDesc(SessionVo::getUserId);
//转成list数据
filter.toList();