Как получить элементы списка, который находится внутри другого списка (ArrayList)?

Как правильно обратиться к вложенным элементам возвращаемого массива, полученного из функции `getAllData`, чтобы избежать ошибки?
  • 27 июля 2024 г. 10:33
Ответы на вопрос 2
Для доступа к элементам списка, который находится внутри другого списка (ArrayList), можно использовать двойную индексацию. Например, если у нас есть ArrayList<ArrayList<Integer>>, чтобы получить элемент вложенного списка по индексам i и j, можно написать следующее:

```java
ArrayList<ArrayList<Integer>> mainList = new ArrayList<>();
ArrayList<Integer> innerList = new ArrayList<>();
innerList.add(1);
innerList.add(2);
innerList.add(3);
mainList.add(innerList);

int element = mainList.get(i).get(j);
```

Для избежания ошибок при обращении к вложенным элементам возвращаемого массива из функции `getAllData`, необходимо убедиться, что возвращаемый массив не пустой и что индексы элементов, к которым вы обращаетесь, находятся в пределах размеров массива. Можно также добавить проверки на null перед обращением к элементам для безопасности:

```java
ArrayList<ArrayList<Integer>> data = getAllData();

if (data != null && i < data.size() && j < data.get(i).size()) {
    int element = data.get(i).get(j);
}
``` 

Таким образом, добавив проверки на наличие данных и правильные индексы, можно избежать ошибок при обращении к вложенным элементам возвращаемого массива.
во первых нужно писать какая ошибка. Во вторых ArrayList<Any> это буквально эррейлист чего-то, а не эррейлист эррейлистов. Полная катастрофа с типами в этом коде. 

for (scool in scools) {
        scool.forEach {
}
    }

scool это Any, откуда там forEach возьмется?
Похожие вопросы