最近做开发时遇上一个问题,需要将List拆分成小的List,参照别人的思路,加上自己的改造,写了个小方法,
该方法有两个参数:待拆分的List(list)和要拆分成的List的size的大小(per),下面为方法的代码,可以
直接复制使用。
/**
* @author GaoJingFei <br>
* 2014.10.24
* 将传入的List按照给定的size拆分成多个子List <br>
* 例如 list=[1, 2, 3, 4, 5] , per=3 <br>
* 则会得到 : [[1, 2, 3],[4, 5]] <br>
* list=[1, 2, 3, 4, 5] , per=2 <br>
* 则会得到 : [[1, 2], [3, 4], [5]] <br>
* */
public static <T> List<List<T>> splitList(List<T> list,int per){
List<List<T>> returnList = new ArrayList<List<T>>();
int count = list.size()/per;
int yu = list.size() % per;
for (int i = 0; i <= count; i++) {
List<T> subList = new ArrayList<T>();
if (i == count) {
subList = list.subList(i * per, i * per + yu);
} else {
subList = list.subList(i * per, per * (i + 1));
}
returnList.add(subList);
}
return returnList;
}
测试如下: