Просто еще одна идея ...
, как предложил @NullPointer, я бы заставил метод принимать List<List<Integer>>
вместо varargs.
Учитывая это изменение, вы можете просто сделать:
Collections.min(lists, Comparator.comparingInt(List::size));
Коротко, просто и читабельно, верно?
Обратите внимание, что вышеприведенное будет выбрасывать NoSuchElementException
после того, как коллекция пуста, что может также соответствовать ожидаемому поведению, которое вы хотите, но на случай, если это не то предназначение, которое вы можете проверить на пустоту до того, каквызов min или использование потокового подхода, предложенного @NullPointer, который использует Optional API для возврата альтернативного значения, если Stream # min возвращает пустой Optional.