对于我的程序,我需要创建一个ArrayLists数组。
这甚至可能吗?
这是我尝试使用的代码:
public static ArrayList<Chemical> [] [] chemicals;
chemicals = new ArrayList<Chemical>[cols][rows];
它给出了通用数组创建错误。
谢谢。
答案 0 :(得分:3)
这似乎适用于Java 8
ArrayList<Chemical>[][] chemicals = new ArrayList[cols][rows];
答案 1 :(得分:0)
这样做
public static ArrayList<Chemical> [] [] chemicals;
chemicals = new ArrayList[cols][rows];
并在课堂上放置@SuppressWarnings(“unchecked”)
答案 2 :(得分:0)
您可以通过以下方式实现:
<强> 1 强>
List<List<Chemical>> listOfLists = new ArrayList<List<Chemical>>();
或其他方式:
<强> 2 强>
使用Map<Chemical, List<Chemical>>
可能更合适。将Map的值作为List<Chemical>
将允许您扩展列表而不是具有固定大小的数组。
public static void main(String[] args) throws CloneNotSupportedException {
Map<Chemical, List<Chemical>> myMap = create(1, 3);
}
public static Map<Chemical, List<Chemical>> create(double row, double column) {
Map<Chemical, List<Chemical>> chemicalMap = new HashMap<Chemical, List<Chemical>>();
for (double x = 0; x < row; x++) {
for (double y = 0; y < column; y++) {
chemicalMap.put(x, new ArrayList<Chemical>());
}
}
return chemicalMap;
}