我有一个问题,要求读取索引并检查它是否为空,如果它是并且它的位置大于或等于67(从0开始),我必须打印出位于索引I -67的元素。我认为我遇到的问题是检查索引是否包含
for(int i = 0; i <= s.size()-1; i++){
if(s.get(i) == null && i >= 67)
w.println(s.get(i-67));
}
我在其他地方读到,也许哈希表会更好地做到这一点,但我的生活我不明白为什么。
使用if(s.get(i) == null)
不起作用,并且get()
方法抛出异常而不是返回null。
你需要捕获异常,使用这个:
try {
s.get(i);
} catch (IndexOutOfBoundsException e) {
s.add(i, new Object());//Add something to fill this position.
}
如果i
位置的Arraylist为null(空),代码捕获异常,您可以添加一些东西来填充该位置。你没有指定数组列表的类型