从列表生成数组并初始化它-Java

从列表生成数组并初始化它-Java,java,arrays,list,Java,Arrays,List,我在一个班级里有以下的清单 List<XYZ> Algo1; List<XYZ> Algo2; List<XYZ> Algo3; 列表算法1; 清单2; 清单3; 我想用这些列表创建一个数组,试着这样做: List<XYZ> Algos[] = {Algo1,Algo2,Algo2}; List Algos[]={Algo1,Algo2,Algo2}; 我希望能够像那样初始化它,但我得到一个错误,这个想法是能够通过for而不是单独调用 fo

我在一个班级里有以下的清单

List<XYZ> Algo1;
List<XYZ> Algo2;
List<XYZ> Algo3;
列表算法1;
清单2;
清单3;
我想用这些列表创建一个数组,试着这样做:

List<XYZ> Algos[] = {Algo1,Algo2,Algo2};
List Algos[]={Algo1,Algo2,Algo2};
我希望能够像那样初始化它,但我得到一个错误,这个想法是能够通过for而不是单独调用

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

请参阅链接了解原因

无论如何,另一种方法是创建一个
列表


哪一个错误?^^^本身没有,只是不编译:vCan你能解释你为什么不被接受吗?@Sweeper porq解决方案不能完全解决这个问题,它必须是一个
数组
类型
List
,除非你说这不是possible@SamirLlorente这是不可能的。你看过链接了吗?它很好地解释了这一点ll.如果OP希望
algoList
是可变的,你可能还想建议
新建ArrayList(Arrays.asList(algo1,algo2,algo3))
。@Aominè看到OP试图创建一个列表数组,我假设OP不打算添加/删除内容,但无论如何,这很好!与其使用另一个列表,不如使用一个数组?
List<List<XYZ>> algoList = Arrays.asList(algo1, algo2, algo3);
ArrayList<List<XYZ>> algoList = new ArrayList<>(Arrays.asList(algo1, algo2, algo3));