偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

ArrayList和Arrayst有何不同,你知道嗎?

開發(fā) 前端
對于發(fā)布和林肯發(fā)布來說,它們都是list下面的兩個實線類,但有三點不同。底層的實線數據結構不同,隨機訪問的性能不同,以及插入和刪除的性能不同。在隨機訪問較多、詢問較多的場景下,可以選擇使用發(fā)布。

ArrayList和ArrayList有何不同?大家好,我是磊哥,一位經驗豐富的程序員。今天我們來探討一個常見的面試問題——ArrayList和ArrayList有何不同?

首先需要說明的是,ArrayList和LinkedList都是Java中l(wèi)ist接口的實現類。我們可以在代碼中找到這個接口,并看到其中有多個實現類,其中之一是ArrayList。這個類的中文意思是“數組列表”,它是一個數組,數組中的元素構成了一個列表。ICOL the list就是列表的意思,好,ok,它們的外觀如何?

可以看下圖,上面是一個數組,這些數組連在一起就形成了一個ArrayList。下面這個圖中的節(jié)點通過指針連接在一起,形成了一個 ArrayList。這就是它們的外觀。

它們有什么不同呢?它們的不同主要體現在以下三個方面。

·第一點是底層實現不同。ArrayList是基于動態(tài)數組實現的,而LinkedList是基于鏈表實現的。這是它們的不同之處。

·第二點是隨機訪問的性能不同。 ArrayList從下標為零開始,下標為一,下標為二。當訪問下標為二的元素時,可以直接取到下標為三的元素,因此它的時間復雜度是L1。而ArrayLiL則不同。它在進行隨機訪問時只能從根節(jié)點開始,因此時間復雜度為O(n)。因此,在隨機訪問方面,ArrayLiL的性能不如ArrayList。

·第三點不同是它們的插入和刪除性能不同。由于ArrayLiL是動態(tài)數組,當刪除下標為零的元素時,后面的元素需要向前移動,因為老大不在了,老二代替老大的位置,老三代替老二的位置,后面所有的元素都需要向前移動。因此,除了添加和刪除的性能之外,插入和刪除的性能也一樣。

如果添加元素時添加到了第一個位置,那么其他位置的元素也需要向后移動,原來的第一個位置也需要向后移動。因此,對于添加和刪除操作,ArrayLiL的性能也不如ArrayList。

released的速度相對較慢,但對于linkthelist來說則不是如此。如果要刪除頭結點,只需將其刪除即可。這樣,后面的所有節(jié)點都不會受到影響,因為它們的位置和指針都不會發(fā)生變化,只是頭節(jié)點不見了而已。如果第二個節(jié)點不見了,也只需要將其刪除,然后將第一個節(jié)點的下一個指針指向原來的第三個位置即可。這樣做的過程中,只需要修改一個位置。

而對于released來說,則需要將后面的所有元素都向前移動,因此在插入和刪除操作上,lincolnlist的性能要優(yōu)于released。這是它們三者之間的主要區(qū)別??梢詫⑺鼈円暈槠椒智锷膬煞N實現方式,一個是數組,一個是列表。在隨機訪問方面,connect更加高效。在刪除和添加操作方面,connect和the list的性能都更好,因此兩者可以打平。

這篇文章介紹了基本的語法和使用方法,讀者可以通過添加方法來創(chuàng)建released,并通過at方法進行添加。當然,也可以使用泛型,以確保添加的元素只能是And。發(fā)布的使用方式與發(fā)布非常相似,也是一種泛型結構。

發(fā)型的定義方式仍然是通過某種方法進行添加的,最后進行打印。為什么?因為它們的方法非常相似,使用度達到了90%。它們都來自于list的基礎行為,比如添加,就是通過at實現的。只是在發(fā)布和林肯發(fā)布下面有不同的實現方式。這就是它們兩個技術的使用方式。

簡單總結一下,對于發(fā)布和林肯發(fā)布來說,它們都是list下面的兩個實線類,但有三點不同。底層的實線數據結構不同,隨機訪問的性能不同,以及插入和刪除的性能不同。在隨機訪問較多、詢問較多的場景下,可以選擇使用發(fā)布。如果在添加和刪除頻率較高的場景下,可以選擇使用林肯發(fā)布,今天的內容到此結束。記得一鍵私聯,下期再見,拜拜。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2024-03-26 00:10:08

預測AI泛化

2023-04-26 10:21:04

2022-03-13 18:53:31

interfacetypeTypeScript

2024-05-27 00:00:00

localhostIPv6IPv4

2025-01-07 08:17:37

SQLEM數據庫所

2022-09-14 08:11:06

分頁模糊查詢

2023-04-26 10:06:08

RocketMQ屬性Consumer

2024-10-22 09:59:36

虛擬化容器化系統(tǒng)

2024-01-01 08:25:53

ViewSurface框架

2022-06-30 13:41:44

SQL 語句group by

2022-01-09 23:20:50

手機國產蘋果

2023-12-07 07:08:09

Angular函數

2021-02-06 21:57:40

Debug模式Release

2023-12-12 08:41:01

2024-04-30 09:02:48

2023-12-20 08:23:53

NIO組件非阻塞

2022-01-05 11:40:36

Go特性語言

2024-05-28 09:12:10

2024-04-07 00:00:00

ESlint命令變量

2022-08-02 06:55:35

移動設備Android
點贊
收藏

51CTO技術棧公眾號