我正在使用 ArrayList<String>
并在特定索引处添加数据,如何检查特定索引是否存在?
我应该简单地 get()
并检查值吗?还是我应该等待异常?还有别的办法吗?
更新: 感谢您的回答,但因为我只是在特定索引处添加内容,所以列表的长度不会显示哪些内容可用。
原文由 ufk 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在使用 ArrayList<String>
并在特定索引处添加数据,如何检查特定索引是否存在?
我应该简单地 get()
并检查值吗?还是我应该等待异常?还有别的办法吗?
更新: 感谢您的回答,但因为我只是在特定索引处添加内容,所以列表的长度不会显示哪些内容可用。
原文由 ufk 发布,翻译遵循 CC BY-SA 4.0 许可协议
虽然您收到了关于使用列表大小的十几个建议,这些建议适用于具有线性条目的列表,但似乎没有人阅读您的问题。
如果您在不同的索引处手动添加条目,这些建议都不会起作用,因为您需要检查特定的索引。
使用 if ( list.get(index) == null ) 也不起作用,因为 get() 抛出异常而不是返回 null。
尝试这个:
try {
list.get( index );
} catch ( IndexOutOfBoundsException e ) {
list.add( index, new Object() );
}
如果索引不存在,则会在此处添加一个新条目。你可以改变它来做一些不同的事情。
原文由 pli 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
方法
arrayList.size()
返回 列表中的项目数 - 因此如果索引大于或等于size()
,它不存在。