import java.util.ArrayList;
import java.util.List;
public class Main {
// Split an ArrayList into smaller ArrayLists
private static <T> List<ArrayList<T>> split(ArrayList<T> arrlist, int chunk) {
List<ArrayList<T>> subArrLists = new ArrayList<>();
for (int i = 0; i < arrlist.size(); i += chunk) {
int endchunk = Math.min(i + chunk, arrlist.size());
subArrLists.add(new ArrayList<>(arrlist.subList(i, endchunk)));
}
return subArrLists;
}
public static void main(String[] args) {
ArrayList<Integer> arrList = new ArrayList<>();
for (int i = 0; i < 27; i++) {
arrList.add(i);
}
List<ArrayList<Integer>> subArrLists = split(arrList, 4);
for (int i = 0; i < subArrLists.size(); i++) {
System.out.println("Sublist " + (i + 1) + ": " + subArrLists.get(i));
}
}
}
/*
run:
Sublist 1: [0, 1, 2, 3]
Sublist 2: [4, 5, 6, 7]
Sublist 3: [8, 9, 10, 11]
Sublist 4: [12, 13, 14, 15]
Sublist 5: [16, 17, 18, 19]
Sublist 6: [20, 21, 22, 23]
Sublist 7: [24, 25, 26]
*/