Java8Stream截取List
⼀、需求说明
现有接⼝需对已注册⽤户批量注册⾄极光,极光提供接⼝仅⽀持单词500,故使⽤Stream截取数据库查询结果。⼆、代码实现
1 // 查询所有需注册⾄极光的⽤户基础信息
2 List<JiGuangInfo> jiGuangInfos = getJiGuangInfoList();
3 // 总注册数
4 int countAll = jiGuangInfos.size();
5 // 批次注册数
6 int batchNum = 500;
7 // 供需多少批java stream
8 int frequency = (countAll + batchNum -1) / batchNum;
9 List<List<JiGuangInfo>> splitList = Stream.iterate(0, n -> n + 1) // 创建流
10 .limit(frequency) // 取 frequency 个
11 .parallel() // 开启并⾏处理
12 .map( // 处理单项
13 a -> jiGuangInfos.stream()
14 .skip(a * batchNum) // 跳过元素
15 .limit(batchNum) // 取 batchNum 个
16 .parallel() // 开启并⾏处理
17 .List())
18 )
19 .List());
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论