检查数组是否已满

时间:2014-04-08 15:54:31

标签: java arrays

如果我有一个数组Candy[] type;

type = new Candy[capacity];

如果数组已满capacity = type.length

4 个答案:

答案 0 :(得分:4)

Java创建一个数组,capacityCandy个实例初始化数组的引用数为nulltype.length == capacity 。所以java中的任何数组都已满并且

type = new Candy[capacity]

总是如此。

type = new Candy[] {null, null, null, /* capacity count of nulls */, null}; 相当于

{{1}}

答案 1 :(得分:3)

由于您使用的是数组,因此在编译期间会确定数组的大小。因此,如果您打算检查当前数组的索引是否已到达最后一个数组元素,则可以使用以下条件(可能在循环中)来检查当前数组索引是否是最后一个元素。如果是,则它已到达数组的最后一个元素。

示例:

 int[] candy = new int[10];  //Array size is 10
 //first array: Index 0, last array index: 9. 
 for (int x=0; x < candy.legnth; x++)
       if (x == candy.length-1)
            //Reached last element of array

您可以使用以下方法检查数组的大小

candy.length

使用以下方法检查最后一个元素

if (currentIndex == candy.length-1) //Where candy is your array

确保使用双等 ==进行比较。

单一等级=用于分配。

答案 2 :(得分:2)

在示例中,您显示type.length将始终等于capacity(初始化后)。此外,您的数组将始终包含capacity个元素,但它们最初都是null

答案 3 :(得分:-1)

如果要检查数组是否已满(没有空元素),请使用以下内容:

//1
boolean b = false;

//2
for(int i = 0; i < type.length; i++){
    if(type[i] == null){
        b = true;
    }
}

//3
if(!b){
    System.out.println("Array is full");
}

这是什么意思?

// 1。一开始你有一个布尔值(b)是假的。

// 2。如果数组中的任何值为null,则b为真。

// 3。您检查b的值是否仍为false。如果是,那意味着b永远不会改变,所以数组已满(没有空元素)。