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

Python015

Java动态二维数组 怎么动态定义,第1张

有两种实现方法:

可以用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 = 0x <rowx++) {

       for (double y = 0y <columny++) {

           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))

}

}

java中使用 [][] 来定义二维数组,定义数组时也可同时初始化。

两种初始化形式:

格式1、动态初始化

数据类型 数组名 [ ][ ] = new 数据类型[m][n]

数据类型 [ ][ ]  数组名 = new 数据类型[m][n]

数据类型 [ ]   数组名 [ ] = new 数据类型[m][n]

举例:int [ ][ ]  arr=new  int [5][3] 也可以理解为“5行3例”。

格式2、 静态初始化

数据类型 [ ][ ]   数组名 = {{元素1,元素2....},{元素1,元素2....},{元素1,元素2....}.....}

举例:int [ ][ ]  arr={{22,15,32,20,18},{12,21,25,19,33},{14,58,34,24,66},}。

二维数组的使用举例:

例1、定义一个二维数组 int[ ][ ]  arr = {{5,7,9},{12,14,16,18},{23,25,36,47},{22,54,65,15},{22,34}}求数组元素的和。

输出结果:

例2、使用二维数组存储班上五个学生三门功课的考试成绩,要求输出每一个学生的总分、

平均分、最高分、最低分--------->使用就按盘录入的方式录入数据。

Vector<Vector>v=new Vector<Vector>()//Vector的一维数组,即二维数组

Vector<Double>elem1=new Vector<Double>()//一维数组

Vector<Double>elem2=new Vector<Double>()//一维数组

v.addElement(elem1)

v.addElement(elem2)