陣列表(arraylist)和雙鏈表(linkedlist)的區別

集合對於儲存資料很有用。在普通陣列中,陣列大小是固定的。有時需要建立可以根據需要增長的陣列。Java等程式語言有集合。它是一個包含一組類和介面的框架。它充當一組元素的容器。集合允許儲存、更新、檢索元素集。它有助於處理資料結構,如列表、集合、樹和地圖。列表是集合框架的一個介面。ArrayList和LinkedList是collections框架中的兩個類。它們實現了集合介面和列表介面。本文討論Arr...

關鍵區別–arraylist與linkedlist

集合對於存儲數據很有用。在普通數組中,數組大小是固定的。有時需要創建可以根據需要增長的陣列。Java等編程語言有集合。它是一個包含一組類和接口的框架。它充當一組元素的容器。集合允許存儲、更新、檢索元素集。它有助於處理數據結構,如列表、集合、樹和地圖。列表是集合框架的一個接口。ArrayList和LinkedList是collecti***框架中的兩個類。它們實現了集合接口和列表接口。本文討論ArrayList和LinkedList之間的區別。ArrayList是一個擴展AbstractList並實現List接口的類,該接口在內部使用動態數組來存儲數據元素。LinkedList是一個擴展AbstractSequentialList並實現List、Deque和Queue接口的類,這些接口在內部使用雙鏈接列表來存儲數據元素。這就是ArrayList和LinkedList之間的關鍵區別。

目錄

1. 概述和主要區別
2. 什麼是ArrayList
3. 什麼是LinkedList
4. ArrayList和LinkedList之間的相似性
5. 並列比較——ArrayList與LinkedList以表格形式顯示
6. 摘要

什麼是數組表(arraylist)?

ArrayList類用於創建動態數組。與常規數組不同,動態數組的大小不固定。使用ArrayList類創建的對象允許在列表中存儲一組元素。容量自動增加,這樣程序員就可以向列表中添加元素。ArrayList類擴展了實現列表接口的AbstractList類。因此,ArrayList可以使用列表接口的方法。要訪問元素,使用get()方法。add()方法可用於向列表中添加元素。方法用於從列表中刪除元素。請參閱以下程序。

數組表(arraylist)和雙鏈表(linkedlist)的區別

圖01:ArrayList示例

根據上面的程序,創建了一個ArrayList對象。使用add方法,可以動態地添加元素。元素“A”、“B”、“C”、“D”和“E”是使用add方法添加的。remove方法用於從列表中刪除元素。將4傳遞給remove方法時,第4個索引中的字母“E”將從列表中移除。當使用for循環遍歷列表時,將打印字母A、B、C和D。

什麼是雙鏈表(linkedlist)?

與ArrayList類似,LinkedList用於動態存儲數據元素。允許使用LinkedList類創建的對象在列表中存儲一組元素。容量會自動增加,因此程序員可以向列表中添加元素。它內部使用雙鏈表來存儲數據。在雙鏈接列表中,數據作為節點存儲。每個節點包含兩個鏈接。第一個鏈接指向上一個節點。下一個鏈接指向序列中的下一個節點。

LinkedList類擴展AbstractSequentialList類並實現List接口。因此,LinkedList可以使用List接口的方法。get()方法可用於訪問列表的元素。add()方法可用於將元素添加到列表中。remove()方法用於從列表中移除元素。參考以下程序。

數組表(arraylist)和雙鏈表(linkedlist)的區別

圖02:LinkedList示例

根據上述程序,創建LinkedList對象。使用add方法,可以動態地添加元素。元素“A”、“B”、“C”、“D”和“E”是使用add方法添加的。remove方法用於從列表中刪除元素。將4傳遞給remove方法時,第4個索引中的字母“E”將從列表中刪除。當使用for循環迭代時,將打印字母A、B、C和D。

數組表(arraylist)和雙鏈表(linkedlist)的共同點

  • ArrayList和LinkedList都實現了列表接口。
  • ArrayList和LinkedList都可以包含重複的元素。
  • ArrayList和LinkedList都維護**順序。

數組表(arraylist)和雙鏈表(linkedlist)的區別

ArrayList與LinkedList
ArrayList是一個擴展AbstractList並實現List接口的類,該接口在內部使用動態數組來存儲數據元素。 LinkedList是一個擴展AbstractSequentialList並實現List、Deque、Queue接口的類,後者在內部使用雙鏈接列表來存儲數據元素。
訪問元素
訪問ArrayList的元素比LinkedList的快。 訪問LinkedList的元素比訪問ArrayList慢。
操縱元素
操作ArrayList的元素比LinkedList慢。 操作LinkedList的元素比ArrayList快。
行為
ArrayList作為一個列表執行。 LinkedList作為列表和隊列執行。

總結 - 數組表(arraylist) vs. 雙鏈表(linkedlist)

集合框架允許使用數據結構,如列表、樹、地圖和集合。列表是集合框架的一個接口。本文討論了ArrayList和LinkedList之間的區別。ArrayList是一個擴展AbstractList並實現List接口的類,該接口在內部使用動態數組來存儲數據元素。LinkedList是一個擴展AbstractSequentialList並實現List、Deque、Queue接口的類,後者在內部使用雙鏈接列表來存儲數據元素。這就是ArrayList和LinkedList之間的區別。

引用
  • 發表於 2020-10-19 11:43
  • 閱讀 ( 46 )
  • 分類:科技

