Java ArrayList與LinkedList數據結構和特點

Java ArrayList與LinkedList數據結構和特點

1. ArrayList

數據結構:

  1. ArrayList低層是實現的是一個Object類型的數組(空間連續,類型相同)
  2. 當我們調用ArrayList無參構造方法,將會創建一個Object類型的****數組
  3. 當我們第一次添加元素的時候,數組的長度會被修改為10
  4. 后續添加元素,如果數組長度不夠則擴容,擴容為原數組的1.5倍

特點:有序,可重復,允許元素為null

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

2.LinkedList

數據結構:

  1. LinkedList低層是雙向鏈表,鏈表中的每一個元素稱呼為一個Node(節點),每個Node包含三部分:上個元素的引用、下一個元素的引用、當前元素本身

特點:有序,空間不連續,允許元素為null,允許重復,線程不安全

  1. 增加,刪除快:不需要移動元素(改變引用指向),也不需要擴容(改變引用指向),因此效率較高
  2. 查詢,修改慢:因為鏈表不能直接定位到某個元素,必須找到相鄰的元素,所以查詢效率低,同理修改效率也低

注意:get(int index)方法中,對下標查詢做了優化,如果是大于等于長度,則從后往前找,否則從前往后找,以提高查詢效率,但是依然很慢

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529265.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529265.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529265.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

多線程 循環 鎖_大多數人還不清楚的iOS多線程

你不知道的的 iOS 多線程程序員用有限的生命去追求無限的知識。有言在先首先我不是故意要做標題黨的,也不是我要炒冷飯,我只是想換個姿勢看多線程,本文大部分內容在分析如何造死鎖,奈何功力尚淺,然而再淺,也…

Java HashMap與Hashtable數據結構和特點+HashSet簡述

Java HashMap與Hashtable數據結構和特點HashSet簡述 1.HashMap HashMap就是基于數組和鏈表的數據結構:JDK1.7使用 數組單向鏈表;JDK1.8使用 數組單向鏈表紅黑樹 HashMap有兩個重要的參數: 一個是負載因子 0.75:表示數組使用率達…

aj6 stamps storm_親友限定的 AJ 6 要發了?3 月好鞋發售清單 for girls

原標題:親友限定的 AJ 6 要發了?3 月好鞋發售清單 for girls🌸🌸🌸Air Jordan 1 Low Slip “Chicago”Color:Varsity Red/Black/WhiteStyle Code:BQ8462-601Price:$110adidas WMNS U…

學校為什么要單位接收函_學校、小區運動場為什么要選擇塑膠跑道

隨著人們生活水平的不斷提高,科技的日新月異,各行各業都向著更加健康環保安全舒適的方向邁進。就拿小區、學校的運動場所地坪為例,傳統的“沙土跑道”已經被運動塑膠跑道所替代。那么運動場為什么會選擇塑膠跑道呢? 塑膠跑道又稱全…

java中常見的專業術語單詞縮寫,看你認識幾個

java中常見的專業術語單詞縮寫,看你認識幾個 單詞全稱單詞縮寫中文意思備注Garbage CollectionGC垃圾回收Object Oriented ProgrammingOOP面向對象程序設計Document Object ModelDOM文檔對象模型Browser Object ModelBOM游覽器對象模型uniform resource locatorurl…

pitstop插件使用說明_【學員分享】程序員效率神器,最常用VIM插件安裝大全

相信大家多次被推薦用vim作為編輯程序,知道vim編輯有很多優點,但是vim初始界面太原始了,安裝了之后只能用來編輯,如果要運行就需要退出去運行,麻煩死了。回想用現成的IDE是多么的舒服。但是為了更好的學習,…

JVM思維導圖、正則表達式符號圖、企業內部開發流程圖

JVM思維導圖、正則表達式符號圖、企業內部開發流程圖 1.JVM思維導圖: 2.正則表達式符號圖: 3.企業內部開發流程圖:

蕭縣機器人_全國總決賽第一名!蕭縣楊樓的這位學生厲害了

 提示:點擊上方"蕭縣關注"↑免費訂閱本刊點擊上方關注我們,免費訂閱更多精彩內容&…

關于JSP頁面無法加載css,游覽器訪問jsp頁面樣式未生效導致亂序

關于JSP頁面無法加載css,游覽器訪問jsp頁面樣式未生效導致亂序 1.修改自己過濾器中對編碼格式的修改 如圖: 代碼如下: public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOE…

