LinkedList和ArrayList的刪除操作

2021-09-28 20:55:47 字數 802 閱讀 5375

通過api文件發現linkedlist比arraylist多個 removefirst()和 removelast()方法。

既然有了 remove()為何還要多造其他倆種??

看原始碼linkedlist

/**

* retrieves and removes the head (first element) of this list.

** @return the head of this list

* @throws nosuchelementexception if this list is empty

* @since 1.5

*/public e remove()

/**

* removes and returns the first element from this list.

** @return the first element from this list

* @throws nosuchelementexception if this list is empty

*/public e removefirst()

原來linkedlist的remove()就是removefirst(),而介面 collection是沒有無參的remove(),所以這是它特有的方法,那為啥要多此一舉呢?

個人認為鍊錶結構的刪除需要操作前後節點指向,但第乙個沒有沒必要多此一舉所以用了簡化版的刪除,而且也大大提高了遍歷刪集合的效率(arraylist的我不想吐槽)

LinkedList和ArrayList的區別

對於集合collection下的list介面,有兩個實現類,arraylist和linkedlist,那麼他們兩個有什麼區別呢。arraylist的底層由陣列實現,而linkedlist的底層由雙向鍊錶實現,底層的不同才是他們區別的根源。然而因為他們繼承於同乙個父介面,他們的很多方法都是相同的。關於...

ArrayList和LinkedList的面試題

一 arraylist為什麼是執行緒不安全的?arraylist在新增乙個元素的時候,它可能會有兩步來完成 1.在 items size 的位置存放此元素 2.增大 size 的值。在單執行緒執行的情況下,如果 size 0,新增乙個元素後,此元素在位置 0,而且 size 1 而如果是在多執行緒情...

ArrayList和LinkedList的用法

集合的體系 collection 單列集合的根介面 list 如果是實現了list介面的實現類,該集合類具備的特點 有序,可重複 arraylist arraylist底層是維護了 乙個object陣列實現的,特點 查詢速度快,增刪慢。什麼時候使用arraylist 如果目前的資料是查詢比較多,增刪...