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