Verskil tussen ArrayList en LinkedList

INHOUDSOPGAWE:

Verskil tussen ArrayList en LinkedList
Verskil tussen ArrayList en LinkedList

Video: Verskil tussen ArrayList en LinkedList

Video: Verskil tussen ArrayList en LinkedList
Video: 14.5 LinkedList vs ArrayList in Java 2024, November
Anonim

Sleutelverskil – ArrayList vs LinkedList

Versamelings is nuttig vir die stoor van data. In 'n normale skikking is die skikkinggrootte vas. Soms is dit nodig om skikkings te skep wat kan groei soos nodig. Programmeringstale soos Java het versamelings. Dit is 'n raamwerk met 'n stel klasse en koppelvlakke. Dit dien as 'n houer vir 'n groep elemente. Versamelings laat toe om stel elemente te stoor, op te dateer, te herwin. Dit help om met datastrukture soos lyste, stelle, bome en kaarte te werk. Die lys is 'n koppelvlak van versamelingsraamwerk. ArrayList en LinkedList is twee klasse in die versamelingsraamwerk. Hulle implementeer die versameling-koppelvlak en Lys-koppelvlak. Hierdie artikel bespreek die verskil tussen ArrayList en LinkedList. ArrayList is 'n klas wat die AbstractList uitbrei en die List-koppelvlak implementeer, wat intern 'n dinamiese skikking gebruik om data-elemente te stoor. LinkedList is 'n klas wat die AbstractSequentialList uitbrei en Lys-, Deque- en Queue-koppelvlakke implementeer, wat intern 'n dubbelgekoppelde lys gebruik om data-elemente te stoor. Dit is die belangrikste verskil tussen ArrayList en LinkedList.

Wat is ArrayList?

Die ArrayList-klas word gebruik om dinamiese skikkings te skep. Anders as 'n normale skikking, is die grootte van 'n dinamiese skikking nie vas nie. 'n Voorwerp wat met die ArrayList-klas geskep is, word toegelaat om 'n stel elemente in die lys te stoor. Die kapasiteit verhoog outomaties, sodat die programmeerder elemente by die lys kan voeg. Die ArrayList-klas brei die AbstractList-klas uit wat List-koppelvlak implementeer. Daarom kan die metodes van die Lys-koppelvlak deur ArrayList gebruik word. Om toegang tot elemente te verkry, word die get() metode gebruik. Die add() metode kan gebruik word om elemente by die lys te voeg. Die remove() metode word gebruik om 'n element uit die lys te verwyder. Verwys na die onderstaande program.

Verskil tussen ArrayList en LinkedList
Verskil tussen ArrayList en LinkedList
Verskil tussen ArrayList en LinkedList
Verskil tussen ArrayList en LinkedList

Figuur 01: Voorbeeld van ArrayList

Volgens bogenoemde program word 'n objek van ArrayList geskep. Deur die add-metode te gebruik, kan elemente dinamies bygevoeg word. Die elemente "A", "B", "C", "D" en "E" word bygevoeg deur die add-metode te gebruik. Die verwyderingsmetode word gebruik om 'n element uit die lys te verwyder. Wanneer 4 na die verwyderingsmetode oorgedra word, word die letter in die 4de indeks wat "E" is, van die lys verwyder. Wanneer u deur die lys herhaal met die for-lus, sal die letters A, B, C en D druk.

Wat is Gekoppelde Lys?

Soortgelyk aan ArrayList, word die LinkedList gebruik om data-elemente dinamies te stoor. 'n Voorwerp wat met behulp van die LinkedList-klas geskep is, word toegelaat om 'n stel elemente in die lys te stoor. Die kapasiteit verhoog outomaties, sodat die programmeerder elemente by die lys kan voeg. Dit gebruik intern dubbelgekoppelde lys om data te stoor. In 'n dubbelgekoppelde lys word die data as nodusse gestoor. Elke nodus bevat twee skakels. Die eerste skakel wys na die vorige nodus. Die volgende skakel wys na die volgende nodus in die ry.

Die LinkedList-klas brei die AbstractSequentialList-klas uit en implementeer die List-koppelvlak. Daarom kan die metodes van Lys-koppelvlak deur die LinkedList gebruik word. Die get() metode kan gebruik word om toegang tot elemente van die lys te verkry. Die add() metode kan gebruik word om elemente by die lys te voeg. Die remove() metode word gebruik om 'n element uit die lys te verwyder. Verwys na die onderstaande program.

Sleutelverskil tussen ArrayList en LinkedList
Sleutelverskil tussen ArrayList en LinkedList
Sleutelverskil tussen ArrayList en LinkedList
Sleutelverskil tussen ArrayList en LinkedList

Figuur 02: Voorbeeld met LinkedList

Volgens bogenoemde program word 'n objek van LinkedList geskep. Deur die add-metode te gebruik, kan elemente dinamies bygevoeg word. Die elemente "A", "B", "C", "D" en "E" word bygevoeg deur die add-metode te gebruik. Die verwyderingsmetode word gebruik om 'n element uit die lys te verwyder. Wanneer 4 na die verwyderingsmetode oorgedra word, word die letter in die 4de indeks wat "E" is, van die lys verwyder. Wanneer die for-lus herhaal word, sal die letters A, B, C en D gedruk word.

Wat is die ooreenkomste tussen ArrayList en LinkedList?

  • Beide ArrayList en LinkedList implementeer Lys-koppelvlak.
  • Beide ArrayList en LinkedList kan duplikaatelemente bevat.
  • Beide ArrayList en LinkedList handhaaf die invoegvolgorde.

Wat is die verskil tussen ArrayList en LinkedList?

ArrayList vs LinkedList

ArrayList is 'n klas wat die AbstractList uitbrei en die List-koppelvlak implementeer wat intern 'n dinamiese skikking gebruik om data-elemente te stoor. LinkedList is 'n klas wat die AbstractSequentialList uitbrei en Lys, Deque, Queue-koppelvlakke implementeer, wat intern 'n dubbelgekoppelde lys gebruik om data-elemente te stoor.
Toegang tot elemente
Toegang tot elemente van ArrayList is vinniger as van 'n gekoppelde lys. Toegang tot elemente van LinkedList is stadiger as van 'n ArrayList.
Manipulerende elemente
Die manipulering van elemente van ArrayList is stadiger as van 'n gekoppelde lys. Die manipulering van elemente van LinkedList is vinniger as van 'n ArrayList.
Gedrag
ArrayList tree as 'n lys op. LinkedList tree op as 'n lys en 'n tou.

Opsomming – ArrayList vs LinkedList

Die versamelingsraamwerk laat dit toe om met datastrukture soos lyste, bome, kaarte en stelle te werk. Die lys is 'n koppelvlak van versamelingsraamwerk. Hierdie artikel het die verskil tussen ArrayList en LinkedList bespreek. ArrayList is 'n klas wat die AbstractList uitbrei en die List-koppelvlak implementeer wat intern 'n dinamiese skikking gebruik om data-elemente te stoor. LinkedList is 'n klas wat die AbstractSequentialList uitbrei en Lys, Deque, Queue-koppelvlakke implementeer, wat intern 'n dubbelgekoppelde lys gebruik om data-elemente te stoor. Dit is die verskil tussen ArrayList en LinkedList.

Aanbeveel: