Как добавить новые элементы в список заполненных arraylist в java?

62
7

У меня есть список книг, как показано ниже

public static ArrayList<List<String>> booksList = new ArrayList<List<String>>();

И он заполняется, как показано ниже.

booksList.add(Arrays.asList("Coders at Work", null));
booksList.add(Arrays.asList("Code Complete",null));
booksList.add(Arrays.asList("The Mythical Man Month",null));
booksList.add(Arrays.asList("Don't Make Me Think",null));
booksList.add(Arrays.asList("The Pragmatic Programmer",null));

Я хочу добавить элементы в список определенной строки Arraylist

booksList.get(0).add("BUYED");
booksList.get(0).add(0,"BUYED");

Но это не сработает. Как добавить больше предметов? или Есть ли лучший способ справиться с этой ситуацией?

спросил(а) 2021-01-19T18:19:51+03:00 2 месяца, 3 недели назад
1
Решение
122

Вы не можете добавлять или удалять элементы List созданные Arrays.asList().

На самом деле его джавадок:

Возвращает список фиксированного размера, поддерживаемый указанным массивом.

Чтобы иметь возможность добавлять новые элементы после создания списка, вы можете обернуть список фиксированных размеров в новый ArrayList.

Например, это:

BooksList.add(Arrays.asList("Coders at Work", null));

может быть написано:

BooksList.add(new ArrayList<>(Arrays.asList("Coders at Work", null)));

ответил(а) 2021-01-19T18:19:51+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема