How to split an ArrayList into multiple small ArrayLists with Java

2 Answers

0 votes
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
 
public class MyClass {
    public static void main(String args[]) {
        ArrayList al = new ArrayList(Arrays.asList("c#", "c++", "c", "java", "php", "go"));
  
        int size = 2;
        List<List<String>> subLists = new ArrayList<>();
        for (int i = 0; i < al.size(); i += size) {
            subLists.add(al.subList(i, Math.min(i + size, al.size())));
        }
 
        System.out.println(subLists);
         
        for (List<String> sub : subLists) {
            System.out.println(sub);
        }  
         
        for (List<String> sub : subLists) {
            System.out.println(sub.get(0) + " " + sub.get(1));
        } 
    }
}
   
   
   
   
/*
run:
   
[[c#, c++], [c, java], [php, go]]
[c#, c++]
[c, java]
[php, go]
c# c++
c java
php go
   
*/

 



answered Oct 14, 2023 by avibootz
edited Oct 14, 2023 by avibootz
0 votes
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]
  
*/

 



answered Nov 12, 2024 by avibootz
edited Nov 12, 2024 by avibootz

Related questions

1 answer 99 views
1 answer 169 views
1 answer 111 views
1 answer 215 views
2 answers 198 views
...