从一个list里面一次取出几个对象,放进一个临时list里面
刚开始的时候想用list的一个方法,list.subList(int first,int end)
结果发现抛出java.util.ConcurrentModificationException异常
因为在迭代的时候不允许对list进行修改
故后来采用如下算法:
package com.wangf.test;import java.util.ArrayList;import java.util.List;public class TestList {@SuppressWarnings("unchecked")public static void main(String[] args) {//表示一次取出几个int size = 11;List list = new ArrayList();int i = 0;while(i < 10) {list.add("wangf:" + i);i++;}//表示一共需要取几次int count = (list.size() % size == 0 ? list.size() / size : list.size() / size + 1);for(int j = 0; j < count; j++) {List tmpList= new ArrayList();if(list.size() >= size) {//如果list里面剩下的还大于等于需要取出的for(int n = 0; n < size; n++) {//则重复执行size次下面的两句代码tmpList.add(list.get(0));list.remove(0);}} else {//list里面剩下的已经小于需要去取出的int lastSize = list.size();for(int n = 0; n < lastSize; n++) {//则重复执行lastSize()次下面的两句代码tmpList.add(list.get(0));list.remove(0);}}for(int k = 0; k < tmpList.size(); k++) {System.out.println(tmpList.get(k));}System.out.println("=========================");}}}