Skirtumas tarp ArrayList ir LinkedList

Turinys:

Skirtumas tarp ArrayList ir LinkedList
Skirtumas tarp ArrayList ir LinkedList

Video: Skirtumas tarp ArrayList ir LinkedList

Video: Skirtumas tarp ArrayList ir LinkedList
Video: Programavimo kalba Java #5 Static ir Final raktinis žodis 2024, Lapkritis
Anonim

Pagrindinis skirtumas – ArrayList vs LinkedList

Kolekcijos yra naudingos duomenims saugoti. Įprastame masyve masyvo dydis yra fiksuotas. Kartais reikia sukurti masyvus, kurie gali augti pagal poreikį. Programavimo kalbos, tokios kaip „Java“, turi rinkinius. Tai sistema su klasių ir sąsajų rinkiniu. Jis tarnauja kaip elementų grupės talpykla. Kolekcijos leidžia saugoti, atnaujinti, gauti elementų rinkinį. Tai padeda dirbti su duomenų struktūromis, tokiomis kaip sąrašai, rinkiniai, medžiai ir žemėlapiai. Sąrašas yra kolekcijos sistemos sąsaja. ArrayList ir LinkedList yra dvi kolekcijų sistemos klasės. Jie įgyvendina surinkimo sąsają ir sąrašo sąsają. Šiame straipsnyje aptariamas skirtumas tarp ArrayList ir LinkedList. ArrayList yra klasė, kuri išplečia AbstractList ir įgyvendina List sąsają, kuri viduje naudoja dinaminį masyvą duomenų elementams saugoti. LinkedList yra klasė, kuri išplečia AbstractSequentialList ir įgyvendina List, Deque ir Queue sąsajas, kurios viduje naudoja dvigubai susietą sąrašą duomenų elementams saugoti. Tai yra pagrindinis skirtumas tarp ArrayList ir LinkedList.

Kas yra ArrayList?

Klasė ArrayList naudojama dinaminiams masyvams kurti. Skirtingai nuo įprasto masyvo, dinaminio masyvo dydis nėra fiksuotas. Objektui, sukurtam naudojant ArrayList klasę, sąraše leidžiama saugoti elementų rinkinį. Talpa didėja automatiškai, todėl programuotojas gali įtraukti elementus į sąrašą. „ArrayList“klasė išplečia „AbstractList“klasę, kuri įgyvendina sąrašo sąsają. Todėl ArrayList gali naudoti List sąsajos metodus. Norint pasiekti elementus, naudojamas get() metodas. Metodas add() gali būti naudojamas elementams įtraukti į sąrašą. Pašalinti () metodas naudojamas elementui pašalinti iš sąrašo. Žiūrėkite toliau pateiktą programą.

Skirtumas tarp ArrayList ir LinkedList
Skirtumas tarp ArrayList ir LinkedList
Skirtumas tarp ArrayList ir LinkedList
Skirtumas tarp ArrayList ir LinkedList

01 pav.: ArrayList pavyzdys

Pagal aukščiau pateiktą programą sukuriamas ArrayList objektas. Naudojant pridėjimo metodą, elementus galima pridėti dinamiškai. Elementai „A“, „B“, „C“, „D“ir „E“pridedami naudojant pridėjimo metodą. Pašalinimo metodas naudojamas elementui pašalinti iš sąrašo. Perduodant 4 pašalinimo metodui, 4-osios rodyklės raidė, kuri yra „E“, pašalinama iš sąrašo. Iteruojant sąrašą naudojant for kilpą, bus spausdinamos raidės A, B, C ir D.

Kas yra LinkedList?

