如何知道List有特定的索引?

时间:2017-04-12 07:05:51

标签: java arraylist

有一个List

List<Integer> l = new ArrayList<Integer>();
l.add(300);
l.add(3070);
if (l.get(8) == null) System.out.println("null"); else System.out.println("something else");

在运行时我得到了ArrayIndexOutOfBound异常,那么如何知道特定索引是否存在?

4 个答案:

答案 0 :(得分:3)

简单;你打电话:>version platform x86_64-w64-mingw32 arch x86_64 os mingw32 system x86_64, mingw32 status major 3 minor 3.2 year 2016 month 10 day 31 svn rev 71607 language R version.string R version 3.3.2 (2016-10-31) nickname Sincere Pumpkin Patch

与数组类似,您希望在访问索引之前检查列表的长度。

如果你不这样做;然后你找到了答案&#34;你已经自己了:尝试访问无效索引会导致list.size()被抛出。

并且不要误会我的意思:但真正的答案在这里:研究你打算使用的概念。

您似乎有一些想法&#34; list&#34;一般工作(可能基于其他编程语言中的类似概念)。但这不是你编写代码的方式:你不要假设。对于要使用的内容,请转到javadoc;你研究那个。或者您阅读了相应的tutorials

答案 1 :(得分:2)

您可以使用列表大小和减号1来查找最后一个索引

答案 2 :(得分:1)

使用ArrayList.size方法检查列表的大小。索引不能超过size-1

答案 3 :(得分:1)

您应该添加ArrayList大小的检查,如下面的代码:

if (l.size()>8 && l.get(8) == null) 
System.out.println("null"); 
else 
System.out.println("something else");

使用&amp;&amp;在if子句中添加多个条件的操作符。