Skillnad mellan ArrayList och LinkedList

Huvudskillnad - ArrayList vs Länkad lista
 

Samlingar är användbara för att lagra data. I en normal array är arraystorleken fixerad. Ibland är det nödvändigt att skapa arrays som kan växa efter behov. Programmeringsspråk som Java har samlingar. Det är ett ramverk med en uppsättning klasser och gränssnitt. Det fungerar som en behållare för en grupp av element. Samlingar tillåter att lagra, uppdatera, hämta uppsättning element. Det hjälper till att arbeta med datastrukturer som listor, uppsättningar, träd och kartor. Listan är ett gränssnitt för samlingsramen. ArrayList och LinkedList är två klasser i samlingsramen. De implementerar samlingsgränssnittet och listgränssnittet. I denna artikel diskuteras skillnaden mellan ArrayList och LinkedList. ArrayList är en klass som utökar AbstractList och implementerar listgränssnittet, som internt använder en dynamisk array för att lagra dataelement. LinkedList är en klass som utökar AbstractSequentialList och implementerar List, Deque och Que-gränssnitt, som internt använder en dubbelkopplad lista för att lagra dataelement. Det är nyckelskillnad mellan ArrayList och LinkedList.

INNEHÅLL

1. Översikt och nyckelskillnad
2. Vad är ArrayList
3. Vad är LinkedList
4. Likheter mellan ArrayList och LinkedList
5. Jämförelse vid sida vid sida - ArrayList vs LinkedList i tabellform
6. Sammanfattning

Vad är ArrayList?

ArrayList-klassen används för att skapa dynamiska arrays. Till skillnad från en normal array är storleken på en dynamisk array inte fixad. Ett objekt skapat med ArrayList-klassen får lagra en uppsättning element i listan. Kapaciteten ökar automatiskt, så programmeraren kan lägga till element i listan. ArrayList-klassen utökar klassen AbstractList som implementerar listgränssnittet. Därför kan metoderna i listgränssnittet användas av ArrayList. För att komma åt element används metoden get (). Metoden add () kan användas för att lägga till element i listan. Metoden remove () används för att ta bort ett element ur listan. Se nedan programmet.

Figur 01: Exempel på ArrayList

Enligt ovanstående program skapas ett objekt av ArrayList. Med add-metoden kan element läggas till dynamiskt. Elementen "A", "B", "C", "D" och "E" läggs till med tillsatsmetoden. Ta bort-metoden används för att ta bort ett element från listan. När du passerar 4 till borttagningsmetoden tas brevet i det 4: e indexet som är "E" bort från listan. När iterering genom listan använder for loop, skrivs bokstäverna A, B, C och D.

Vad är LinkedList?

Liksom ArrayList används LinkedList för att lagra dataelement dynamiskt. Ett objekt skapat med hjälp av LinkedList-klassen får lagra en uppsättning element i listan. Kapaciteten ökar automatiskt, så programmeraren kan lägga till element i listan. Det använder internt dubbelt länkad lista för att lagra data. I en dubbelkopplad lista lagras data som noder. Varje nod innehåller två länkar. Den första länken pekar på föregående nod. Nästa länk pekar på nästa nod i sekvensen.

Klassen LinkedList utökar klassen AbstractSequentialList och implementerar listgränssnittet. Därför kan metoderna för List-gränssnittet användas av LinkedList. Metoden get () kan användas för att komma åt element i listan. Metoden add () kan användas för att lägga till element i listan. Metoden remove () används för att ta bort ett element ur listan. Se nedan programmet.

Figur 02: Exempel med länklistan

Enligt ovanstående program skapas ett objekt av LinkedList. Med add-metoden kan element läggas till dynamiskt. Elementen "A", "B", "C", "D" och "E" läggs till med tillsatsmetoden. Ta bort-metoden används för att ta bort ett element från listan. När du passerar 4 till borttagningsmetoden tar brevet i det 4: e indexet som är "E" bort från listan. När iterering använder for loop, skrivs bokstäverna A, B, C och D.

Vad är likheterna mellan ArrayList och LinkedList?

  • Både ArrayList och LinkedList implementerar Lista gränssnitt.
  • Både ArrayList och LinkedList kan innehålla dubbla element.
  • Både ArrayList och LinkedList bibehåller inläggsordern.

Vad är skillnaden mellan ArrayList och LinkedList?

ArrayList vs LinkedList

ArrayList är en klass som utökar AbstractList och implementerar listgränssnittet som internt använder en dynamisk array för att lagra dataelement. LinkedList är en klass som utökar AbstractSequentialList och implementerar List, Deque, Que-gränssnitt, som internt använder en dubbelkopplad lista för att lagra dataelement.
 Åtkomst till element
Åtkomst till element i ArrayList är snabbare än en LinkedList. Att komma åt elementen i LinkedList är långsammare än en ArrayList.
Manipulerande element
Manipulera element i ArrayList är långsammare än en LinkedList. Manipulera element i LinkedList är snabbare än en ArrayList.
 Beteende
ArrayList fungerar som en lista. LinkedList fungerar som en lista och en kö.

Sammanfattning - ArrayList vs Länkad lista

Samlingsramverket tillåter att arbeta med datastrukturer som listor, träd, kartor och uppsättningar. Listan är ett gränssnitt för insamlingsramen. Denna artikel diskuterade skillnaden mellan ArrayList och LinkedList. ArrayList är en klass som utökar AbstractList och implementerar listgränssnittet som internt använder en dynamisk array för att lagra dataelement. LinkedList är en klass som utökar AbstractSequentialList och implementerar List, Deque, Que-gränssnitt, som internt använder en dubbelkopplad lista för att lagra dataelement. Det är skillnaden mellan ArrayList och LinkedList.

Referens:

1.Introduktion till länklistan | Datastrukturhandledning | Studytonight. Tillgänglig här
2. "LinkedList i Java - javatpoint.",Punkten, Tillgänglig här
3. "Java ArrayList klass - javatpoint." Punkten, Tillgänglig här