LinkedList vs ArrayList i Java: Kjenn til de største forskjellene



Denne LinkedList vs ArrayList artikkelen vil gi deg en riktig sammenligning mellom listene som implementerer listegrensesnittet

Liste i Java er et undergrensesnitt av som gir optimale løsninger med begreper som posisjonell tilgang, iterasjon og så videre. I denne artikkelen vil jeg diskutere de store forskjellene mellom listegrensesnittet LinkedList vs ArrayList i Java.

Nedenfor er emnene dekket i denne artikkelen:





hva er token i java

La oss begynne!

Hva er LinkedList?

Etter arrays , er den nest mest populære datastrukturen definitivt en . En koblet liste er en lineær datastruktur som utgjøres av enkjede av noder der hver node inneholder en verdi og enpekerentil neste node i kjeden.Også, tden siste lenken i en koblet liste peker til null, noe som indikerer enden på kjeden.Et element i en koblet liste kalles a node .Den første noden i listen kalles hode .Den siste noden kalles hale .



La meg gi deg et enkelt eksempel på dette: Se for deg en kjede av binders som er koblet sammen. Du kan enkelt legge til en annen binders øverst eller nederst. Det er også enkelt å sette inn en i midten. Alt du trenger å gjøre er å bare knekke kjedet i midten, legge til en ny binders og deretter koble den andre halvdelen til igjen. En koblet liste ligner på dette.

Eksempel:

pakke MyPackage import java.util.LinkedList import java.util.ListIterator public class linkedlist {public static void main (String args []) {/ * Linked List Declaration * / LinkedListl_list = new LinkedList () / * add (String Item) is brukes til å legge til * elementene til den koblede listen * / l_list.add ('Java') l_list.add ('Python') l_list.add ('Scala') l_list.add ('Swift') System.out.println ( 'Innhold for koblet liste:' + l_list) / * Legg til elementer på spesifisert posisjon * / l_list.add (2, 'JavaScript') l_list.add (3, 'Kotlin') System.out.println ('l_list Content etter redigering: '+ l_list) / * Legg til første og siste element * / l_list.addFirst (' First Course ') l_list.addLast (' Last Course ') System.out.println (' l_list Content after addition: '+ l_list) / * Get og angi elementer i listen * / Objekt firstvar = l_list.get (0) System.out.println ('First Item:' + firstvar) l_list.set (0, 'Java9') System.out.println ('l_list Content etter oppdatering av første element: '+ l_list) / * Fjern fra en posisjon * / l_list.remove (1) l_list.remove (2) System.out.println ('LinkedList etter sletting av element i 2. og 3. posisjon' + l_list) / * Fjern første og siste element * / l_list.removeFirst () l_list.removeLast () System.out.println ('Endelig innhold etter fjerning av første og siste element : '+ l_list) / * Iterering av den lenkede listen * / ListIteratoritrator = l_list.listIterator () System.out.println (' List vises ved hjelp av iterator: ') mens (itrator.hasNext ()) {System.out.println (itrator .neste ())}}}

Produksjon:



Koblet listeinnhold = {Java, Python, Scala, Swift} Innhold etter redigering = {Java, Python, JavaScript, Kotlin, Scala, Swift} Innhold etter tillegg = {First Course, Java, Python, JavaScript, Kotlin, Scala, Swift, Siste kurs} Første element = {Første kurs} Innhold etter oppdatering av første element = {Java9, Java, Python, JavaScript, Kotlin, Scala, Swift, Siste kurs} Innhold etter sletting av element i 2. og 3. posisjon = {Java9, Python, Kotlin, Scala, Swift, Last Course} Endelig innhold etter fjerning av første og siste element = {Python, Kotlin, Scala, Swift} Liste vist ved hjelp av iterator = Python Kotlin Scala Swift

La oss nå gå videre til neste emne.

Hva er en ArrayList?

