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引起的性能问题
背景起因: 记起以前的另一次也是关于内存的调优分享下 有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...
随机推荐
- 关于Unity中天空盒的使用
天空盒 是一个盒子,一个正方形的盒子.其实本身也是一种shader,需要材质球做载体. 1: 一个场景是由6幅正方形的纹理图无缝拼接而成, 在视野看来位于真实的视野一样;2: 两种天空盒: 场景天空盒 ...
- elasticsearch系列五:搜索详解(查询建议介绍、Suggester 介绍)
一.查询建议介绍 1. 查询建议是什么? 查询建议,为用户提供良好的使用体验.主要包括: 拼写检查: 自动建议查询词(自动补全) 拼写检查如图: 自动建议查询词(自动补全): 2. ES中查询建议的A ...
- Java如何格式化AM-PM格式的时间?
在JAVA中,如何格式化AM-PM格式的时间? 该示例使用SimpleDateFormat(“HH-mm-ss a”)构造函数和SimpleDateFormat类的sdf.format(date)方法 ...
- e610. Setting Focus Traversal Keys in a Component
When the focus is on a component, any focus traversal keys set for that component override the defau ...
- (转)编译android5.1,添加swap分区的方法
clang++: error: unable to execute command: Killedclang++: error: assembler command failed due to sig ...
- repo sync出现“fatal: '../platform/abi/cpp.git' does not appear to be a git repository”的解决方案
在我下载Android源代码时,在最后一步调用repo sync,出现“fatal: '../platform/abi/cpp.git' does not appear to be a git rep ...
- Keystone API
Keystone身份API简介 Keystone提供REST风格的API, 客户端可以通过HTTP方法和URL操作资源. Keystone有两个主要版本的API, 以及构建在这些核心API上的一些AP ...
- 使用selenium遇到java.lang.NoSuchMethodError: org.apache.xpath.XPathContext,排查
初试selenium webdriver,运行小程序,抛如下错误: java.lang.NoSuchMethodError: org.apache.xpath.XPathContext.<i ...
- 【经验之谈】Git使用之TortoiseGit配置VS详解;国内几大Git代码托管网站
转载自: http://www.cnblogs.com/xishuai/p/3590705.html http://www.cnblogs.com/shanyou/p/3662482.html
- Java注解Annotation学习笔记
一.自定义注解 1. 使用关键字 @interface 2. 默认情况下,注解可以修饰 类.方法.接口等. 3. 如下为一个基本的注解例子: //注解中的成员变量非常像定义接口 public @int ...