將視圖轉為image_JavaScript二進制數組(2)TypedArray視圖

ArrayBuffer對象作為內存區域可以存放多種類型的數據。同一段內存,不同數據有不同的解讀方式,這種解讀方式稱為“視圖(view)”。ArrayBuffer有兩種類型的視圖,一種是類型化數組視圖(TypedArray)…

八大基本數據類型、數組和包裝類默認值

八大基本數據類型、數組和包裝類默認值 1.八大基本數據類型 Java八種基本數據類型總結序號數據類型大小/字節封裝類默認值可表示數據范圍1byte1Byte0-128~1272short2Short0-32768~327673int4Integer0-2147483648~21474836474long8Long0-9223372036854775808~9223372036854775…

解決IDEA中maven工程的jsp、jstl依賴導入了 ,但是 jsp頁面的uri卻不提示(手動輸上也報紅)

解決IDEA中maven工程的jsp、jstl依賴導入了 ,但是 jsp頁面的uri卻不提示(手動輸上也報紅) 出現原因:idea內有緩存 解決辦法:File --> Invalidate Caches / Restart… --> lnvalidate and Restart idea版本&#…

空格 過濾多個_CAD選擇過濾器的運算符如何使用?

選擇過濾器FILTER在CAD早期版本中是擴展工具的一個功能,到了高版本變成標配的功能,但在浩辰CAD的菜單或工具面板中我還找到選擇過濾器的命令。浩辰CAD面板、右鍵菜單和特性面板倒是都提供了快速選擇的功能,快速選擇功能應該是借鑒選擇過濾器開…

Java中各種常見的生命周期

Java中各種常見的生命周期 1.Spring bean的生命周期? ? 1、Spring 容器根據配置中的 bean 定義中實例化 bean。 ? 2、Spring 使用依賴注入填充所有屬性,如 bean 中所定義的配置。 ? 3、如果 bean 實現 BeanNameAware 接口,則工廠通過傳…

各層作用_終于弄明白了 Singleton,Transient,Scoped 的作用域是如何實現的

一:背景1. 講故事前幾天有位朋友讓我有時間分析一下 aspnetcore 中為什么向 ServiceCollection 中注入的 Class 可以做到 Singleton,Transient,Scoped,挺有意思,這篇就來聊一聊這一話題,自從 core 中有了 S…

權限管理系統_在Gitee狂攬11K Star!這個SpringCloud的權限管理系統你必須知道

SpringCloud 大家都很熟悉了,它作為一套完整的微服務解決方案,廣受 Java 開發者們的好評, 今天就為大家介紹一款 Gitee 上的王牌項目,基于 SpringCloud 的權限管理系統——Pig。項目名稱:Pig項目作者:pig4c…

導出排除的表_excel拆分實例:如何快速制作考勤統計分析表

編按:面對新的統計需求,很多人會一下變懵,不知如何辦。如果涉及的統計有一千多行數據,哭的心思都有了:什么時候才能下班喲!今天老菜鳥通過考勤統計分析表實例分享自己面對新統計需求的解決方法:…

rds 如何學習數據庫_如何將本地數據庫遷移到云數據庫 RDS 上?

使用數據傳輸服務 ( DTS ) 將本地數據庫遷移到 阿里云的云數據庫 RDS ,可以實現應用不停服務的情況下,平滑完成數據庫的遷移工作。接下來我們將學習下如何使用 DTS 將本地數據庫遷移到 RDS 上。背景DTS 支持 SQL Server 數據結構遷移和全量遷移。DTS 支持…

arm ida 偽代碼 安卓 符號表_IDA 制作 sig文件 gdb 導入符號表

背景最近比賽遇到了一個題目, 32位靜態鏈接去符號了. 所以用IDA分析的時候很多libc的庫函數都無法識別, 就需要在 IDA 中引入 sig 文件. 從而可以識別諸如 read, write, malloc, free 這些庫函數. 雖然網上已經有很多制作好的sig文件, 但是還是應該學會自己制作sig文件以備不時…

lua如何打印行號_LUA教程錯誤信息和回跟蹤(Tracebacks)-34

雖然你可以使用任何類型的值作為錯誤信息,通常情況下,我們使用字符串來描述遇到的錯誤。如果遇到內部錯誤(比如對一個非table的值使用索引下標訪問)Lua將自己產生錯誤信息,否則Lua使用傳遞給error函數的參數作為錯誤信息。不管在什么情況下&a…