Java中的ArrayList操作

Java中的ArrayList操作,java,arraylist,Java,Arraylist,我们有这样一项业务: animal[i] = animal[i+1] 在java中使用数组时。但是我对数组列表在Java中的工作方式感到困惑,我想知道,对于上面提到的数组列表,什么是等效的操作 会不会是这样的: animal.get(i) = animal.get(i+1) ? 如果这样做,我会得到一个错误,说“左侧必须是变量”,所以我假设我做错了?animal.get(I)是一个方法返回的值。它可以指定给变量,但不能指定任何内容 您有一个set方法来替换列表的i第个元素的值: animal

我们有这样一项业务:

animal[i] = animal[i+1]
在java中使用数组时。但是我对数组列表在Java中的工作方式感到困惑,我想知道,对于上面提到的数组列表,什么是等效的操作

会不会是这样的:

animal.get(i) = animal.get(i+1) ?
如果这样做,我会得到一个错误,说“左侧必须是变量”,所以我假设我做错了?

animal.get(I)
是一个方法返回的值。它可以指定给变量,但不能指定任何内容

您有一个
set
方法来替换
列表的
i
第个元素的值:

animal.set(i,animal.get(i+1));

arraylist的api文档显示访问器。要将项目添加到列表中的特定位置,请使用适当的添加方法。因为arraylist是一个类,它的impl是对象,所以通常不能只使用您正在执行的行运算符。可能与您关于赋值的问题无关。。。。我会删除第一个元素,然后复制并附加最后一个元素,而不是在列表中循环。我明白了。所以我假设另一个例子,animal[numberOfAnimals]=animalToAdd,它就是animal.add(animalToAdd)?@clink是的。在这种情况下,使用ArrayList比使用数组更容易,因为它会在必要时自动调整大小。