Создать Массив Arraylists - PullRequest
       6

Создать Массив Arraylists

155 голосов
/ 19 декабря 2011

Я хочу создать массив arraylist, как показано ниже:

ArrayList<Individual>[] group = new ArrayList<Individual>()[4]

Но он не компилируется.Как я могу это сделать?

Ответы [ 19 ]

1 голос
/ 27 января 2018

List [] listArr = new ArrayList [4];

Над строкой выдается предупреждение, но оно работает (т.е. создает Array of ArrayList)

1 голос
/ 14 ноября 2017

Вы можете создать вот так ArrayList<Individual>[] group = (ArrayList<Individual>[])new ArrayList[4];

Вы должны создать массив не универсального типа и затем привести его к универсальному типу.

1 голос
/ 17 декабря 2015

Чтобы объявить массив ArrayLists статически для, скажем, позиций спрайтов в виде точек:

ArrayList<Point>[] positionList = new ArrayList[2];

public Main(---) {
    positionList[0] = new ArrayList<Point>(); // Important, or you will get a NullPointerException at runtime
    positionList[1] = new ArrayList<Point>();
}

динамически:

ArrayList<Point>[] positionList;
int numberOfLists;

public Main(---) {
    numberOfLists = 2;
    positionList = new ArrayList[numberOfLists];
    for(int i = 0; i < numberOfLists; i++) {
        positionList[i] = new ArrayList<Point>();
    }
}

Несмотря на предостережения и некоторые сложные предложения, у меня естьнашел массив ArrayLists в качестве элегантного решения для представления связанных ArrayLists одного типа.

0 голосов
/ 10 сентября 2018

ArrayList<Integer>[] graph = new ArrayList[numCourses] Работает.

0 голосов
/ 20 февраля 2018
ArrayList<String> al[] = new ArrayList[n+1];
for(int i = 0;i<n;i++){
   al[i] = new ArrayList<String>();
}
0 голосов
/ 20 октября 2016

Вы можете сделать это:

// Создать массив типа ArrayList

`ArrayList<Integer>[] a = new ArrayList[n];`

// Для каждого элемента в массиве создать ArrayList

for(int i=0; i<n; i++){ 
    a[i] = new ArrayList<Integer>();
}
0 голосов
/ 30 октября 2015
ArrayList<String>[] lists = (ArrayList<String>[])new ArrayList[10]; 
0 голосов
/ 13 июня 2015

Мне проще пользоваться ...

static ArrayList<Individual> group[];
......
void initializeGroup(int size)
{
 group=new ArrayList[size];
 for(int i=0;i<size;i++)
 {
  group[i]=new ArrayList<Individual>();
 }
0 голосов
/ 20 мая 2014

Вы можете создать список [] и инициализировать их для цикла for. компилируется без ошибок:

List<e>[] l;
for(int i = 0; i < l.length; i++){
    l[i] = new ArrayList<e>();
}

также работает с arrayList [] l.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...