我正在尝试在我的LinkedList ArrayList中的特定元素之前添加一个字符串。我正在尝试将每个元素从特定索引向右移动以插入新元素。元素不能在数组列表中移动吗?我收到以下错误:
线程"main"中的异常 java.lang.IndexOutOfBounds异常:索引:2,大小:2
这是我的插入方法:
public static void insertBefore() {
System.out.println("Which song would you like to add: ");
element = scanner.next();
for(int i=linkedList.size(); i>index; i--){
linkedList.set(index+1, linkedList.get(index));
}
linkedList.add(index, element);
}
这是我尝试更简单方法后的第五次尝试。提前感谢您的回答!
您可以使用
ArrayList 对象在指定位置添加带有add(int index, E element)
方法的元素。它会自动移动当前处于该位置的元素。
得到该异常是因为当您只有两个元素时,您正在尝试替换第二个位置的元素。有关详细信息,请参阅文档。
为什么不
if(linkedList.size() > 0)
return linkedList.get(linkedList.size() - 1);