Java动态二维数组 怎么动态定义

怎么动态定义二维数组,并可以动态赋值,可以实现数组的相加减?

有两种实现方法:

    可以用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));

        }

    }

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-13
int[][] num;
int[] a={1,23,4,5};//一个数组
int h=1;//多少行
num=new int[h][a.length];//这里用两个变量来就可以实现动态定义了.
for(int i=0;i<h;i++)
{
for(int j=0;j<a.length;j++)
{
num[i][j]=a[i];//这里实现动态赋值了
}
}本回答被提问者和网友采纳
第2个回答  2019-05-25

第3个回答  2010-06-22
int[][] a=new int[10][10];

你想知道这个??