找到整数数组的长度/大小

时间:2011-03-08 19:09:30

标签: java arrays

我有一个整数数组int[] a = new int [5]

在我的代码中,我只在索引0和1处存储了2个值。

a[0]=100a[1]=101

现在我需要将数组大小/长度设为2。

我应该做什么?

5 个答案:

答案 0 :(得分:9)

你的数组长度是5,而不是2.你已经将数组定义为5个元素长,你最终使用的数量是无关紧要的。

你可以做的是:

List<Integer> a = new ArrayList<Integer>();
a.add(100);
a.add(101);
System.out.println(a.size());

会给你2

答案 1 :(得分:6)

你不能 - 没有设置的元素和已设置为0的元素之间没有区别。数组的实际长度是5,并且总是为5.(数组不能创建后改变长度。)

当然,如果你知道你永远不会使用0,你可以写:

int size = 0;
for (int value : a)
{
    if (value != 0)
    {
        size++;
    }
}

...但是如果您尝试在开始时将数组用作具有“实时”段的缓冲区(如ArrayList那样),那么您必须自己维护该大小。

答案 2 :(得分:1)

您无法更改数组的大小。但是,您可以创建具有正确大小的新数组,并将您感兴趣的数据复制到新数组中。

答案 3 :(得分:1)

您可以遍历数组并检查最后一个非0的索引 - 或者如果您使用Integer类型,您可以执行相同的检查但检查null而不是0.但这不会给你一个长度,它只是对你使用了多少个值的糟糕估计。

更好的方法是使用arraylist然后获得它的大小。你最有可能在这里使用数组用于错误的目的。

答案 4 :(得分:1)

使用ArrayListVector

Vector intvec = new Vector();
intvec.add(100);
intvec.add(101);
System.out.println(intvec.size());