有两种实现方法:
可以用List数组来实现
可以用map来实现
方法一:用map来实现
比如要创建一个1行、3列的数组,实现方法如下:
public static void main(String[] args) throws CloneNotSupportedException { Map<Double, List<Double>> myMap = create(1, 3);}public static Map<Double, List<Double>> create(double row, double column) { Map<Double, List<Double>> doubleMap = new HashMap<Double, List<Double>>(); for (double x = 0; x < row; x++) { for (double y = 0; y < column; y++) { doubleMap.put(x, new ArrayList<Double>()); } } return doubleMap;}
方法二:
可以用List数组来实现
public static void main(String args[]) {
//list 作为动态二维数组
List<List<String>> list = new ArrayList();
List<String> a1 = new ArrayList<String>();
List<String> a2 = new ArrayList<String>();
List<String> a3 = new ArrayList<String>();
list.add(a1);
list.add(a2);
list.add(a3);
a1.add("string1 in a1");
a1.add("string2 in a1");
a2.add("string1 in a2");
a3.add("string1 in a3");
a3.add("string2 in a3");
for (int i = 0; i < list.size(); ++i) {
for (int j = 0; j < list.get(i).size(); ++j)
System.out.println(list.get(i).get(j));
}
}
我希望的结果是String[] a = { "1", "2" }; String[] b = { "1", "2", "3" };map.put("a", a);map.put("b", b);然后变成一个新的数组【{a=1,b=1},{a=1,b=2},{a=1,b=3},{a=2,b=1},{a=2,b=2},{a=3,b=3}】然而数组也不是定死的,有可能有三个四个更多。