记录一点关于list每次以指定的间距分割的代码,仅做一个记录
来源:互联网 发布:surge for mac 教程 编辑:程序博客网 时间:2024/05/17 18:47
这是个对list按指定的尺寸分割的代码,为何要记录这个问题,在我的mysql做批量插入时出现了
Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1875824 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.
这个错误,经我们分析,是批量插入一次传递的数据太多,一个方式是修改max_allowed_package 这个参数,那个异常已经说明了解决方式(You can change this value on the server by setting the max_allowed_packet' variable),第二就是对批量插入的数据list进行切割这个效果就好了,因为修改参数还是存在着不确定性,所以还是用切割吧。写了一段小例子测试一下算法,记录一下,其实没有什么指导意义,看这篇文章的可别说我low,附上算法和测试代码:
List<Integer> testlist=new ArrayList<Integer>(Arrays.asList(1,2,3,4,5,6));
int startindex=10; //这个控制切割的大小,如果太大修改这个参数
for(int i=startindex;;){
if(testlist.size()<i){
int start=i-startindex<0?0:i-startindex;
if( testlist.subList(start, testlist.size()).size()>0){
for (Integer integer : testlist.subList(start, testlist.size())) { //切割后得到的list为 testlist.subList(start, testlist.size())
System.out.print("qiege2="+integer);
}
}
System.out.println();
break;
}else{
for (Integer integer : testlist.subList(i-startindex,i)) { //切割后dedao的list为 testlist.subList(i-startindex,i)
System.out.print("qiege2="+integer);
}
System.out.println();
}
i=i+startindex;
}
int startindex=10; //这个控制切割的大小,如果太大修改这个参数
for(int i=startindex;;){
if(testlist.size()<i){
int start=i-startindex<0?0:i-startindex;
if( testlist.subList(start, testlist.size()).size()>0){
for (Integer integer : testlist.subList(start, testlist.size())) { //切割后得到的list为 testlist.subList(start, testlist.size())
System.out.print("qiege2="+integer);
}
}
System.out.println();
break;
}else{
for (Integer integer : testlist.subList(i-startindex,i)) { //切割后dedao的list为 testlist.subList(i-startindex,i)
System.out.print("qiege2="+integer);
}
System.out.println();
}
i=i+startindex;
}
很简单,自己记录一下,欢迎提出好的建议。
0 0
- 记录一点关于list每次以指定的间距分割的代码,仅做一个记录
- 每次记录一点Idea的使用心得
- 关于asterisk做呼叫转接的一点经验记录
- 关于db2的一点记录
- 关于国际化的一点记录
- 关于即时通讯的一点记录
- 关于dubbo的一点记录
- 关于即时通讯的一点记录
- 关于echarts的一点记录
- 关于StartActivityforResult 的一点记录
- 关于nginx的一点记录
- pixhawk代码中关于传感器的一点记录
- RxJava和EventBus的区别(摘抄,仅做记录)
- 关于weka的TextDirectoryLoader 的一点记录
- 每次进步一点------面试记录
- iOS - OpenCV 代码的一点学习记录
- 关于管理培训的一点心得记录
- 关于页面编码问题的一点记录
- 逻辑回归模型(logistic regression)
- 关于web.xml的文章
- 微信分享完成之后,选择“留在微信”,不会走友盟的分享结果回调问题
- python读取txt数据,转换到excel表中
- 【Spring】在springmvc中使用log4j日志功能
- 记录一点关于list每次以指定的间距分割的代码,仅做一个记录
- HTM-16.2代码(2)——帧间预测(理论)
- AndroidStudio LiveTemplates 使用
- final、finally 和 finalize 区别
- C语言-signal.h简单使用
- SD-SO 更改 item category
- Spark(三): 安装与配置
- linux设置时间同步命令
- pdo笔记