Итак, я изучаю методы factory для коллекций Immutable.
Я вижу, что метод Set.of() имеет 10 перегрузок varargs (тот же для Map.of()). Я действительно не понимаю, почему их так много. В конце концов функция ImmutableCollections.SetN<>(elements) вызывается в любом случае.
В документации я нашел это:
В то время как это вводит некоторый беспорядок в API, оно позволяет избежать накладных расходов на распределение массивов, инициализацию и сборку мусора, которые возникают в результате вызовов varargs.
Неужели беспорядок действительно стоит увеличения производительности? Если да, идеально ли было бы создать отдельный метод для любых элементов N?