ArrayList - 如何检查索引是否存在?

2022-08-31 08:19:17

我正在使用并在特定索引处添加数据,如何检查是否存在特定索引?ArrayList<String>

我应该简单地检查值吗?还是应该等待异常?还有别的方法吗?get()

更新:感谢您的回答,但由于我只在特定索引处添加内容,因此列表的长度不会显示哪些可用。


答案 1

该方法返回列表中的项数 - 因此,如果索引大于或等于 ,则不存在。arrayList.size()size()

if(index >= myList.size() || index < 0){
  //index does not exists
}else{
 // index exists
}

答案 2

虽然您收到了十几个关于使用列表大小的建议,这些建议适用于具有线性条目的列表,但似乎没有人阅读您的问题。

如果在不同的索引处手动添加条目,则这些建议都不起作用,因为您需要检查特定索引。

使用 if ( list.get(index) == null ) 也不起作用,因为 get() 会引发异常而不是返回 null。

试试这个:

try {
    list.get( index );
} catch ( IndexOutOfBoundsException e ) {
    list.add( index, new Object() );
}

如果索引不存在,则在此处添加一个新条目。您可以更改它以执行其他操作。


推荐