首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

从一个list里头一次取出几个对象,放进一个临时list里面

2012-11-07 
从一个list里面一次取出几个对象,放进一个临时list里面刚开始的时候想用list的一个方法,list.subList(int

从一个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("=========================");}}}

热点排行