日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

ArrayList与LinkedList的比较

發布時間:2025/4/5 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ArrayList与LinkedList的比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ArrayList 繼承AbstractList<E>,實現List、Cloneable和Serializable接口

LinkedList繼承AbstractSequentialList<E>,實現List、Cloneable和Serializable接口
?

元素存儲方式:

ArrayList 采用數組的方式存儲

LinkedList采用鏈表結構存儲

add:

  • 對于元素的add()來說,LinkedList要比ArrayList要快一些,因為ArrayList可能需要額外的擴容操作,當然如果沒有擴容,二者沒有很大的差別
  • 對于元素的add(int, element),對于LinkedList來說,代價主要在遍歷獲取插入的位置的元素,而ArrayList的主要代價在于可能有額外的擴容和大量元素的移動
  • 小結:對于簡單的元素添加,如果事先知道元素的個數,采用預置大小的ArrayList要更好,反之可以考慮LinkedList

remove:

刪除操作中,LinkedList更有優勢,一旦找到了刪除的節點,它僅僅只是斷開鏈接關系,并沒有元素復制移動的行為,而ArrayList不可避免的又要進行元素的移動。

遍歷:

按照索引遍歷,ArrayList是更好的選擇,按照Iterator遍歷,也許LinkedList會好一些。

反過來理解,如果是ArrayList,Iterator和index遍歷都可以,如果是LinkedList,優先選擇Iterator比較好。

其他

  • 對于ArrayList和LinkedList, size() isEmpty() 這些都是常量計算,代價很低
  • LinkedList實現了更多的方法,包括Queue,所以它也是一種隊列
  • 對于少量得元素臨時存儲,優先考慮ArrayList
  • 頻繁的添加和刪除操作的時候,優先使用LinkedList
  • 頻繁的按索引訪問遍歷,優先使用ArrayList

轉自:http://www.xeclipse.com/?p=1324

?

轉載于:https://blog.51cto.com/ak1ng/1137201

總結

以上是生活随笔為你收集整理的ArrayList与LinkedList的比较的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。