List 切割成小 list 分批处理数据
使用 Google Guava 库中的方法对 bmList 进行分割。
Lists.partition() 方法用于将一个列表按指定大小进行分割,返回一个包含分割后子列表的新列表。
在这个例子中,bmList 是一个 List<AccountRelationDO> 类型的列表,50 是指定的分割大小。
这行代码的作用是将 bmList 列表按照每个子列表包含最多 50 个元素进行分割,然后将分割后的子列表存储在 partition 变量中,即 List<List<AccountRelationDO>> 类型的列表。
通过这个操作,可以将一个较大的列表分割成多个更小的子列表,以便后续对每个子列表进行处理或批量操作。
List<AccountRelationDO> bmList;
List<List<AccountRelationDO>> partition = Lists.partition(bmList, 50);
for (List<AccountRelationDO> bms : partition) {
// 业务处理
}
使用 Java 8 的 Stream API 也可以对列表进行切割
通过使用Stream.limit()和Stream.skip()方法来实现。
IntStream.range()方法生成了一个从 0 到 (bmList.size() + batchSize - 1) / batchSize 的整数范围。然后,通过调用mapToObj()方法将每个整数映射为一个子列表,使用subList()方法对原始列表进行分割,从而得到每个子列表。
最后,使用collect()方法将所有子列表收集到一个新的列表中,存储在 partition 变量中。
这样,就可以使用 Java 8 的 Stream API 在代码中实现对列表的切割操作,并得到包含分割后子列表的列表。
List<AccountRelationDO> bmList;
int batchSize = 50;
List<List<AccountRelationDO>> partition = IntStream.range(0, (bmList.size() + batchSize - 1) / batchSize)
.mapToObj(i -> bmList.subList(i * batchSize, Math.min((i + 1) * batchSize, bmList.size())))
.collect(Collectors.toList());
List 切割成小 list 分批处理数据的更多相关文章
- linux上大文件切割成小文件传输
使用tar命令进行压缩,使用split进行切割 压缩并分割: tar -zcvf - admin- |split -b 100m -d admin-.tar.gz 解压: 先合并成tar包在解压 ca ...
- linux下如何按行将文件切割成多个小文件
答: split -l <行数> <目标文件> <切割后的文件前缀> 举例如下: split -l 1000 jello.txt jello 将jello.txt文 ...
- oracle 字符串切割成结果集方法
oracle字符串切割几种方式 方法一: SELECT COLUMN_VALUE FROM TABLE(SYS.ODCIVARCHAR2LIST('1','2','3','4','5')); 方法二: ...
- 用Python将一个列表分割成小列表
用Python将一个列表分割成小列表 2018年01月15日 11:09:25 幸福丶如此 阅读数:16842 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...
- 洛谷 P1120 小木棍 [数据加强版]解题报告
P1120 小木棍 [数据加强版] 题目描述 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过50. 现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它 ...
- 微信小程序请求数据
微信小程序请求数据,在页面展示,可以在onLoad生命周期中进行请求. 1.新建目录http,新建文件http.js 2.在js文件中暴露需要使用的变量 var baseUrl = 'http://1 ...
- [洛谷P1120]小木棍 [数据加强版]
题目大意:有一些同样长的木棍,被切割成几段(长$\leqslant$50).给出每段小木棍的长度,找出原始木棍的最小可能长度. 题解:dfs C++ Code: #include<cstdio& ...
- 洛谷——P1120 小木棍 [数据加强版]
P1120 小木棍 [数据加强版] 题目描述 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过5050. 现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍 ...
- 洛谷 P1120 小木棍 [数据加强版]
P1120 小木棍 [数据加强版] 题目描述 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过50. 现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它 ...
- 在SqlServer2008R2中,根据分隔符把一列的值切割成多列
近期工作中,有个如上图效果的需求:将一个字段里面的值,以“,"切割成多列 通过思考.搜索,在网上找到了博主Microshaoft的文章: 妙用 T-SQL: PARSENAME 函数 (也可 ...
随机推荐
- 数据库连接池之c3p0-0.9.1.2,线上偶发APPARENT DEADLOCK,如何解?
前言 本篇其实是承接前面两篇的,都是讲定位线上的c3p0数据库连接池,发生连接泄露的问题. 第二篇讲到,可以配置两个参数,来找出是哪里的代码借了连接后没有归还.但是,在我这边的情况是,对于没有归还的连 ...
- Variable 'xxxx' is accessed from within inner class, needs to be final or effectively final-Lambda 表达式的变量与作用域
问题的原因 问题代码: public static void main(String[] args) { Integer sum = 0; Integer count = 0; List<Int ...
- 关于 ModelScope 的视频 “AI 换脸” 优化方案
前言 前面一文,初步完成了一下 "AI 换脸" 视频处理程序.完成了视频拆帧,拆帧图片人脸融合,已经音频提取和最后的人脸融合图片的整合(也就是将图片和音频组成视频).但是在人脸融合 ...
- 静态vlan的划分
静态vlan的划分 1,toupu图 2,配置id与子网掩码 2.1,pc,server的ip与子网配置 pc5 pc6 pc7 pc8 server1 server2 3,vlan的静态划分 1,v ...
- centos7安装influxdb2
前言 InfluxDB是一个由InfluxData开发的开源时序型数据库,专注于海量时序数据的高性能读.高性能写.高效存储与实时分析等,广泛应用于DevOps监控.IoT监控.实时分析等场景. 服务器 ...
- Android 项目移植后运行黑屏
在做Android项目的移植过程中,即把名为a的代码和样式全部复制到b项目后,只是对a项目内多余代码删除和修改包名,最后替换完后,点击=>运行,运行成功,但是演示机显示黑屏,看log也没有报错. ...
- 【pandas小技巧】--DataFrame的显示样式
上一篇介绍了DataFrame的显示参数,主要是对DataFrame中值进行调整. 本篇介绍DataFrame的显示样式的调整,显示样式主要是对表格本身的调整,比如颜色,通过颜色可以突出显示重要的值, ...
- Content Security Policy(CSP)应用及说明
什么是CSP CSP全称Content Security Policy ,可以直接翻译为内容安全策略,说白了,就是为了页面内容安全而制定的一系列防护策略. 通过CSP所约束的的规责指定可信的内容来源( ...
- Fetch设置超时请求
promise + fetch + AbortController + setTimeOut 这是一段正常的fetch请求 fetch('www.baidu.com',{}) .then(res=&g ...
- Solution -「CF 1096E」The Top Scorer
Description Link. 小明在打比赛,包括小明自己一共有 \(p\) 名选手参赛,每个人的得分是一个非负整数.最后的冠军是得分最高的人,如果得分最高的人有多个,就等概率从这些人中选一个当冠 ...