0

你能告诉我如何获得保留数组的大小吗?

看看这个:

public static String arr_list[][][][][]= new String[2][10][10][2][5];

我知道这是一个大数组。

我把数据放在那里,想得到第三个元素的数据大小。

arr_list[0][0].length- 但它仍然返回10

但是[0][0]我只有 4 个值:

arr_list[0][0][0]..
arr_list[0][0][1]..
arr_list[0][0][2]..
arr_list[0][0][3]..

怎么退4,不行10

4

3 回答 3

2

数组是固定大小的容器,它们总是有一个声明的长度,这就是为什么你总是会得到 10。

考虑改用Lists(例如ArrayList)。

于 2013-08-11T16:02:31.117 回答
1

您已经初始化了一个 5d 数组.....第 1 维的大小是 2,2d 是 10 3d 是 10 4d 是 2 而第 5 d 的大小是 5..

因此,如果将它们留空,总大小将为 2*10*10*10*2*5=20,000 ..它们将自动被空字符填充......如果你想计算大小...... .您可以找到第一个空字符的位置并计算它之前的元素

于 2013-08-11T16:01:20.420 回答
0

如果您初始化一个数组,new String[2][10][10][2][5]您已经明确告诉系统您希望 arr_list[0][0] 有 10 个元素。恐怕它会相信你,并创建一个 10 元素数组。

如果您希望大小根据实际元素的数量而变化,则需要动态初始化它。

public static String arr_list[][][][][]= new String[2][][][][];使用两个类型为 的空引用创建 arr_list String[][][][]。然后,您可以使用包含您在下一级实际需要的元素数量的数组来初始化它们中的每一个,依此类推。

于 2013-08-11T16:09:51.403 回答