А массивы где?
Если Вы имеете ввиду ArrayList то это не массив. Если те, которые внутри ArrayList это другое дело.
Кроме "плотной" привязки к конкретной реализации List через ArrayList ни чего плохого не вижу.
Но в принципе в зависимисти от случая привязка к конкретной реализации может быть и выгодна необходима.
Как по мне, так такой вариант лутше.
final List<List<Integer>> list = new ArrayList<>(10);