从列表中创建数组并初始化它 - Java

时间:2018-03-30 10:02:04

标签: java arrays list

我在课程中有以下列表

List<XYZ> Algo1;
List<XYZ> Algo2;
List<XYZ> Algo3;

我想要的是用这些列表创建一个数组,尝试这样做:

List<XYZ> Algos[] = {Algo1,Algo2,Algo2};

我希望能够像这样初始化它,但是我得到一个错误,想法是能够通过for而不是单独调用

for(int i=0;i<Algos.length;i++){
    Algos[i].add(new XYZ(...));
}

有点像这样的想法?

1 个答案:

答案 0 :(得分:3)

You cannot create arrays of parameterised types.

请参阅链接了解原因。

无论如何,替代方法是创建List<List<XYZ>>

List<List<XYZ>> algoList = Arrays.asList(algo1, algo2, algo3);

顺便说一下,记得在将它们放入列表之前正确初始化algo 1-3!否则你将把空值放入列表中!

如果您要添加/删除algoList中的内容,则需要ArrayList<List<Algo>>

ArrayList<List<XYZ>> algoList = new ArrayList<>(Arrays.asList(algo1, algo2, algo3));