如何检查Arraylist索引是否为空



我有一个问题,要求读取索引并检查它是否为空,如果它是并且它的位置大于或等于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(空),代码捕获异常,您可以添加一些东西来填充该位置。你没有指定数组列表的类型

最新更新