Java - возможно ли ArrayList <Integer> [] []?

114
12

ArrayList<Integer>[][] matrix = new ArrayList<Integer]>[sizeX][sizeY]();

или


ArrayList<Integer>[][] matrix = new ArrayList<Integer]>()[sizeX][sizeY];

не работает, я начинаю думать, что он даже не может хранить ArrayLists в матрице?

спросил(а) 2011-07-25T14:04:00+04:00 9 лет, 8 месяцев назад
1
Решение
62

Try


List<List<Integer>> twoDList = new ArrayList<ArrayList<Integer>>();

Подробнее о List

ответил(а) 2011-07-25T14:07:00+04:00 9 лет, 8 месяцев назад
121

Если вы все еще хотите использовать и массивы:

    ArrayList<Integer>[][] matrix = new ArrayList[1][1];
matrix[0][0]=new ArrayList<Integer>();
//matrix[0][0].add(1);

ответил(а) 2011-07-25T14:15:00+04:00 9 лет, 8 месяцев назад
61

Используйте это,


List<List<Integer>> matrix = new ArrayList<ArrayList<Integer>>();  

Это означает, что список будет состоять из списка целых чисел в качестве его значения.

ответил(а) 2011-07-25T14:09:00+04:00 9 лет, 8 месяцев назад
44

Обычно генераторы и массивы плохо смешиваются, но это будет работать (дает предупреждение, которое можно безопасно игнорировать):


ArrayList<Integer>[][] matrix = new ArrayList[sizeX][sizeY];

ответил(а) 2011-07-25T14:13:00+04:00 9 лет, 8 месяцев назад
44

Если вы хотите сохранить список в массиве, вам все равно придется отделить объявление и инициализацию:


ArrayList<Integer>[][] matrix = new ArrayList[10][10];

будет указывать 2-мерный массив объектов ArrayList.


matrix[0][0] = new ArrayList<Integer>();

инициализирует одну конкретную ячейку новым ArrayList из целых чисел.

ответил(а) 2011-07-25T14:13:00+04:00 9 лет, 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема