日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java ArrayList与LinkedList数据结构和特点

發布時間:2024/9/27 java 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java ArrayList与LinkedList数据结构和特点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java ArrayList與LinkedList數據結構和特點

1. ArrayList

數據結構:

  • ArrayList低層是實現的是一個Object類型的數組(空間連續,類型相同)
  • 當我們調用ArrayList無參構造方法,將會創建一個Object類型的**空**數組
  • 當我們第一次添加元素的時候,數組的長度會被修改為10
  • 后續添加元素,如果數組長度不夠則擴容,擴容為原數組的1.5倍
  • 特點:有序,可重復,允許元素為null

  • 查詢,修改快:可以通過下標一次查詢定位元素,所以效率高
  • 增加,刪除慢:數組的空間是連續的,移動某個元素時,其余大部分數組也會移動,所以效率低
  • 線程不安全
  • 2.LinkedList

    數據結構:

  • LinkedList低層是雙向鏈表,鏈表中的每一個元素稱呼為一個Node(節點),每個Node包含三部分:上個元素的引用、下一個元素的引用、當前元素本身
  • 特點:有序,空間不連續,允許元素為null,允許重復,線程不安全

  • 增加,刪除快:不需要移動元素(改變引用指向),也不需要擴容(改變引用指向),因此效率較高
  • 查詢,修改慢:因為鏈表不能直接定位到某個元素,必須找到相鄰的元素,所以查詢效率低,同理修改效率也低
  • 注意:get(int index)方法中,對下標查詢做了優化,如果是大于等于長度,則從后往前找,否則從前往后找,以提高查詢效率,但是依然很慢

    總結

    以上是生活随笔為你收集整理的Java ArrayList与LinkedList数据结构和特点的全部內容,希望文章能夠幫你解決所遇到的問題。

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