你可能感興趣的文章

dna-rna雜交(dna-rna hybrids)和脫氧核糖核酸(dsdna)的區別

...核酸(dsdna)的共同點 DNA-RNA雜交和dsDNA是核酸。 DNA-RNA雜交和雙鏈DNA都是雙鏈的,由兩條互補的多核苷酸鏈組成。 DNA-RNA雜交體和雙鏈DNA的兩條鏈透過氫鍵連線。 dna-rna雜交(dna-rna hybrids)和脫氧核糖核酸(dsdna)的區別 DNA-RNA雜交是由一...

  • 發佈於 2020-09-15 01:31
  • 閲讀 ( 53 )

解旋酶(helicase)和拓撲異構酶(topoisomerase)的區別

...拓撲異構酶在DNA解旋中都是必不可少的。解旋酶透過破壞雙鏈DNA中核苷酸鹼基對之間的氫鍵將雙鏈DNA分離成單鏈。相反,拓撲異構酶透過切斷一條或兩條DNA的磷酸主鏈來解開DNA的扭曲並減輕DNA的超螺旋性質。 目錄 1. 概述和主要...

  • 發佈於 2020-10-15 23:33
  • 閲讀 ( 159 )

單鏈dna(ssdna)和脫氧核糖核酸(dsdna)的區別

...、鳥嘌呤(G)、胞嘧啶(C)和胸腺嘧啶(T)。DNA主要以雙鏈螺旋形式存在。但是,有些生物,特別是病毒,擁有單鏈DNA。 目錄 1. 概述和主要區別 2. 什麼是ssDNA 3. 什麼是dsDNA 4. ssDNA與dsDNA的相似性 5. 並列比較——單鏈dna與dsDNA...

  • 發佈於 2020-10-16 03:33
  • 閲讀 ( 70 )

輝石(pyroxene)和角閃石(amphibole)的區別

...,輝石是一種含單鏈SiO3四面體的肌酸鹽,而角閃石是含雙鏈SiO4四面體的肌酸鹽形式。 肌酸鹽是矽酸鹽礦物的一種形式。我們也叫它們“鏈狀矽酸鹽”。這些礦物具有與SiO3或Si4O11互鎖的矽酸鹽四面體鏈。根據礦物中存在的鏈的...

  • 發佈於 2020-10-17 18:33
  • 閲讀 ( 61 )

科斯米德(cosmid)和噬菌體(phagemid)的區別

...起源。從源於噬菌體的f1複製提取物。 噬菌體能複製單鏈和雙鏈DNA。複製既可以作為質粒進行獨立複製,也可以包裝成噬菌體顆粒,最終感染細菌宿主大腸桿菌。當感染大腸桿菌細胞時,f1噬菌體需要菌毛的存在。因此,性菌毛...

  • 發佈於 2020-10-18 19:56
  • 閲讀 ( 42 )

列表(list)和設定(set)的區別

...那麼元素1將位於元素2之前。 圖01:列表和設定 ArrayList,LinkedList,Vector是一些實現List的類。在ArrayList中,訪問元素的速度很快,但**和刪除速度較低。ArrayList不是執行緒安全的。從多個執行緒訪問同一個ArrayList可能不會得到相...

  • 發佈於 2020-10-19 09:09
  • 閲讀 ( 50 )

斷裂(single strand break)和雙股斷裂(double strand break)的區別

...質中DNA序列的改變。DNA損傷有多種型別。其中,單鏈斷裂和雙鏈斷裂是引起DNA化學結構改變的兩種DNA損傷型別。單鏈斷裂是指在雙鏈中的一條鏈上發生的DNA損傷,因此在單鏈斷裂DNA損傷中只有一條鏈缺陷。雙鏈斷裂是發生在兩條...

  • 發佈於 2020-10-19 18:39
  • 閲讀 ( 50 )

原核(prokaryotic)和真核拓撲異構酶(eukaryotic topoisomerase)的區別

...構酶是原核DNA複製過程中所必需的酶。它們透過引起單鏈和雙鏈斷裂來減輕DNA超螺旋過程中的壓力。 原核拓撲異構酶的型別 Ⅰ型拓撲異構酶引起單鏈斷裂,而Ⅱ型拓撲異構酶引起雙鏈斷裂。Topo-IA、Topo-IC和反向旋轉酶是三種主...

  • 發佈於 2020-10-22 16:31
  • 閲讀 ( 50 )

通用(generic)和c中的非泛型集合#(non-generic collection in c#)的區別

...是c中的泛型集合#(generic collection in c#)? 非通用集合(如ArrayList、Queue、Stack等)可以儲存不同資料型別的元素。在獲取專案時,程式設計師應該鍵入將它們轉換為正確的資料型別。否則,它可能會導致執行時異常。通用集合類可...

  • 發佈於 2020-10-24 01:08
  • 閲讀 ( 53 )

雙鏈嵌合熒光染色(sybr green)和水解探針(taqman)的區別

雙鏈嵌合熒光染色(sybr green)和水解探針(taqman)的區別 sybrgreen和Taqman是檢測或觀察實時PCR擴增過程的兩種方法。SYBR-Green是一種基於**核酸染色染料的方法,Taqman是基於水解探針的方法。這兩種技術都是為了在PCR過程中產生熒光...

  • 發佈於 2020-10-26 21:17
  • 閲讀 ( 89 )
綠市光芒
綠市光芒

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