IndexOutOfBoundsException:具有两个LinkedList



所以我也试图从LinkedList上的给定索引中删除LinkedList中的多个单词。但是我得到

IndexOutOfBoundsException:

我正努力做到这一点:

LinkedList<Integer> List_Of_Index = new LinkedList<>();
LinkedList<String> list_Of_Words = new LinkedList<>();

List_Of_Index.add(0);
List_Of_Index.add(2);
list_Of_Words.add("remove");
list_Of_Words.add("dont");
list_Of_Words.add("remove");
for (int numb:List_Of_Index){
list_Of_Words.remove(numb);
}

当您在循环的第一次迭代中删除List的一个元素时,包含两个元素的列表在第二次迭代中包含一个元素,并且引用索引2是无效的
而抛出IndexOutOfBoundsExceptionlist_Of_Words.remove(2)

您可以使用计数器来计算删除次数,并使用它来递减要删除的索引:

int removal = 0;
for (int numb:List_Of_Index){
list_Of_Words.remove(numb-removal);
removal++;
}

您不能删除list_Of_Words…中索引2处的元素
单词列表只有2个元素。。。

在循环中第一次迭代后,单词列表的大小为2(最后一个索引为1(

相关内容

  • 没有找到相关文章

最新更新