У меня есть 2D-матрица размера nXm, для которой каждая ячейка содержит неизвестное количество значений типа Integer (поэтому я должен использовать Список, чтобы иметь возможность динамически добавлять материал и использовать 2D-массив nXm, потому что массивы легко получить доступ и написать код). PlJava 2D массив ArrayLists
- легкость, прежде чем рекомендовать мне любую другую структуру данных, ответьте на мой вопрос ниже, а затем обсудить, почему я не должен этого и пойти на то, что вы думаете, будет работать лучше и эффективнее:
Как может Я выделяю память для переменной ниже?
ArrayList<Integer>[][] i2DArrayList;
Я знаю, что в некоторых случаях я должен это делать. Однако до этого я должен сделать некоторое другое распределение памяти, которое я не помню. Не могли бы вы посоветовать мне в этом вопросе.
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
i2DArrayList[i][j] = new ArrayList<Integer>();
}
}
Я уже знаю, как сделать это в 1D:
ArrayList<Integer>[] i1DArrayList;
i1DArrayList = new ArrayList[n];
for (int i = 0; i < i1DArrayList.length; i++) {
i1DArrayList[i] = new ArrayList<Integer>();
}
Я думаю, вам нужен 'ArrayList>'. –
Нет, я сказал, что я в порядке с ArrayList [] [] i2DArrayList –
К сожалению [вы не можете создать массив с общим типом] (http://www.angelikalanger.com/GenericsFAQ/FAQSections/ParameterizedTypes.html#FAQ104) , Надеюсь, вы закончите с 'ArrayList>', так как это лучший подход для вас. –
Pshemo