Вы можете создать Array of ArrayList
List<Integer>[] outer = new List[number];
for (int i = 0; i < number; i++) {
outer[i] = new ArrayList<>();
}
Это будет полезно в подобных сценариях.Вы знаете размер внешнего.Но размер внутренних варьируется.Здесь вы можете создать массив фиксированной длины, который содержит изменяющиеся по размеру списки массивов.Надеюсь, это будет полезно для вас.
В Java 8 и выше вы можете сделать это намного лучше.
List<Integer>[] outer = new List[number];
Arrays.setAll(outer, element -> new ArrayList<>());
Еще лучше, используя ссылка на метод
List<Integer>[] outer = new List[10];
Arrays.setAll(outer, ArrayList :: new);