Массив списков строк

  • 6
  • Недоступна
Иногда задание — это просто задание. Без подвоха, и не стоит искать в нём сложности и глубины. Нужно просто сесть и решить. Перед нами — именно такое задание. Смотрите, как все внятно и просто: создайте массив, элементами которого будут списки строк. А потом заполните массив любыми данными и выведите их на экран.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (166)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Александр Горохов
Уровень 15, Дятьково, Россия
28 сентября, 10:06
Инициализировал массив на 10 элементов, а прописал в методе добавление двух. И не мог понять, чего оно ругается?)))
Юлия Java Developer
6 апреля, 14:22
"Иногда задание - просто задание. Без подвоха, и не стоит искать в нём сложности", - говорили они..
Dmitry Panchenko
Уровень 25, Москва, Россия
8 февраля, 12:38
О как, каждый элемент массива листов, нужно инициализировать отдельно:
ArrayList<String>[] arrayLists = new ArrayList[sizeArray];
        for (int i = 0; i < sizeArray; i++)
            arrayLists[i] = new ArrayList<>();
Тоник ремонт мобильной техники в FixiT-сервис
2 февраля, 07:33
Блин, бесит уже! Есть ведь такая штука, как быстрая инициализация! Почему ей нельзы пользоваться? Валидатор не пропускает решение, где используется вот такой вариант решения: Создаём аррэйлист <стринг> лист1 = новый аррэйлист<стрин>(данные...данные...данные) Создаём еще несколько таким же макаром И уже после этого добавляем готовые списки в новый массив. А так как списки уже готовы, то пытаемся использовать короткую запись: ArrayList<String>[] result = new ArrayList[]{list1, list2, list3, list4}; И что вы думаете? Идея прекрасно понимает, о чем идет речь; По всем правилам всё должно прекрасно работать, но нет! Валидатор говорит: "ПНХ ПДРС! ДЕЛАЙ ИНДУССКИЙ КОД!" И приходится писать вот эти вот result[0] = блаблабла - дополнительные несколько по факту ненужных строк.
Маргарита Backend Developer в Сбер
28 января, 10:30
Создай массив, элементами которого будут списки строк. Мне одной показалось, что это должен быть ArrayList, элементами которого будут ArrayList<String>?
List<ArrayList<String>> listOfList = new ArrayList<>();
Почему тогда возвращаемое значение у createList() другое? Или я чего-то не понимаю?
Тоник ремонт мобильной техники в FixiT-сервис
2 февраля, 07:35
Нет, должен быть массив [] элементами которого будут списки ArrayList<String>
Mikhail Nartov
Уровень 17
16 января, 14:54
Ставь лайк, если проинициализировал массив, но забыл создать каждый список в нем :)
latkova
Уровень 15, Харьков
12 февраля, 19:46
я наоборот :)
Anonymous #2337929
Уровень 17
23 декабря 2020, 19:10
Вот эта запись
ArrayList<String>[] result = new ArrayList[3];
Это массив списков. То есть, элемент массива не строка или число, а всего лишь список (другой массив, но воспринимать его нужно просто как элемент сначала, без усложнения, поэтому лучше называть его сейчас именно "список", чтобы не путаться). Поэтому, чтобы что-то в этот список добавить, нужно сначала его создать. Как мы обычно создаем списки(для примера):
ArrayList<String> array = new ArrayList<>();
Только в данной задаче, поскольку мы действуем внутри обычного массива, мы просто заменяем первую часть
ArrayList<String> array
на
list[i]
где i - это индекс элемента нашего основного массива. А дальше, когда все списки созданы, мы уже спокойно добавляем в них элементы. Вот такое понимание,наконец, пришло спустя два дня размышлений над этой конструкцией. Если оно верное, то может кому-то еще поможет, у кого тоже пока есть сложности с абстрактным мышлением.
Ksenia
Уровень 24, Киев
12 ноября 2020, 14:01
полезная ссылочка на статью хабр про вариантность (Wladyslaw ниже писал про инвариантность и ковариантность) +супер понятное видео про вариантность в ArrayList
Anonymous #2297535
Уровень 22, Северодвинск, Россия
9 января, 15:42
за видео отдельное спасибо. хороший контент
🦔 Виктор веду Java Android канал в telegram @LetsCodeIt Expert
8 ноября 2020, 21:38
Не уловил смысловой нагрузки задачи, по-моему учат плохому. Самое сложно — это понять, что хотят, меня вот с толку сбили списки строк в ТЗ, ну, почему не написать списочный массив из строк, а? И, собственно, инициализация этого массива списочных массивов, тут объясняется как это сделать и почему НЕ стоит так делать. 1. Создаём пару списочных массивов с типом строки. 2. Закидываем в них для виду хотя бы по одной строке. 3. Создаём массив списочных массивов с типом строки: СписочныйМассив<Строка>[] названиеМассива = новый СписочныйМассив[размерМассива]; 4. На этом пункте я просидел около часа, забыв, что это обычный массив и пытаясь в него запихнуть списочные массивы через метод добавить(), а не оператор = 5. Всё получится, но, задача такая себе...
Степан
Уровень 30
30 октября 2020, 12:33
Лехко
Степан
Уровень 30
30 октября 2020, 12:34
Хотя нет