在 Java 中创建 Integer 类型的数组列表时,默认值是什么?我需要检查数组列表是否已满,我打算获取数组的大小,然后获取最后一个索引处的值并检查它是否为默认值。
有没有更好的方法?默认值是多少?
希望这是有道理的。干杯
int size = a.size();
int last = a.get(size);
if( last == null )
{
return true;
}else{
return false;
}
编辑;
是否可以创建一个最大尺寸的 ArrayList,您不能越过它来阻止它动态扩展? 当您创建一个 ArrayList 并使用 size() 时,它会返回实际大小或数组列表中元素的数量吗? 当这样做以创建最大尺寸时,默认值是否为空?
public boolean isFull()
{
int size = a.size();
int last = 0;
try{
last = a.get(size-1);
}catch (Exception e){
}
if( last == null )
{
return true;
}else{
return false;
}
}
我现在有这个,它看起来怎么样?这现在有意义吗?
最佳答案
当你声明一个 ArrayList 时它是空的。它也是一个动态容器,这意味着它会增长,因此您询问它是否“已满”更多是您需要添加到代码中的约束。
因此,如果您想实现您所描述的目标。
List<Integer> list = new ArrayList<Integer>();
int MAX_ELEMENTS = 5; //Set this to however you want to constrain the datatype
public boolean addElement(Integer value) {
if (list.size() < MAX_ELEMENTS) {
list.add(value);
return true;
} else {
return false;
}
}
public boolean isFull() {
return (list.size() == MAX_ELEMENTS);
}
public Integer getLast() {
if (!list.isEmpty())
return list.get(list.size()-1);
else
return null;
}
正如其他人所说,如果您生成一个具有预设大小的列表:
List<Integer> list = new ArrayList<Integer>(10);
您有一个包含 10 个元素的列表,这些元素的值都为 null
。如果您添加额外的元素,列表仍会增长到超过 10 个元素,除非您像我上面那样限制它。
关于Java - ArrayList 默认初始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15162600/