Forskjellen mellom ArrayList og LinkedList

Innholdsfortegnelse:

Forskjellen mellom ArrayList og LinkedList
Forskjellen mellom ArrayList og LinkedList

Video: Forskjellen mellom ArrayList og LinkedList

Video: Forskjellen mellom ArrayList og LinkedList
Video: Разница между Core JAVA и Advanced JAVA 2024, Juli
Anonim

Nøkkelforskjell – ArrayList vs LinkedList

Samlinger er nyttige for lagring av data. I en normal matrise er matrisestørrelsen fast. Noen ganger er det nødvendig å lage matriser som kan vokse etter behov. Programmeringsspråk som Java har samlinger. Det er et rammeverk med et sett med klasser og grensesnitt. Den fungerer som en beholder for en gruppe elementer. Samlinger lar deg lagre, oppdatere, hente sett med elementer. Det hjelper å jobbe med datastrukturer som lister, sett, trær og kart. Listen er et grensesnitt for samlingsrammeverket. ArrayList og LinkedList er to klasser i samlingsrammeverket. De implementerer samlingsgrensesnittet og List-grensesnittet. Denne artikkelen diskuterer forskjellen mellom ArrayList og LinkedList. ArrayList er en klasse som utvider AbstractList og implementerer List-grensesnittet, som internt bruker en dynamisk matrise til å lagre dataelementer. LinkedList er en klasse som utvider AbstractSequentialList og implementerer List-, Deque- og Queue-grensesnitt, som internt bruker en dobbeltkoblet liste for å lagre dataelementer. Det er hovedforskjellen mellom ArrayList og LinkedList.

Hva er ArrayList?

ArrayList-klassen brukes til å lage dynamiske arrays. I motsetning til en vanlig matrise er ikke størrelsen på en dynamisk matrise fast. Et objekt opprettet med ArrayList-klassen har lov til å lagre et sett med elementer i listen. Kapasiteten øker automatisk, slik at programmereren kan legge til elementer i listen. ArrayList-klassen utvider AbstractList-klassen som implementerer List-grensesnitt. Derfor kan metodene til List-grensesnittet brukes av ArrayList. For å få tilgang til elementer brukes get()-metoden. Add()-metoden kan brukes til å legge til elementer i listen. Remove()-metoden brukes til å fjerne et element fra listen. Se programmet nedenfor.

Forskjellen mellom ArrayList og LinkedList
Forskjellen mellom ArrayList og LinkedList
Forskjellen mellom ArrayList og LinkedList
Forskjellen mellom ArrayList og LinkedList

Figur 01: Eksempel på ArrayList

I henhold til programmet ovenfor opprettes et objekt av ArrayList. Ved å bruke add-metoden kan elementer legges til dynamisk. Elementene "A", "B", "C", "D" og "E" legges til ved hjelp av add-metoden. Fjernmetoden brukes til å fjerne et element fra listen. Når du sender 4 til fjerningsmetoden, fjernes bokstaven i den fjerde indeksen som er "E" fra listen. Når du itererer gjennom listen med for-løkken, vil bokstavene A, B, C og D skrives ut.

Hva er LinkedList?

I likhet med ArrayList brukes LinkedList til å lagre dataelementer dynamisk. Et objekt opprettet med LinkedList-klassen har lov til å lagre et sett med elementer i listen. Kapasiteten øker automatisk, slik at programmereren kan legge til elementer i listen. Den bruker internt dobbeltkoblede liste for å lagre data. I en dobbeltlenket liste lagres dataene som noder. Hver node inneholder to lenker. Den første lenken peker til forrige node. Den neste lenken peker til neste node i sekvensen.

Klassen LinkedList utvider AbstractSequentialList-klassen og implementerer List-grensesnittet. Derfor kan metodene til List-grensesnittet brukes av LinkedList. Get()-metoden kan brukes for å få tilgang til elementer i listen. Add()-metoden kan brukes til å legge til elementer i listen. Remove()-metoden brukes til å fjerne et element fra listen. Se programmet nedenfor.

Nøkkelforskjell mellom ArrayList og LinkedList
Nøkkelforskjell mellom ArrayList og LinkedList
Nøkkelforskjell mellom ArrayList og LinkedList
Nøkkelforskjell mellom ArrayList og LinkedList

Figur 02: Eksempel med LinkedList

I henhold til programmet ovenfor opprettes et objekt av LinkedList. Ved å bruke add-metoden kan elementer legges til dynamisk. Elementene "A", "B", "C", "D" og "E" legges til ved hjelp av add-metoden. Fjernmetoden brukes til å fjerne et element fra listen. Når du sender 4 til fjerningsmetoden, fjernes bokstaven i den fjerde indeksen som er "E" fra listen. Når du itererer med for-løkken, vil bokstavene A, B, C og D skrives ut.

Hva er likhetene mellom ArrayList og LinkedList?

  • Både ArrayList og LinkedList implementerer listegrensesnitt.
  • Både ArrayList og LinkedList kan inneholde dupliserte elementer.
  • Både ArrayList og LinkedList opprettholder innsettingsrekkefølgen.

Hva er forskjellen mellom ArrayList og LinkedList?

ArrayList vs LinkedList

ArrayList er en klasse som utvider AbstractList og implementerer List-grensesnittet som internt bruker en dynamisk matrise for å lagre dataelementer. LinkedList er en klasse som utvider AbstractSequentialList og implementerer List, Deque, Queue-grensesnitt, som internt bruker en dobbeltlenket liste for å lagre dataelementer.
Tilgang til elementer
Å få tilgang til elementer i ArrayList er raskere enn i en LinkedList. Å få tilgang til elementer i LinkedList er tregere enn for en ArrayList.
Manipulating Elements
Manipulering av elementer i ArrayList er tregere enn i en LinkedList. Manipulering av elementer i LinkedList er raskere enn i en ArrayList.
Atferd
ArrayList opptrer som en liste. LinkedList opptrer som en liste og en kø.

Summary – ArrayList vs LinkedList

Samlingsrammeverket tillater arbeid med datastrukturer som lister, trær, kart og sett. Listen er et grensesnitt for samlingsrammeverket. Denne artikkelen diskuterte forskjellen mellom ArrayList og LinkedList. ArrayList er en klasse som utvider AbstractList og implementerer List-grensesnittet som internt bruker en dynamisk matrise til å lagre dataelementer. LinkedList er en klasse som utvider AbstractSequentialList og implementerer List, Deque, Queue-grensesnitt, som internt bruker en dobbeltkoblet liste for å lagre dataelementer. Det er forskjellen mellom ArrayList og LinkedList.

Anbefalt: