stream().filter()过滤List对象 分割list
stream().filter()过滤List对象
//在list中对比字段过滤,实现一次查询多次查找减轻数据库压力。
List<DictData> list2= getDictList();
List<DictData> list3=list2.stream().filter(s->s.getDictLabelOrig().equals("001")&&s.getDictValue().equals("100101")).collect(Collectors.toList());
分割list
// 使用并行流处理
private static <T> List<List<T>> partition(final List<T> list, final int size) {
Integer limit = (list.size() + size - 1) / size;
List<List<T>> splitList = Stream.iterate(0, n -> n + 1).limit(limit).parallel()
.map(a -> list.stream().skip(a * size).limit(size).parallel().collect(Collectors.toList()))
.collect(Collectors.toList());
return splitList;
}