字符串数组长度java

时间:2013-08-11 15:58:03

标签: java arrays

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

看看这个:

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

3 个答案:

答案 0 :(得分:2)

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

请考虑使用Lists(例如ArrayList)。

答案 1 :(得分:1)

你已经初始化了一个5d阵列.....第一维的尺寸是2,2d是10 3d是10 4d是2而第5 d的尺寸是5 ..

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

答案 2 :(得分:0)

如果使用new String[2][10][10][2][5]初始化数组,则已明确告诉系统您希望arr_list [0] [0]包含10个元素。我担心它会相信你,并创建一个10元素阵列。

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

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