Pagrindinis skirtumas - „ArrayList“ir „LinkedList“
Kolekcijos yra naudingos duomenims saugoti. Įprastame masyve masyvo dydis yra fiksuotas. Kartais reikia sukurti masyvus, kurie gali prireikus augti. Programavimo kalbos, tokios kaip „Java“, turi kolekcijas. Tai sistema su klasių ir sąsajų rinkiniu. Tai tarnauja kaip elementų grupės talpykla. Kolekcijos leidžia saugoti, atnaujinti, nuskaityti 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 sąsaja. „ArrayList“ir „LinkedList“yra dvi kolekcijų sistemos klasės. Jie įgyvendina rinkimo sąsają ir sąrašo sąsają. Šiame straipsnyje aptariamas skirtumas tarp „ArrayList“ir „LinkedList“. „ArrayList“yra klasė, pratęsianti „AbstractList“ir įgyvendinanti sąsają „List“, kuri viduje naudoja dinaminį masyvą duomenų elementams saugoti.„LinkedList“yra klasė, pratęsianti „AbstractSequentialList“ir įgyvendinanti sąsajas „List“, „Deque“ir „Queue“, kurios viduje naudoja dvigubai susietą sąrašą duomenų elementams saugoti. Tai yra pagrindinis skirtumas tarp „ArrayList“ir „LinkedList“.
TURINYS
1. Apžvalga ir pagrindiniai skirtumai
2. Kas yra „ArrayList“
3. Kas yra „LinkedList“
4. „ArrayList“ir „LinkedList“panašumai
5. Gretimas palyginimas - „ArrayList“ir „LinkedList“lentelės forma
6. Santrauka
Kas yra „ArrayList“?
„ArrayList“klasė naudojama kurti dinaminius masyvus. Skirtingai nuo įprasto masyvo, dinaminio masyvo dydis nėra fiksuotas. Objektui, sukurtam naudojant „ArrayList“klasę, leidžiama laikyti elementų rinkinį sąraše. Pajėgumai didėja automatiškai, todėl programuotojas gali įtraukti elementus į sąrašą. „ArrayList“klasė išplečia „AbstractList“klasę, įgyvendinančią sąrašo sąsają. Todėl „ArrayList“gali naudoti Sąsajos sąsajos metodus. Norėdami pasiekti elementus, naudojamas get () metodas. Pridėti () metodą galima naudoti norint pridėti elementus į sąrašą. Metodas pašalinti () naudojamas norint pašalinti elementą iš sąrašo. Peržiūrėkite žemiau pateiktą programą.
01 paveikslas: „ArrayList“pavyzdys
Pagal minėtą programą yra sukurtas „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 metodą šalinimo metodas, 4 sąrašo raidė, kuri yra „E“, išbraukiama iš sąrašo. Kartojant sąrašą naudojant „for“kilpą, bus spausdinamos A, B, C ir D raidės.
Kas yra „LinkedList“?
Panašiai kaip „ArrayList“, „LinkedList“naudojamas dinamiškai saugoti duomenų elementus. Objektui, sukurtam naudojant „LinkedList“klasę, leidžiama laikyti elementų rinkinį sąraše. Talpa didėja automatiškai, todėl programuotojas gali pridėti elementų prie sąrašo. Duomenims kaupti jis naudoja dvigubai susietą sąrašą. Dvigubai susietame sąraše duomenys saugomi kaip mazgai. Kiekviename mazge yra dvi nuorodos. Pirmoji nuoroda rodo į ankstesnį mazgą. Kita nuoroda nurodo kitą sekos mazgą.
„LinkedList“klasė išplečia „AbstractSequentialList“klasę ir įgyvendina sąsają „List“. Todėl „LinkedList“gali naudoti Sąsajos sąsajos metodus. Gauti metodą get () galima pasiekti sąrašo elementus. Pridėti () metodą galima naudoti norint pridėti elementus į sąrašą. Metodas pašalinti () naudojamas norint pašalinti elementą iš sąrašo. Peržiūrėkite žemiau pateiktą programą.
02 pav. Pavyzdys su „LinkedList“
Pagal minėtą programą yra sukurtas „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 metodą 4 šalinimo metodui, 4 sąrašo raidė, kuri yra „E“, išbraukiama iš sąrašo. Kartojant „for“kilpą, bus spausdinamos raidės A, B, C ir D.
Kuo panašūs „ArrayList“ir „LinkedList“?
- „ArrayList“ir „LinkedList“įgyvendina Sąrašo sąsają.
- „ArrayList“ir „LinkedList“gali būti pasikartojančių elementų.
- Tiek „ArrayList“, tiek „LinkedList“palaiko įterpimo tvarką.
Koks skirtumas tarp „ArrayList“ir „LinkedList“?
Skirtingas straipsnis viduryje prieš lentelę
„ArrayList“ir „LinkedList“ |
|
„ArrayList“yra klasė, pratęsianti AbstractList ir įgyvendinanti Sąsajos sąsają, kuri viduje naudoja dinaminį masyvą duomenų elementams saugoti. | „LinkedList“yra klasė, pratęsianti „AbstractSequentialList“ir įgyvendinanti sąsajas „List, Deque“, „Queue“, kuri viduje naudoja dvigubai susietą sąrašą duomenų elementams saugoti. |
Prieiga prie elementų | |
Prieiga prie „ArrayList“elementų yra greitesnė nei prie „LinkedList“. | Prieiga prie „LinkedList“elementų yra lėtesnė nei „ArrayList“. |
Elementų valdymas | |
„ArrayList“elementų valdymas yra lėtesnis 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“ir „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 kolekcijos sąsajos sąsaja. Šiame straipsnyje aptariamas skirtumas tarp „ArrayList“ir „LinkedList“. „ArrayList“yra klasė, pratęsianti „AbstractList“ir įgyvendinanti sąsają „List“, kuri viduje naudoja dinaminį masyvą duomenų elementams saugoti. „LinkedList“yra klasė, pratęsianti „AbstractSequentialList“ir įgyvendinanti sąsajas „List, Deque“, „Queue“, kuri viduje naudoja dvigubai susietą sąrašą duomenų elementams saugoti. Tuo skiriasi „ArrayList“ir „LinkedList“.