Razlika između ArrayLista i LinkedLista

Ključna razlika - ArrayList vs vezana lista
 

Zbirke su korisne za pohranu podataka. U normalnom polju veličina je fiksna. Ponekad je potrebno stvoriti nizove koji mogu rasti po potrebi. Programski jezici kao što je Java imaju zbirke. To je okvir s skupom klasa i sučelja. Služi kao spremnik za skupinu elemenata. Zbirke omogućuju pohranu, ažuriranje i preuzimanje skupa elemenata. Pomaže u radu s strukturama podataka poput popisa, skupova, stabala i karata. Popis je sučelje okvira Collection. ArrayList i LinkedList dvije su klase u okviru zbirki. Oni implementiraju zbirko sučelje i List sučelje. Ovaj članak govori o razlici između ArrayLista i LinkedLista. ArrayList je klasa koja proširuje AbstractList i implementira sučelje Lista, koje interno koristi dinamički niz za pohranjivanje podataka. LinkedList je klasa koja proširuje AbstractSequentialList i provodi sučelja Lista, Deque i Queue, koja interno koriste dvostruko povezani popis za pohranjivanje podataka. To je ono ključna razlika između ArrayLista i LinkedLista.

SADRŽAJ

1. Pregled i ključne razlike
2. Što je ArrayList
3. Što je LinkedList
4. Sličnosti između ArrayList i LinkedList
5. Usporedna usporedba - ArrayList vs LinkedList u tabelarnom obliku
6. Sažetak

Što je ArrayList?

ArrayList klasa koristi se za stvaranje dinamičkih nizova. Za razliku od normalnog niza, veličina dinamičkog niza nije fiksna. Objekt stvoren pomoću klase ArrayList dopušteno je spremiti skup elemenata u popis. Kapacitet se automatski povećava, tako da programer može dodati elemente na popis. ArrayList klasa proširuje klasu AbstractList koja implementira List sučelje. Stoga ArrayList može koristiti metode sučelja popisa. Za pristup elementima koristi se metoda get (). Metoda add () može se koristiti za dodavanje elemenata na popis. Metoda uklanjanja () koristi se za uklanjanje elementa s popisa. Pogledajte donji program.

Slika 01: Primjer ArrayLista

Prema gore navedenom programu, stvara se objekt ArrayList. Pomoću metode dodavanja elementi se mogu dinamički dodavati. Elementi "A", "B", "C", "D" i "E" dodaju se primjenom metode dodavanja. Način uklanjanja koristi se za uklanjanje elementa s popisa. Kad prođete 4 s metodom uklanjanja, slovo u 4. indeksu koji je "E" uklanja se s popisa. Pri ponavljanju po popisu pomoću petlje for, ispisat će se slova A, B, C i D.

Što je LinkedList?

Slično kao ArrayList, LinkedList koristi se za dinamičko spremanje elemenata podataka. Objekt kreiran pomoću klase LinkedList dopušteno je spremiti skup elemenata u popis. Kapacitet se automatski povećava, tako da programer može dodati elemente na popis. Interno koristi dvostruko povezan popis za pohranu podataka. U dvostruko povezanom popisu podaci se pohranjuju kao čvorovi. Svaki čvor sadrži dvije veze. Prva veza upućuje na prethodni čvor. Sljedeća veza upućuje na sljedeći čvor u nizu.

Klasa LinkedList proširuje klasu AbstractSequentialList i implementira sučelje List. Stoga se metode sučelja popisa mogu koristiti na LinkedListu. Metoda get () može se koristiti za pristup elementima popisa. Metoda add () može se koristiti za dodavanje elemenata na popis. Metoda uklanjanja () koristi se za uklanjanje elementa s popisa. Pogledajte donji program.

Slika 02: Primjer s LinkedListom

Prema gore navedenom programu stvara se objekt LinkedList-a. Pomoću metode dodavanja elementi se mogu dinamički dodavati. Elementi "A", "B", "C", "D" i "E" dodaju se primjenom metode dodavanja. Način uklanjanja koristi se za uklanjanje elementa s popisa. Kad prolazite 4 do metode uklanjanja, slovo u 4. indeksu koji je "E" briše se s popisa. Pri ponavljanju pomoću petlje za petu ispisat će se slova A, B, C i D.

Koje su sličnosti između ArrayLista i LinkedLista?

  • I ArrayList i LinkedList implementiraju sučelje Popisa.
  • I ArrayList i LinkedList mogu sadržavati dvostruke elemente.
  • I ArrayList i LinkedList održavaju redoslijed umetanja.

Koja je razlika između ArrayLista i LinkedLista?

ArrayList vs LinkedList

ArrayList je klasa koja proširuje AbstractList i implementira sučelje Lista koje interno koristi dinamički niz za pohranjivanje podataka. LinkedList je klasa koja proširuje AbstractSequentialList i implementira sučelja List, Deque, Queue, koja interno koristi dvostruko povezan popis za pohranjivanje podataka.
 Pristup elementima
Pristup elementima ArrayLista brži je od LinkedLista. Pristup elementima LinkedLista sporiji je nego ArrayListu.
Manipuliranje elementima
Manipuliranje elemenata ArrayLista je sporije nego na LinkedListu. Manipuliranje elemenata LinkedLista je brže nego s ArrayListom.
 Ponašanje
ArrayList nastupa kao Popis. LinkedList nastupa kao popis i red.

Sažetak - ArrayList vs vezana lista

Okvir za prikupljanje omogućuje rad s strukturama podataka kao što su popisi, drveće, karte i skupovi. Popis je sučelje okvira za prikupljanje. U ovom se članku govori o razlici između ArrayLista i LinkedLista. ArrayList je klasa koja proširuje AbstractList i implementira sučelje Popisa koje interno koristi dinamički niz za pohranjivanje podataka. LinkedList je klasa koja proširuje AbstractSequentialList i provodi sučelja List, Deque, Queue, koja interno koristi dvostruko povezan popis za pohranjivanje podataka. To je razlika između ArrayLista i LinkedLista.

Referenca:

1.Uvod u povezani popis | Vodič za strukturu podataka | Studytonight. Dostupno ovdje
2. "LinkedList u Javi - javatpoint.", Poanta, dostupna ovdje
3. "Klasa Java ArrayList - javatpoint." Točka, dostupno ovdje