Как добавить массив в массив (чтобы он стал двумерным массивом) в java?

У меня есть массив:

String[] a = {"abc","def","ghi"}

Теперь я хочу сохранить этот массив в свой строковый массив

ArrayList<String> arr = new ArrayList<>();

чтобы получилось так:

[["abc","def","ghi"]]

Я пробовал этот код, но он не работает:

arr.add(Arrays.asList(a));

Помогите пожалуйста мне

см. этот вопрос stackoverflow.com/questions/80476/…

rost 20.03.2022 06:59
ArrayList<String[]> arr = new ArrayList<>();
MadProgrammer 20.03.2022 07:02

А потом arr.add(a);

shmosel 20.03.2022 07:03

Если вы не ищете List<List<String>>

shmosel 20.03.2022 07:04

В каком смысле то, что вы делаете, «не работает». Чего именно вы ожидаете и что происходит?

tgdavies 20.03.2022 07:04
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
5
34
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Поскольку Arrays.asList(a) возвращает список, чтобы добавить его в свой список, вам нужно использовать addAll()

arr.addAll(Arrays.asList(a));

Вместо

arr.add(Arrays.asList(a));

Но результатом будет ["abc","def","ghi"]

Если вы хотите добиться этого [["abc","def","ghi"]], определите свой ArrayList как

List<List<String>> arr = new ArrayList<>();

используя метод arraylist addAll(), мы можем сделать, но Использование arrayList является устаревшим подходом, вместо него используйте Streams:

System.out.println(Collections.singletonList(Stream.of(new String[] {"abc","def","ghi"}).collect(Collectors.toList())));

приведет к:

[[абв, деф, гхи]]

Другие вопросы по теме