Hovedforskjell - 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 tillater lagring, oppdatering, henting av sett med elementer. Det hjelper å jobbe med datastrukturer som lister, sett, trær og kart. Listen er et grensesnitt for Collection framework. ArrayList og LinkedList er to klasser i samlingens rammeverk. De implementerer samlingsgrensesnittet og listegrensesnittet. 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 grensesnitt for liste, deque og kø, som internt bruker en dobbeltkoblet liste for å lagre dataelementer. Det er nøkkelforskjellen mellom ArrayList og LinkedList.
INNHOLD
1. Oversikt og hovedforskjell
2. Hva er ArrayList
3. Hva er LinkedList
4. Likheter mellom ArrayList og LinkedList
5. Sammenligning side om side - ArrayList vs LinkedList i tabellform
6. Sammendrag
Hva er ArrayList?
ArrayList-klassen brukes til å lage dynamiske matriser. I motsetning til en vanlig matrise er størrelsen på en dynamisk matrise ikke fast. Et objekt opprettet ved hjelp av 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 klassen AbstractList som implementerer List-grensesnittet. Derfor kan metodene i List-grensesnittet brukes av ArrayList. For å få tilgang til elementer brukes get () -metoden. Metoden add () kan brukes til å legge til elementer i listen. Fjern () -metoden brukes til å fjerne et element fra listen. Se programmet nedenfor.
Figur 01: Eksempel på ArrayList
I henhold til programmet ovenfor opprettes et objekt fra ArrayList. Ved hjelp av add-metoden kan elementer legges til dynamisk. Elementene "A", "B", "C", "D" og "E" legges til ved hjelp av add-metoden. Fjern-metoden brukes til å fjerne et element fra listen. Når du gir 4 til fjerningsmetoden, blir bokstaven i den fjerde indeksen som er “E” fjernet fra listen. Når du går gjennom listen ved hjelp av for-sløyfen, skrives bokstavene A, B, C og D ut.
Hva er LinkedList?
I likhet med ArrayList brukes LinkedList til å lagre dataelementer dynamisk. Et objekt opprettet ved hjelp av 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 dobbeltkoblet liste internt for å lagre data. I en dobbeltkoblet liste lagres dataene som noder. Hver node inneholder to lenker. Den første lenken peker til forrige node. Neste lenke peker til neste node i sekvensen.
LinkedList-klassen utvider klassen AbstractSequentialList og implementerer List-grensesnittet. Derfor kan metodene for List-grensesnitt brukes av LinkedList. Get () -metoden kan brukes til å få tilgang til elementer i listen. Metoden add () kan brukes til å legge til elementer i listen. Fjern () -metoden brukes til å fjerne et element fra listen. Se programmet nedenfor.
Figur 02: Eksempel med LinkedList
I henhold til programmet ovenfor opprettes et objekt fra LinkedList. Ved hjelp av add-metoden kan elementer legges til dynamisk. Elementene "A", "B", "C", "D" og "E" blir lagt til ved hjelp av add-metoden. Fjern-metoden brukes til å fjerne et element fra listen. Når du gir 4 til fjerningsmetoden, fjernes bokstaven i den fjerde indeksen som er “E” fra listen. Når det gjentas med for-sløyfen, skrives bokstavene A, B, C og D ut.
Hva er likhetene mellom ArrayList og LinkedList?
- Både ArrayList og LinkedList implementerer List-grensesnitt.
- Både ArrayList og LinkedList kan inneholde dupliserte elementer.
- Både ArrayList og LinkedList opprettholder innsettingsrekkefølgen.
Hva er forskjellen mellom ArrayList og LinkedList?
Diff Article Midt før tabell
ArrayList vs 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 grensesnitt for liste, deque, kø, som internt bruker en dobbeltkoblet liste for å lagre dataelementer. |
Få tilgang til elementer | |
Å få tilgang til elementer i ArrayList er raskere enn en LinkedList. | Å få tilgang til elementer i LinkedList er tregere enn en ArrayList. |
Manipulere elementer | |
Å manipulere elementer i ArrayList er tregere enn en LinkedList. | Å manipulere elementer i LinkedList er raskere enn en ArrayList. |
Oppførsel | |
ArrayList opptrer som en liste. | LinkedList opptrer som en liste og en kø. |
Sammendrag - ArrayList vs LinkedList
Samlingsrammeverket tillater arbeid med datastrukturer som lister, trær, kart og sett. Listen er et grensesnitt for samlingsrammer. 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 grensesnitt for liste, deque, kø, som internt bruker en dobbeltkoblet liste for å lagre dataelementer. Det er forskjellen mellom ArrayList og LinkedList.