首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ArrayList -如何检查索引是否存在?

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

Stack Overflow用户
提问于 2010-01-25 19:10:40
回答 12查看 267.8K关注 0票数 129

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

我是否应该简单地get()并检查该值?或者我应该等待一个异常?还有别的办法吗?

更新:谢谢你的回答,但因为我只在特定的索引上添加内容,所以列表的长度不会显示哪些是可用的。

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2010-01-25 19:14:52

方法arrayList.size() returns列表中的项数-所以如果索引大于或等于size(),它就不存在。

代码语言:javascript
复制
if(index >= myList.size()){
  //index not exists
}else{
 // index exists
}
票数 186
EN

Stack Overflow用户

发布于 2011-11-22 23:04:58

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

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

使用if ( list.get(index) == null )也不起作用,因为get()抛出一个异常,而不是返回null。

试试这个:

代码语言:javascript
复制
try {
    list.get( index );
} catch ( IndexOutOfBoundsException e ) {
    list.add( index, new Object() );
}

在这里,如果索引不存在,则添加一个新条目。你可以改变它来做一些不同的事情。

票数 81
EN

Stack Overflow用户

发布于 2010-01-25 19:30:33

这就是你需要的..。

代码语言:javascript
复制
public boolean indexExists(final List list, final int index) {
    return index >= 0 && index < list.size();
}

为什么不使用普通的旧数组呢?我认为对列表的索引访问是一种代码味道。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2131802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档