public static ArrayList<String>[] createList() {
//напишите тут ваш код
ArrayList<String>[] arrOut = new ArrayList[3];
//почему не ArrayList<String[]>... ?
//почему обязательно надо объявлять размер массива: new ArrayList[3], а не как обычно new ArrayList<>()?
//почему у arrOut нет метода add?
arrOut[0] = new ArrayList<>();
arrOut[1] = new ArrayList<>();
arrOut[2] = new ArrayList<>();
Collections.addAll(arrOut[0], "qaz", "wsx", "edc");
Collections.addAll(arrOut[1], "rfv", "tgb", "yhn");
Collections.addAll(arrOut[2], "ujm", "ik2", "ol1");
//почему так нетривиально приходится инициализировать элементы коллекции - почему не использовать метод set?
return arrOut;
}
Dmitry Ivanov
22 уровень
Заработало, но сам не понимаю как ...
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Сергеев ВикторMaster
18 февраля 2018, 16:15
почему обязательно надо объявлять размер массива: new ArrayList[3], а не как обычно new ArrayList<>()?
потому что вы создаете массив списков.
почему у arrOut нет метода add?
arrOut это массив, у массивов нет методов.
почему так нетривиально приходится инициализировать элементы коллекции - почему не использовать метод set?
-используйте если вам так лучше
0
Dmitry Ivanov
18 февраля 2018, 18:22
Спасибо вам огромное за ответ. Такой вопрос - я же правильно понимаю что в реальной жизни конструкция
была бы гораздо уместнее для решения этой задачи?
И почему всё-таки квадратные скобки вынесены за угловые: исходя из правил синтаксиса языка тип данных элементов коллекции указывается полностью в угловых скобках, поскольку у нас элементами являются массивы строк, то должно быть так:
Наверное, я что-то упускаю :) 0
Сергеев ВикторMaster
18 февраля 2018, 19:15решение
исходя из правил синтаксиса языка тип данных элементов коллекции указывается полностью в угловых скобках, поскольку у нас элементами являются массивы строк, то должно быть так:
в таком случае вы получите лист массивов строк, а вам нужен массив списков строк.
Вопрос в том, что должно быть массивом. Вы пишите массив строк и кладете его в лист, но с вас просят массив листов а не строк. А листы уже типизированы строками.
+5
Dmitry Ivanov
19 февраля 2018, 10:37
Всё, понял! Спасибо вам! Всё-таки невнимательно в условие задачи вчитался :)
0