Samlinger er nyttige for lagring av data. I et normalt array er arraystørrelsen fast. Noen ganger er det nødvendig å lage arrays som kan vokse etter behov. Programmeringsspråk som Java har samlinger. Det er et rammeverk med et sett av klasser og grensesnitt. Den fungerer som en beholder for en gruppe av elementer. Samlinger tillater å lagre, oppdatere, hente sett med elementer. Det bidrar til å jobbe med datastrukturer som lister, sett, trær og kart. Listen er et grensesnitt for samlingsramme. ArrayList og LinkedList er to klasser i samlingsrammen. De implementerer samlingsgrensesnittet og Liste grensesnittet. Denne artikkelen diskuterer forskjellen mellom ArrayList og LinkedList. ArrayList er en klasse som utvider AbstractList og implementerer List-grensesnittet, som internt bruker et dynamisk array for å lagre dataelementer. LinkedList er en klasse som utvider AbstractSequentialList og implementerer List, Deque og Que-grensesnitt, som internt bruker en dobbeltkoblet liste for å lagre dataelementer. Det er det nøkkelforskjell mellom ArrayList og LinkedList.
1. Oversikt og nøkkelforskjell
2. Hva er ArrayList
3. Hva er LinkedList
4. Likheter mellom ArrayList og LinkedList
5. Side ved side-sammenligning - ArrayList vs LinkedList i tabellform
6. Sammendrag
ArrayList-klassen brukes til å lage dynamiske arrays. I motsetning til et normalt array er størrelsen på et dynamisk array ikke løst. Et objekt opprettet ved hjelp av ArrayList-klassen kan lagre et sett med elementer i listen. Kapasiteten øker automatisk, slik at programmereren kan legge til elementer i listen. ArrayList-klassen utvider abonnentlisteklassen som implementerer List-grensesnittet. Derfor kan metodene i List-grensesnittet brukes av ArrayList. For å få tilgang til elementer, blir get () -metoden brukt. Metoden add () kan brukes til å legge til elementer i listen. Metoden remove () brukes til å fjerne et element ut av listen. Se underprogrammet nedenfor.
Figur 01: Eksempel på ArrayList
I henhold til det ovennevnte programmet, opprettes et objekt av ArrayList. Ved hjelp av add-metoden kan elementer legges til dynamisk. Elementene "A", "B", "C", "D" og "E" blir lagt til ved hjelp av add-metmetoden. Fjernmetoden brukes til å fjerne et element fra listen. Når du passerer 4 til fjernmetoden, blir brevet i den fjerde indeksen som er "E" fjernet fra listen. Når itererer gjennom listen med forløp, skrives bokstavene A, B, C og D.
I likhet med ArrayList brukes LinkedList til å lagre dataelementer dynamisk. Et objekt opprettet ved hjelp av LinkedList-klassen kan lagre et sett med elementer i listen. Kapasiteten øker automatisk, slik at programmereren kan legge til elementer i listen. Den bruker internt dobbeltkoblet liste for å lagre data. I en dobbeltkoblet liste lagres dataene som noder. Hver node inneholder to lenker. Den første lenken peker til den forrige noden. Neste kobling peker til neste knutepunkt i sekvensen.
Klassen LinkedList utvider klassen AbstractSequentialList og implementerer List-grensesnittet. Derfor kan metodene for Liste grensesnitt brukes av LinkedList. Metoden get () kan brukes til å få tilgang til elementer i listen. Metoden add () kan brukes til å legge til elementer i listen. Metoden remove () brukes til å fjerne et element ut av listen. Se underprogrammet nedenfor.
Figur 02: Eksempel med LinkedList
I henhold til det ovennevnte programmet, opprettes et objekt av 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-metmetoden. Fjernmetoden brukes til å fjerne et element fra listen. Når du sender 4 til fjerningsmetoden, fjerner bokstaven i den fjerde indeksen som er "E" fra listen. Når itereren bruker forløp, skrives bokstavene A, B, C og D.
ArrayList vs LinkedList | |
ArrayList er en klasse som strekker AbstractList og implementerer List-grensesnittet som internt bruker et dynamisk array for å lagre dataelementer. | LinkedList er en klasse som utvider AbstractSequentialList og implementerer List, Deque, Que-grensesnitt, 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. |
Manipulerende elementer | |
Manipulerende elementer i ArrayList er langsommere enn en LinkedList. | Manipulerende elementer i LinkedList er raskere enn en ArrayList. |
Oppførsel | |
ArrayList fungerer som en liste. | LinkedList fungerer som en liste og en kø. |
Samlingsrammen tillater arbeid med datastrukturer som lister, trær, kart og sett. Listen er et grensesnitt for samlingsramme. Denne artikkelen diskuterte forskjellen mellom ArrayList og LinkedList. ArrayList er en klasse som strekker AbstractList og implementerer List-grensesnittet som internt bruker et dynamisk array for å lagre dataelementer. LinkedList er en klasse som utvider AbstractSequentialList og implementerer List, Deque, Que-grensesnitt, som internt bruker en dobbeltkoblet liste for å lagre dataelementer. Det er forskjellen mellom ArrayList og LinkedList.
1.Introduksjon til tilknyttet liste | Datastrukturopplæring | Studytonight. Tilgjengelig her
2. "LinkedList i Java - javatpoint.",Poenget, tilgjengelig her
3. "Java ArrayList klasse - javatpoint." Poenget, tilgjengelig her