我有一个标准的java数组,其中null
值用于数组中未分配或空的点。如何判断是否还有未分配的值,即阵列是否已满?
答案 0 :(得分:5)
作为静态大小的数组,您可以说数组总是满的。
但是如果你想知道你的数组中有多少个空值,你只需要经历它。
Object[] array = new Object[10];
int count = 0;
for(Object item : array){
if(item == null)
count++;
}
或者采用特定方法:
public int countNulls(Object[] array){
int count = 0;
for(Object item : array){
if(item == null)
count++;
}
return count;
}
如果您按索引填写数组索引:
public int nextEmptyIndex(Object[] array){
int count = 0;
for(Object item : array){
if(item == null)
return count;
else
count++;
}
return -1; //Return an invalid value or do something to say that there is no empty index.
}
答案 1 :(得分:3)
如果“not full”意味着数组中有null元素,那么您将创建一个方法,如
public boolean isFull(Object[] array) {
for (Object element : array) {
if (element == null) return false;
}
return true;
}
答案 2 :(得分:1)
数组总是满的,所以
public boolean isFull(Object[] array) {
return true;
}
答案 3 :(得分:0)
if(myarray [myarray.length-1]!= null){
System.out.println(“数组已满”);
}
答案 4 :(得分:0)
虽然我理解你的问题,但我有点困惑你为什么这么问。首先,我会对Q本身进行一次尝试。
Java中的数组具有固定的大小,因此它们“完整”的概念并没有多大意义。对于基本数组,整个数组使用基元的默认值进行初始化。因此,如果您知道要分配的值是非默认值,则可以从元素长度1检查默认值。
如果您有一个对象数组,则可以检查空值。同样,这假设您没有在人口中的某个点分配空值(这可能是不好的做法)。同样,您可以从数组的最后一个元素进入,随时查看。
您可以通过使用正确的对象集合(例如数组列表)来避免此问题。您可以根据需要填充任意数量的元素。