为了账号安全,请及时绑定邮箱和手机立即绑定

用Java初始化多维数组

用Java初始化多维数组

慕无忌1623718 2019-07-10 16:39:57
用Java初始化多维数组声明多维数组并为其赋值的正确方法是什么?这就是我所拥有的:int x = 5;int y = 5;String[][] myStringArray = new String [x][y];myStringArray[0][x] = "a string";myStringArray[0][y] = "another string";
查看完整描述

3 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

Java没有“真”多维数组。

例如,arr[i][j][k]等于((arr[i])[j])[k]..换句话说,arr是简单的数组、数组的数组.

所以,如果您知道数组是如何工作的,那么您就知道多维数组是如何工作的!


声明:

int[][][] threeDimArr = new int[4][5][6];

或者,在初始化时:

int[][][] threeDimArr = { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } };

准入:

int x = threeDimArr[1][0][1];

int[][] row = threeDimArr[1];

字符串表示:

Arrays.deepToString(threeDimArr);

产量

"[[[1, 2], [3, 4]], [[5, 6], [7, 8]]]"


查看完整回答
反对 回复 2019-07-10
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

您可以声明多维数组如下:


// 4 x 5 String arrays, all Strings are null

// [0] -> [null,null,null,null,null]

// [1] -> [null,null,null,null,null]

// [2] -> [null,null,null,null,null]

// [3] -> [null,null,null,null,null]


String[][] sa1 = new String[4][5];

for(int i = 0; i < sa1.length; i++) {           // sa1.length == 4

    for (int j = 0; j < sa1[i].length; j++) {     //sa1[i].length == 5

        sa1[i][j] = "new String value";

    }

}



// 5 x 0  All String arrays are null

// [null]

// [null]

// [null]

// [null]

// [null]

String[][] sa2 = new String[5][];

for(int i = 0; i < sa2.length; i++) {

    String[] anon = new String[ /* your number here */];

    // or String[] anon = new String[]{"I'm", "a", "new", "array"};

    sa2[i] = anon;

}


// [0] -> ["I'm","in","the", "0th", "array"]

// [1] -> ["I'm", "in", "another"]

String[][] sa3 = new String[][]{ {"I'm","in","the", "0th", "array"},{"I'm", "in", "another"}};



查看完整回答
反对 回复 2019-07-10
  • 3 回答
  • 0 关注
  • 938 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信