當我們從ArrayList
的中間刪除一個元素時,結果如下:結果是:將會創建一個新的列表,舊的元素或隨後的元素將會移動到舊列表的左側?刪除ArrayList中的元素後的結果是什麼?
0
A
回答
3
當刪除從ArrayList
的元素,所有元素的被刪除的元素之後的索引1。
ArrayList
S按陣列被備份降低。在刪除的情況下,後面的數組部分如下,將被刪除的元素複製到數組中從已刪除元素的索引處開始的部分。這是通過System.arraycopy
完成:
public E remove(int index) {
rangeCheck(index);
modCount++;
E oldValue = elementData(index);
int numMoved = size - index - 1;
if (numMoved > 0)
// this is the part that moves the following elements
System.arraycopy(elementData, index+1, elementData, index, numMoved);
elementData[--size] = null;
return oldValue;
}
1
從here:
public E remove(int index)
: 移除此列表中指定位置的元素。將任何 後續元素左移(從其索引中減去1)。
0
將創建一個與舊元素或遵循舊列表
沒有將轉移到左側元素的新名單,因爲ArrayList
是mutables。當你移除一個元素時,這會影響當前的對象引用,它將少一個元素。在之後元素被移除的元素將被移到左邊。
1
當您嘗試從arrayList
方法中刪除元素時,剩餘的條目將向後移動,因此不存在任何間隙。
刪除此列表中指定位置的元素(可選操作)。將任何隨後的元素向左移(從其索引中減去一個元素)。返回從列表中移除的元素。
感謝
0
命中率。到Javadoc,它將元素移到左邊。看一看
0
你要刪除的那個元素之後的元素將被移動到左邊的 。數組列表元素將被重新排列。
相關問題
- 1. InvalidOperationException在刪除arrayList中的元素後
- 2. 刪除arraylist中的元素
- 3. 獲取後從ArrayList中刪除元素
- 4. 刪除ArrayList的元素
- 5. 從ArrayList中刪除元素
- 6. 從ArrayList中刪除元素
- 7. 從arraylist中刪除元素
- 8. 爲什麼刪除ArrayList中的第一個元素很慢?
- 9. 刪除arraylist中的元素的問題
- 10. 刪除ArrayList中的重複元素Java
- 11. Java中的Arraylist刪除元素
- 12. 爲什麼不是從我的ArrayList <Integer>中刪除所有元素?
- 13. IndexOutOfBoundsException當刪除ArrayList元素
- 14. 從ArrayList刪除元素
- 15. ArrayList元素沒有刪除
- 16. 從Pymongo結果中刪除_id元素
- 17. 從AJAX中刪除元素結果
- 18. 刪除ArrayList異常中的最後一個元素
- 19. 從元素中刪除元素而不刪除元素後
- 20. ArrayList訪問應該刪除的元素
- 21. 爲什麼Array.splice(-1,1)刪除Javascript中的最後一個元素?
- 22. 在一個ArrayList中刪除 「」 元素
- 23. 從ArrayList中刪除元素內部
- 24. 從ArrayList中刪除元素時使用
- 25. 如何從ArrayList中刪除元素?
- 26. 試圖從ArrayList中刪除元素
- 27. 從ArrayList中刪除特定元素
- 28. 將元素添加到ArrayList並從ArrayList中刪除元素的實現
- 29. 如果我想搜索arraylist中的元素,那麼Big-Theta是什麼?
- 30. 什麼是從IE中刪除DOM元素的最快方法?