java8中如何动态遍历动态多维数组

如题所述

有两种实现方法:

    可以用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}】然而数组也不是定死的,有可能有三个四个更多。

温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