// Java Program to split an ArrayList in multiple small ArrayLists import java.util.ArrayList; import java.util.List; public class GFGSplitArrayList { //main method public static void main(String[] args) { //create the mainList ArrayList ArrayList<String> mainList = new ArrayList<>(); // Adding values into ArrayList of Strings mainList.add("C"); mainList.add("Java"); mainList.add("Python"); mainList.add("HTML"); mainList.add("CSS"); mainList.add("Six"); mainList.add("Spring"); mainList.add("Hibernate"); mainList.add("NodeJs"); // Split the ArrayList into smaller ArrayLists with size 3 int subListSize = 3; List<ArrayList<String>> subLists = splitArrayList(mainList, subListSize); // print the result for (int i = 0; i < subLists.size(); i++) { System.out.println("Sublist " + (i + 1) + ": " + subLists.get(i)); } } // Method to split an ArrayList into smaller ArrayLists private static <T> List<ArrayList<T>> splitArrayList(ArrayList<T> original, int size) { List<ArrayList<T>> subLists = new ArrayList<>(); for (int i = 0; i < original.size(); i += size) { int end = Math.min(i + size, original.size()); subLists.add(new ArrayList<>(original.subList(i, end))); } return subLists; } }