er implementeringen av List Interface hvor elementene kan legges dynamisk til eller fjernes fra den tilsvarende listen. Her økes størrelsen på listen dynamisk hvis elementene legges til mer enn den opprinnelige eller faktiske størrelsen. Selv om det kan være tregere enn standard arrays, kan det være nyttig i programmer der det kreves mye manipulering i matrisen.

LinkedList-vs-ArrayList-in-Java-Edureka

ArrayList brukes til følgende formål:

  • ArrayList i Java er vant til butikk en samling av dynamiske størrelser.
  • Den initialiseres med en størrelse. Imidlertid kan størrelsen øke hvis samlingen vokser og krymper hvis gjenstander blir fjernet fra .
  • Også, ArrayList lar deg tilfeldig få tilgang til listen.

La oss gå videre og påpeke likhetene mellom LinkedList og ArrayList i Java.

Likheter mellom LinkedList og ArrayList

Dette er de bemerkelsesverdige likhetene mellom LinkedList og ArrayList i Java.

  • ArrayList og LinkedList er implementeringene av Listegrensesnitt .
  • Både ArrayList og LinkedList opprettholder innsettingsrekkefølgen for elementene. Dette betyr at mens du viser listeelementene, vil resultatsettet ha samme rekkefølge som elementene ble satt inn i listen.
  • TheseArrayList- og LinkedList-klassene er ikke-synkroniserte og kan gjøres synkronisert eksplisitt ved hjelp av CollectionsSynchronizedList metode.
  • Iteratoren og ListIteratoren som returneres av disse klassene, går ikke raskt. Dette betyr at hvis listen endres strukturelt til enhver tid etter at iteratoren er opprettet, bortsett fraiteratorens egne metoder for å fjerne eller legge til, vil iteratoren kaste et ConcurrentModificationException .

Forskjeller mellom LinkedList og ArrayList

La oss først se på parametrene for å sammenligne LinkedList vs ArrayList i Java.

Parametere for å sammenligne LinkedList og ArrayList i Java:

  • Operasjon
  • Gjennomføring
  • Prosess
  • Hukommelse
  1. Operasjoner

Innsettings-, tilleggs- og fjerningsoperasjonene til en vare er raskere i en LinkedList fordi vi ikke trenger å endre størrelse som vi gjør i ArrayList.

2. Gjennomføring

ArrayList er basert på konseptet med en dynamisk størrelsesendring, mens LinkedList er basert på dobbeltkoblet listeimplementering

3. Prosess

TIL LinkedList klasse kan brukes som en liste og en kø fordi den implementerer grensesnitt for liste og deque mens ArrayList bare kan implementere lister.

Fire. Hukommelse

TIL LinkedList bruker mer minne enn en ArrayList fordi hver node i en LinkedList lagrer to referanser, mens ArrayList inneholder bare data og dens indeks

LinkedList vs ArrayList i Java

ParametereLinkedListArrayList
Operasjoner

Innsettings-, tilleggs- og fjerningsoperasjoner er ganske raskere

Sammenlignende operasjoneneer sakte her

Gjennomføring

Følger implementering av dobbeltkoblet liste

Følger konseptet med dynamisk resizable array

Prosess

En LinkedList-klasse kan være en liste og en kø fordi den implementerer List- og Deque-grensesnitt

periodisk tabell over devops verktøy

En ArrayList-klasse kan være en liste fordi den bare implementerer Lister

Hukommelse

Minneforbruket i LinkedList er høyt

Mindre sammenlignet med LinkedList

Det var alt folkens! Dette bringer oss til slutten av denne artikkelen om LinkedList vs ArrayList i Java. Jeg håper dere er tydelige med hva som læres ut i denne artikkelen.

Hvis du fant denne artikkelen om “LinkedList vs ArrayList in Java”, sjekk ut av Edureka, et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden. Vi er her for å hjelpe deg med hvert trinn på reisen, og vi kommer med en læreplan som er designet for studenter og fagpersoner som ønsker å være Java-utvikler.