Java - возможен ли ArrayList <Integer>[] []? - PullRequest
6 голосов
/ 25 июля 2011
ArrayList<Integer>[][] matrix = new ArrayList<Integer]>[sizeX][sizeY]();

или

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

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

Ответы [ 5 ]

7 голосов
/ 25 июля 2011

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

    ArrayList<Integer>[][] matrix = new ArrayList[1][1];
    matrix[0][0]=new ArrayList<Integer>();
    //matrix[0][0].add(1);
1 голос
/ 25 июля 2011

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

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

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

1 голос
/ 25 июля 2011

Попробуйте

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

Подробнее о Список

0 голосов
/ 25 июля 2011

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

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

определит 2-dim-массив объектов ArrayList.

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

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

0 голосов
/ 25 июля 2011

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

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