删除并重新排列arraylist

Nic*_*ick 1 java android arraylist

我有一个ArrayList,我打算java.util.ArrayList.remove()在android中使用该方法,但我的问题是,如果你有一个ArrayList具有以下索引的值,然后在索引删除,其他人会被提升索引吗?这里有一个更简单的方法来理解我想问的问题:

Starting Arraylist:
------------------------
|   Index   |   Value  |   
------------------------
|    0      |    "a"   |
|    1      |    "b"   |
|    2      |    "c"   |
|    3      |    "d"   |
|    4      |    "e"   |
------------------------

然后我在索引3处删除新数组将是数组A或数组B.

Arraylist A:                Arraylist B:
------------------------    ------------------------
|   Index   |   Value  |    |   Index   |   Value  |   
------------------------    ------------------------
|    0      |    "a"   |    |    0      |    "a"   |
|    1      |    "b"   |    |    1      |    "b"   |
|    2      |    "c"   |    |    2      |    "c"   |
|    3      |          |    |    3      |    "e"   |
|    4      |    "e"   |    ------------------------
------------------------

san*_*hat 5

它将是B,如果使用索引操作修改arraylist,ArrayList将按照您的理解重新排列.ArrayLists如果修改太多,为什么成本很高

这就是remove(int)文档所说的

删除此列表中指定位置的元素.将任何后续元素向左移位(从索引中减去一个).