按批次处理list数据 (list按条数取)
按批次处理list数据的两种方法
主要应用于list存储数据过多,不能使list整体进行其余操作
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
package net.xsoftlab.na;import java.util.ArrayList;import java.util.List;/** * 按批次处理list数据的两种方法 * 主要应用于list存储数据过多,不能使list整体进行其余操作 * @author zhouhongna * @date 2014-10-20 * */public class DealListByBatch { /** * 通过list的 subList(int fromIndex, int toIndex)方法实现 * @param sourList 源list * @param batchCount 分组条数 */ public static void dealBySubList(List<Object> sourList, int batchCount){ int sourListSize = sourList.size(); int subCount = sourListSize%batchCount==0 ? sourListSize/batchCount : sourListSize/batchCount+1; int startIndext = 0; int stopIndext = 0; for(int i=0;i<subCount;i++){ stopIndext = (i==subCount-1) ? stopIndext + sourListSize%batchCount : stopIndext + batchCount; List<Object> tempList = new ArrayList<Object>(sourList.subList(startIndext, stopIndext)); printList(tempList); startIndext = stopIndext; } } /** * 通过源list数据的逐条转移实现 * @param sourList 源list * @param batchCount 分组条数 */ public static void dealByRemove(List<Object> sourList, int batchCount){ List<Object> tempList = new ArrayList<Object>(); for (int i = 0; i < sourList.size(); i++) { tempList.add(sourList.get(i)); if((i+1)%batchCount==0 || (i+1)==sourList.size()){ printList(tempList); tempList.clear(); } } } /** * 打印方法 充当list每批次数据的处理方法 * @param sourList */ public static void printList(List<Object> sourList){ for(int j=0;j<sourList.size();j++){ System.out.println(sourList.get(j)); } System.out.println("------------------------"); } /** * 测试主方法 * @param args */ public static void main(String[] args) { List<Object> list = new ArrayList<Object>(); for (int i = 0; i < 91; i++) { list.add(i); } long start = System.nanoTime(); dealBySubList(list, 10); dealByRemove(list, 10); long end = System.nanoTime(); System.out.println("The elapsed time :" + (end-start)); }} |
按批次处理list数据 (list按条数取)的更多相关文章
- 表单生成器(Form Builder)之mongodb表单数据查询——返回分页数据和总条数
上一篇笔记将开始定义的存储结构处理了一下,将FormItems数组中的表单项都拿到mongodb document的最外层,和以前的关系型数据类似,之不过好多列都是动态的,不固定,不过这并没有什么影响 ...
- oracle 利用over 查询数据和总条数,一条sql搞定
select count(*) over()总条数 ,a.*from table a
- Spark Steaming消费kafka数据条数变少问题
对于基于Receiver 形式,我们可以通过配置 spark.streaming.receiver.maxRate 参数来限制每个 receiver 每秒最大可以接收的记录的数据:对于 Direct ...
- Oracle 查询库中所有表名、字段名、字段名说明,查询表的数据条数、表名、中文表名、
查询所有表名:select t.table_name from user_tables t;查询所有字段名:select t.column_name from user_col_comments t; ...
- 实现java 中 list集合中有几十万条数据,每100条为一组取出
解决"java 中 list集合中有几十万条数据,每100条为一组取出来如何实现,求代码!!!"的问题. 具体解决方案如下: /** * 实现java 中 list集合中有几十万条 ...
- jquery通过ajax获取数据,控制显示的数据条数
效果图: 现在我们可以先看它的json数据,如图所示: 然后可以对应我们的代码进行理解. jquery通过ajax获取数据,并通过窗口大小控制显示的数据条数,以及可以根据 ...
- PROCEDURE_监测系统_数据备份存储过程—备份原始数据,每十分钟一条,取平均值
create or replace procedure proc_backup_originaldata(retCode out varchar2, -- 返回码 ...
- SQL 一列数据整合为一条数据
SQL 一列数据整合为一条数据: SELECT STUFF(( SELECT distinct ',' + 列名 FROM 表名 where [条件] FOR XML PATH('') ), 1 ...
- [lua, mysql] 将多条记录数据组合成一条sql插入语句(for mysql)
-- 演示将多条记录数据组合成一条sql插入语句(for mysql) function getTpl0(tname) -- 获取表各个字段 local t = { tpl_pack = {" ...
随机推荐
- 推荐一个入门最佳Git教程
这是我最近发现的一个针对入门Git教程,浅显易懂,点到为止,很适合初学者及使用Git的爱好者,学完该教程应付开发工作绰绰有余. http://www.liaoxuefeng.com/wiki/0013 ...
- CXF学习笔记 之 “注解”
@WebService 1.serviceName: 对外发布的服务名,指定 Web Service 的服务名称:wsdl:service.缺省值为 Java 类的简单名称 + Service.(字符 ...
- 利用eclipse的search功能搜索当前项目的源文件
当你项目的源文件太多,文件组织结构太复杂的的时候,有时候希望google来帮你一把?给个关键字就把相关的搜索结果给出来? eclipse的search功能基本上就可以完成这个任务,文件搜索,甚至JAV ...
- Matlab三维绘图
三维绘图 1 三维绘图指令 类 别 指 令 说 明 网状图 mesh, ezmesh 绘制立体网状图 meshc, ezmeshc 绘制带有等高线的网状图 meshz 绘制带有“围裙”的网状图 曲面图 ...
- 面向对象设计原则二:开闭原则(OCP)
开闭原则(OCP)定义:对扩展开发,对修改关闭.好处: 适应性和灵活性. 稳定性和延续性. 可复用性与可维护性. 解释说明:开闭原则指的是两方面:对功能扩展开发,对修改进 ...
- 微信小程序 - toptip效果
在Page顶部下滑一个提示条 , 代码见 /mixins/UIComponent.js ,其中的self 可以认为是微信小程序的Page对象 效果: 默认2秒展示,上移动画隐藏 /** * 展示顶部 ...
- URL 重写
转载自:http://www.cnblogs.com/knowledgesea/archive/2012/10/08/2715350.html 一. 为了页面更有利于seo优化,url重写程序需要做出 ...
- web 汇率
http://www.cnblogs.com/beimeng/p/3789940.html 网站虽小,五脏俱全(干货) 前言 最近一个朋友让帮忙做一个汇率换算的网站,用业余时间,到最后总算是实现了 ...
- 【cf492】E. Vanya and Field(拓展欧几里得)
http://codeforces.com/contest/492/problem/E 一开始没时间想,,诶真是.. 挺水的一道题.. 将每个点的横坐标都转换成0,然后找纵坐标有多少即可..即解方程 ...
- 【BZOJ】1093: [ZJOI2007]最大半连通子图(tarjan+拓扑序)
http://www.lydsy.com/JudgeOnline/problem.php?id=1093 两个条件综合起来加上求最大的节点数,那么很明显如果是环一定要缩点. 然后再仔细思考下就是求da ...