Как я могу создать массив 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];