java中对List分段操作的实例
作者:Lovnx 发布时间:2022-12-05 18:38:48
标签:java,List,分段
java中对List分段操作的实例
问题:假设A系统查询出来一个很大很大的List,现在B系统想要得到这个List来导出报表,但是B系统部署环境条件有限,内存容不下这么大一个List,这时候我们就需要把List切分,然后再一个一个导出了。
如果按照传统方式,可能会比较繁琐,我们可以运用List里面的subList方法来实现,代码如下:
import java.util.ArrayList;
import java.util.List;
public class listTest {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("aaa");//index_0
list.add("bbb");//index_1
list.add("ccc");//index_2
list.add("ddd");//index_3
list.add("eee");//index_4
list.add("fff");//index_5
list.add("ggg");//index_6
int flag = 3;//每次取的数据
int size = list.size();
int temp = size / flag + 1;
boolean special = size % flag == 0;
List<String> cutList = null;
for (int i = 0; i < temp; i++) {
if (i == temp - 1) {
if (special) {
break;
}
cutList = list.subList(flag * i, size);
} else {
cutList = list.subList(flag * i, flag * (i + 1));
}
System.out.println("第" + (i + 1) + "组:" + cutList.toString());
}
}
}
测试:
1、flag = 1
第1组:[aaa]
第2组:[bbb]
第3组:[ccc]
第4组:[ddd]
第5组:[eee]
第6组:[fff]
第7组:[ggg]
2、flag = 2
第1组:[aaa, bbb]
第2组:[ccc, ddd]
第3组:[eee, fff]
第4组:[ggg]
3、flag = 10
第1组:[aaa, bbb, ccc, ddd, eee, fff, ggg]
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望通过本文能帮助到大家,谢谢大家对本站的支持!
来源:http://blog.csdn.net/rickiyeat/article/details/73470055


猜你喜欢
- 一种方法是可以在窗体的属性面板将窗体的 ControlBox属性设置为false,或者在窗体的构造函数中这样写:public F
- step1. 导包(导入要使用的标签的jar文件)。step2. 使用taglib指令引入要使用的标签。taglib指令: &nb
- 包含不重复元素的集合称为“集(set)”。.NET Framework包含两个集HashSet<
- 算法分析一个排序算法的好坏,一般是通过下面几个关键信息来分析的,下面先介绍一下这几个关键信息,然后再将常见的排序算法的这些关键信息统计出来。
- 二叉树的结构public class TreeNode { int val; &nbs
- 本文实例讲述了Android编程自定义AlertDialog样式的方法。分享给大家供大家参考,具体如下:开发的时候,通常我们要自定义Aler
- 一、前导知识串行口是计算机的标准接口,现在的PC机(个人电脑)一般至少有两个串行口COM1和COM2。串行口应用广泛,在数据通信、计算机网络
- 最近用了Stream流,感觉超好用,记录一下。1、快速创建List比如我有个实体类User,User有个属性Namepublic class
- webview要调起input-file拍照或者选取文件功能,可以在webview.setWebChromeClient方法中重写指定的方法
- 本人是从事互联网金融行业的,所以会接触到一些金融类的问题,常见的一种就是数字转汉字大小写的问题。所以抽空就写了一个小小的工具类,实现了数字转
- 本文实例讲述了C#交错数组用法。分享给大家供大家参考。具体分析如下:交错数组是数组的数组,交错数组的元素可以是不同的尺寸和大小。交错数组有时
- 在实践中,项目的某些配置信息是需要进行加密处理的,以减少敏感信息泄露的风险。比如,在使用Druid时,就可以基于它提供的公私钥加密方式对数据
- 简介DataBinding 是 Jetpack 组件之一,适用于 MVVM 模式开发,也是Google官方推荐使用的组件之一。使用DataB
- Web服务器是运行及发布Web应用的容器,只有将开发的Web项目放置到该容器中,才能使网络中的所有用户通过浏览器进行访问。开发Java We
- 前言本文将使用Maven、gRPC、Protocol buffers、Docker、Envoy等工具构建一个简单微服务工程,笔者所使用的示例
- 本文实例讲述了Android编程实现二维码的生成与解析。分享给大家供大家参考,具体如下:直接上代码,代码上面有具体的解析,并且提供jar供下
- 安装方法一:1.Android studio File->Settings..->Plugins–>Browse repo
- feignclient https接口调用报证书错误问题最近在使用 feignclient 过程中,和第三方通过https 协议交互的时候,
- Android安全加密专题文章索引Android安全加密:对称加密Android安全加密:非对称加密Android安全加密:消息摘要Mess
- java web返回中文乱码ajax返回中文乱码问题 在浏览器按F12查看数据包可以看到charset为 iso-8859-1,这是spri