List分割成多個子List
/**
* @Title: splitList
* @Description: 1個list分割成多個list
* @param targe 原list
* @param size 分割後每個list的長度
* @return List<List<String>> 返回型別
* @throws
*/
public List<List<String>> splitList(List<String> targe, int size) {
List<List<String>> listArr = new ArrayList<List<String>>();
// 獲取被拆分的陣列個數
int arrSize = targe.size() % size == 0 ? targe.size() / size : targe.size() / size + 1;
for (int i = 0; i < arrSize; i++) {
List<String> sub = new ArrayList<String>();
// 把指定索引資料放入到list中
for (int j = i * size; j <= size * (i + 1) - 1; j++) {
if (j <= targe.size() - 1) {
// 得到拆分後的集合
sub.add(targe.get(j));
}
}
// 拆分的集合可以做點什麼
// sub.dosomething();
// 將拆分後的集合綜合為一個集合
listArr.add(sub);
}
return listArr;
}
public static void main(String[] args) {
List<String> tarArr = new ArrayList<String>();
tarArr.add("1");
tarArr.add("2");
tarArr.add("3");
tarArr.add("4");
tarArr.add("5");
tarArr.add("6");
tarArr.add("7");
tarArr.add("8");
//引數5是表示每個list的長度
List<List<String>> result = createList(tarArr, 5);
for (List<String> subList : result) {
System.out.println(subList);
}
}