Вопрос-ответ

How can I create an Array of ArrayLists?

Как я могу создать массив ArrayLists?

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

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

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

Переведено автоматически
Ответ 1

Согласно документации Oracle:


"Вы не можете создавать массивы параметризованных типов"


Вместо этого вы могли бы сделать:

ArrayList<ArrayList<Individual>> group = new ArrayList<ArrayList<Individual>>(4);

Как предложил Том Хотинг - таклайн, еще лучше сделать:

List<List<Individual>> group = new ArrayList<List<Individual>>(4);
Ответ 2

Как упоминали другие, вероятно, лучше использовать другой список для хранения ArrayList, но если вам нужно использовать массив:

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

Вам нужно будет подавить предупреждение, но в данном случае это безопасно.

Ответ 3

Это работает:

ArrayList<String>[] group = new ArrayList[4];

Хотя это выдаст предупреждение, которое вы, возможно, захотите подавить.

Ответ 4

Вы можете создать класс, расширяющий ArrayList

class IndividualList extends ArrayList<Individual> {

}

а затем создать массив

IndividualList[] group = new IndividualList[10];
java arrays arraylist