Каков наилучший способ использования Arrays.asList() для инициализации списка

Я использую этот код ниже. Оба отлично работают в моем приложении.

Случай 1.

List<String> coreModules =
    new ArrayList<String>(Arrays.asList(
        "TOOLBAR_TO_DO_LIST",
        "TOOLBAR_PROPERTY",
        "TOOLBAR_PEOPLE",
        "TOOLBAR_INSURANCE",
        "TOOLBAR_BATCH",
        "TOOLBAR_INFORMATION_REFERENCE",
        "TOOLBAR_LR_PROPERTY",
        "TOOLBAR_CASE_FOLDER",
        "TOOLBAR_INSPECTION_RESULT",
        "TOOLBAR_MY_OFFICE"));

Случай 2

List<String> coreModules =
    Arrays.asList(
        "TOOLBAR_TO_DO_LIST",
        "TOOLBAR_PROPERTY",
        "TOOLBAR_PEOPLE",
        "TOOLBAR_INSURANCE",
        "TOOLBAR_BATCH",
        "TOOLBAR_INFORMATION_REFERENCE",
        "TOOLBAR_LR_PROPERTY",
        "TOOLBAR_CASE_FOLDER",
        "TOOLBAR_INSPECTION_RESULT",
        "TOOLBAR_MY_OFFICE");

Но у меня есть несколько вопросов:

  1. Какой из них лучше с точки зрения производительности?
  2. В каком случае предпочитаете Случай 2?

Ответы

Ответ 1

Случай 2 лучше по производительности BUT: он возвращает список с неизменным размером. Это означает, что вы не можете добавлять/удалять элементы в/из него:

Возвращает список фиксированного размера, поддерживаемый указанным массивом. (Изменения в возвращаемом списке "write through" в массив.)

Arrays#asList