Java中一个List分割为多个List
Java中一个List分割为多个List
public class ListUtil { /** * 将list分成多份list * * @param list list对象 * @param num 每份的数量 * @return List<List < T>> */ public static <T> List<List<T>> splitList(List<T> list, Integer num) { int listSize = list.size(); ArrayList<List<T>> objects1 = new ArrayList<>(); int n = 0; for (int i = 0; i < listSize / num; i++) { ArrayList<T> objects = new ArrayList<>(); for (; n < num * (i + 1); n++) { objects.add(list.get(n)); } objects1.add(objects); } //处理余数问题 int a = listSize % num != 0 ? listSize % num : 0; for (int i = 0; i < a; i++) { ArrayList<T> objects = new ArrayList<>(); for (; n < num * (listSize / num) + a; n++) { objects.add(list.get(n)); } if (!CollectionUtils.isEmpty(objects)) { objects1.add(objects); } } return objects1; } public static void main(String[] args) { ArrayList<String> strings = new ArrayList<>(); strings.add("张"); strings.add("三"); strings.add("丰"); strings.add("在"); strings.add("武"); strings.add("当"); strings.add("山"); //按每2个数据作为一个list分割 List<List<String>> lists = splitList(strings, 2); for (List<String> list : lists) { System.out.println(list); } } }
下一篇:
用七段数码管显示26个字母的方案