Java中如何对list进行分段操作?

lnh2017 · 2018-09-27 15:35:58 · 1896 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2018-09-27 15:35:58 的主题,其中的信息可能已经有所发展或是发生改变。

有时候,我们需要从一个系统里导出数据,并导入另外一个系统中,而这个数据很大,而数据导入受到限制,无法实现,这时,我们就需要对数据进行List切分,然后再一个个导出,最终,实现数据导入。

对于数据的分段处理,我们可以采用subList方法进行实现,具体用法可参看以下案例:

import java.util.ArrayList;

import java.util.List;

public class listTest {

public static void main(String[] args) {

List list = new ArrayList();

list.add("one");

list.add("two");

list.add("three");

list.add("four");

list.add("five");

list.add("six");

list.add("seven");

int ftest = 3;//每次取的数据

int size = list.size();

int temp = size / ftest + 1;

boolean special = size % ftest == 0;

List<String> cutList = null;

for (int i = 0; i < temp; i++) {

  if (i == temp - 1) {

    if (special) {

      break;

    }

    cutList = list.subList(ftest * i, size);

  } else {

    cutList = list.subList(ftest * i, ftest * (i + 1));

  }

  System.out.println("第" + (i + 1) + "组:" + cutList.toString());

}

}

}

得出的结果为:

第1组:[one, two,three]

第2组:[four, five,six]

第3组:[seven]

如果ftest = 1,得出的结果为:

第1组:[one]

第2组:[two]

第3组:[three]

第4组:[four]

第5组:[five]

第6组:[six]

第7组:[seven]

以上是其用法实例,可以结合实例进行实际应用!


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1896 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传