public static void main(String[] args) { List<String>list=new ArrayList(); list.add("aa"); list.add("bbb"); list.add("ccc"); list.add("dddd"); list.add("eeeee"); List<List<String>> lists = averageList(list,3);//拆分方法 for (List<String> strings : lists) { System.out.println(strings); } } /** * 平均拆分list * @param source 要拆分的list * @param n 拆分几份 * @param <T> * @return */ public static <T> List<List<T>> averageList(List<T> source, int n) { List<List<T>> result = new ArrayList<List<T>>(); int remaider = source.size() % n; int number = source.size() / n; int offset = 0;//偏移量 for (int i = 0; i < n; i++) { List<T> value = null; if (remaider > 0) { value = source.subList(i * number + offset, (i + 1) * number + offset + 1); remaider--; offset++; } else { value = source.subList(i * number + offset, (i + 1) * number + offset); } result.add(value); } return result; } } 结果:[aa, bbb] [ccc, dddd] [eeeee]
Java:平均拆分list
于 2023-02-08 15:26:24 首次发布