Panašiai kaip ArrayList, LinkedList naudojamas duomenų elementams dinamiškai saugoti. Objektui, sukurtam naudojant LinkedList klasę, sąraše leidžiama saugoti elementų rinkinį. Talpa didėja automatiškai, todėl programuotojas gali įtraukti elementus į sąrašą. Duomenims saugoti viduje naudojamas dvigubai susietas sąrašas. Dvigubai susietame sąraše duomenys saugomi kaip mazgai. Kiekviename mazge yra dvi nuorodos. Pirmoji nuoroda nukreipia į ankstesnį mazgą. Kita nuoroda nukreipia į kitą sekos mazgą.

LinkedList klasė išplečia AbstractSequentialList klasę ir įgyvendina List sąsają. Todėl „LinkedList“gali naudoti sąrašo sąsajos metodus. Get() metodas gali būti naudojamas norint pasiekti sąrašo elementus. Metodas add() gali būti naudojamas elementams įtraukti į sąrašą. Pašalinti () metodas naudojamas elementui pašalinti iš sąrašo. Žiūrėkite toliau pateiktą programą.

Pagrindinis skirtumas tarp ArrayList ir LinkedList
Pagrindinis skirtumas tarp ArrayList ir LinkedList
Pagrindinis skirtumas tarp ArrayList ir LinkedList
Pagrindinis skirtumas tarp ArrayList ir LinkedList

02 pav. Pavyzdys su LinkedList

Pagal aukščiau pateiktą programą sukuriamas LinkedList objektas. Naudojant pridėjimo metodą, elementus galima pridėti dinamiškai. Elementai „A“, „B“, „C“, „D“ir „E“pridedami naudojant pridėjimo metodą. Pašalinimo metodas naudojamas elementui pašalinti iš sąrašo. Perduodant 4 pašalinimo metodui, raidė 4 rodyklėje, kuri yra „E“, pašalinama iš sąrašo. Kai kartojama naudojant for kilpą, bus spausdinamos raidės A, B, C ir D.

Kokie yra ArrayList ir LinkedList panašumai?

  • Tiek ArrayList, tiek LinkedList įgyvendina sąrašo sąsają.
  • Tiek ArrayList, tiek LinkedList gali turėti pasikartojančių elementų.
  • Tiek ArrayList, tiek LinkedList palaiko įterpimo tvarką.

Kuo skiriasi „ArrayList“ir „LinkedList“?

ArrayList vs LinkedList

ArrayList yra klasė, kuri išplečia AbstractList ir įgyvendina List sąsają, kuri viduje naudoja dinaminį masyvą duomenų elementams saugoti. LinkedList yra klasė, kuri išplečia AbstractSequentialList ir įgyvendina List, Deque, Queue sąsajas, kurios viduje naudoja dvigubai susietą sąrašą duomenų elementams saugoti.
Prieiga prie elementų
ArrayList elementus galima pasiekti greičiau nei LinkedList. LinkedList elementai pasiekiami lėčiau nei ArrayList.
Manipuliavimas elementais
Manipuliuoti „ArrayList“elementais vyksta lėčiau nei „LinkedList“. Manipuliuoti LinkedList elementais yra greičiau nei ArrayList.
Elgesys
ArrayList veikia kaip sąrašas. LinkedList veikia kaip sąrašas ir eilė.

Santrauka – ArrayList vs LinkedList

Kolekcijos sistema leidžia dirbti su duomenų struktūromis, tokiomis kaip sąrašai, medžiai, žemėlapiai ir rinkiniai. Sąrašas yra surinkimo sistemos sąsaja. Šiame straipsnyje aptariamas skirtumas tarp ArrayList ir LinkedList. ArrayList yra klasė, kuri išplečia AbstractList ir įgyvendina List sąsają, kuri viduje naudoja dinaminį masyvą duomenų elementams saugoti. LinkedList yra klasė, kuri išplečia AbstractSequentialList ir įgyvendina List, Deque, Queue sąsajas, kurios viduje naudoja dvigubai susietą sąrašą duomenų elementams saugoti. Tai yra skirtumas tarp ArrayList ir LinkedList.

Rekomenduojamas: