java List分批处理
java List分批处理,例如对List中的数据进行批量插入。
方法一:
/**
* ClassName:Test List分批处理
* @author Joe
* @version
* @since JDK 1.8
*/
public class Test { public static void main(String[] args) throws InterruptedException {
// 计数器
int count = 1; List<String> list = new ArrayList<String>();
// 填充List
for(int i = 0; i<10003; i ++){
list.add(i + "");
}
// 临时List
List<String> tempList = new ArrayList<String>(); for (String s : list) {
tempList.add(s);
// 分 1000条 执行 批量insert
if (count == 1000) {
// 执行 insert 操作
System.out.println("insert-1-" + tempList);
// 重新计数
count = 1;
// 清空list,重新塞数据
tempList.clear();
} else {
count++;
}
} // 扫尾
if (count > 0) {
// 执行 insert 操作
System.out.println("insert-2-" + tempList);
// 重新计数
count = 1;
// 清空list,重新塞数据
tempList.clear();
}
}
}
方法二:
/**
* ClassName:Test2 List分批处理
* @author 原文地址:http://blog.csdn.net/lxxc11/article/details/52817817
* @version
* @since JDK 1.8
*/
public class Test2 { public static void main(String[] args) {
// 1.总记录数
List<String> oldList = new ArrayList<String>();
for (int i = 0; i < 10003; i++) {
oldList.add(i + "");
} // 2.分页数据信息
int totalSize = oldList.size(); // 总记录数
int pageSize = 1000; // 每页N条
int totalPage = totalSize / pageSize; // 共N页 if (totalSize % pageSize != 0) {
totalPage += 1;
if (totalSize < pageSize) {
pageSize = oldList.size();
}
}
System.out.println("循环保存的次数:" + totalPage); // 循环多少次 // 临时List
List<String> temList = null;
for (int pageNum = 1; pageNum < totalPage + 1; pageNum++) {
int starNum = (pageNum - 1) * pageSize;
int endNum = pageNum * pageSize > totalSize ? (totalSize) : pageNum * pageSize;
System.out.println("起始:" + starNum + "-" + endNum);
temList = oldList.subList(starNum, endNum);
System.out.println("第" + pageNum + "批,执行insert:" + temList);
}
}
}
java List分批处理的更多相关文章
- 使用java多线程分批处理数据工具类
最近由于业务需要,数据量比较大,需要使用多线程来分批处理,提高处理效率和能力,于是就写了一个通用的多线程处理工具,只需要实现自己的业务逻辑就可以正常使用,现在记录一下 主要是针对大数据量list,将l ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- JAVA算法两道
算法(JAVA)----两道小小课后题 LZ最近翻了翻JAVA版的数据结构与算法,无聊之下将书中的课后题一一给做了一遍,在此给出书中课后题的答案(非标准答案,是LZ的答案,猿友们可以贡献出自己更快 ...
- java.sql.SQLException: Prepared or callable statement has more than 2000 parameter markers及解决方案
1. 问题 最近在项目中修bug的时候,碰到这样一个错误: Caused by: java.sql.SQLException:Prepared or callable statement has mo ...
- 算法(JAVA)----两道小小课后题
LZ最近翻了翻JAVA版的数据结构与算法,无聊之下将书中的课后题一一给做了一遍,在此给出书中课后题的答案(非标准答案,是LZ的答案,猿友们可以贡献出自己更快的算法). 1.编写一个程序解决选择问题.令 ...
- 【Java工具方法】给集合按数量分组
有时候需要给集合(如List)按数量分组,比如全集太大时,需要分批处理:或效率有点低,分批并发处理.于是,写了个将List按数量分组的方法. package controller; import ja ...
- Java模拟数据量过大时批量处理数据的两种实现方法
方法一: 代码如下: import java.util.ArrayList; import java.util.List; /** * 模拟批量处理数据(一) * 当数据量过大过多导致超时等问题可以将 ...
- Java线程(1)
多线程快速入门 线程与进程区别 每个正在系统上运行的程序都是一个进程.每个进程包含一到多个线程.线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行.也可以把它理解为代码运行的上下文.所以 ...
- 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题
背景起因: 记起以前的另一次也是关于内存的调优分享下 有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...
随机推荐
- How to deal with "Could not find component on update server. Contact VMware Support or your system administrator." in Vmware.
手动将vmware安装目录下的vmtools镜像文件,windows.iso文件放到虚拟机的光区里. 再进入虚拟机的系统,在系统里打开光盘进行安装
- JDBC的MySQL配置properties文件
参考: http://sgq0085.iteye.com/blog/1262469 e.g. 常用数据库URLDerby: jdbc:derby://localhost:1527/COREJAVA; ...
- 对C语言中指针的入门理解
通过一个例子引出对指针的概念理解 1,例子 #include<stdio.h> int main(void) { ; //小张的身高 ; //小李的身高 ; //小王的身高 int *xi ...
- can 驱动
http://www.cnblogs.com/general001/articles/2342728.html http://blog.csdn.net/luoqindong/article/deta ...
- 核心动画——Core Animation
一. CALayer (一). CALayer简单介绍 在iOS中,你能看得见摸得着的东西基本上都是UIView,比方一个button.一个文本标签.一个文本输入框.一个图标等等.这些都是UIView ...
- Linux语言设置修改乱码
1.system-config-language 命令语言改成英文.(安装yum install system-config-language) 如何系统安装后,使用的语言不是自己想要的.但是在图形 ...
- C# 获取文件大小
当然了都需要引入System.IO这个命名空间 第一个: public static long GetDirectoryLength(string dirPath){//判断给定的路径是否存在,如果不 ...
- 超炫酷的jQuery/HTML5应用效果及源码
jQuery非常强大,我们之前也用jQuery分享过很多实用的插件.HTML5可以让网页变得更加绚丽多彩,将HTML5和jQuery结合使用那将发挥更棒的效果. 今天向大家收集了一些关于HTML5和j ...
- Memcached系列之一
安装.运行 memcached -h 启动选项: -d 作为后台程序 -m -u -l -p -c -P (1)作为前台程序运行 memcached -vv // 显示调试信息 official do ...
- PHP安全之临时文件的安全
(一)临时文件简介临时文件,顾名思义是临时的文件,文件的生命周期短.然而,很多应用的运行都离不开临时文件,临时文件在我们电脑上无处不在,通常有以下几种形式的临时文件: 文件或图形编辑程序,所生成的中间 ...