我想创建一个如下所示的数组列表:
ArrayList<Individual>[] group = new ArrayList<Individual>()[4];
但它不是编译。我该怎么做呢?
我想创建一个如下所示的数组列表:
ArrayList<Individual>[] group = new ArrayList<Individual>()[4];
但它不是编译。我该怎么做呢?
当前回答
正如其他人提到的,使用另一个List来存储数组列表可能更好,但如果你必须使用数组:
ArrayList<Individual>[] group = (ArrayList<Individual>[]) new ArrayList[4];
您需要取消警告,但在这种情况下是安全的。
其他回答
ArrayList<String>[] lists = (ArrayList<String>[])new ArrayList[10];
你可以做到的。创建ArrayList类型的Array
ArrayList<Integer>[] a = new ArrayList[n];
为数组中的每个元素创建一个数组列表
for(int i = 0; i < n; i++){
a[i] = new ArrayList<Integer>();
}
正如其他人提到的,使用另一个List来存储数组列表可能更好,但如果你必须使用数组:
ArrayList<Individual>[] group = (ArrayList<Individual>[]) new ArrayList[4];
您需要取消警告,但在这种情况下是安全的。
创建和初始化 对象[]yourArray = new对象[ARRAY_LENGTH]; 写访问 yourArray[我]= someArrayList; 访问内部数组列表的元素: ((ArrayList < YourType >) yourArray[我])阀门(elementOfYourType);//或其他方法 读访问 将数组元素i读取为数组列表使用类型转换: someElement= (ArrayList<YourType>) yourArray[i]; 对于数组元素i:读取数组列表元素在索引j处的值 arrayListElement= (ArrayList<YourType>) yourArray[i]).get(j);
不能创建泛型类型的数组。创建数组列表:
List<ArrayList<Individual>> group = new ArrayList<ArrayList<Individual>>();
或者如果你真的需要数组(警告:糟糕的设计!):
ArrayList[] group = new ArrayList[4];