A gyűjtemények hasznosak az adatok tárolásához. Normál tömb esetén a tömb mérete rögzített. Időnként tömböket kell létrehozni, amelyek szükség szerint növekedhetnek. A programozási nyelvek, például a Java, gyűjteményekkel rendelkeznek. Ez egy keret, amely osztályok és interfészek sorozatát tartalmazza. Konténerként szolgál egy elemcsoport számára. A gyűjtemények lehetővé teszik az elemkészlet tárolását, frissítését és visszakeresését. Segít az adatszerkezetekkel, például listákkal, halmazokkal, fákkal és térképekkel való együttműködésben. A lista a Gyűjtemény keret felülete. Az ArrayList és a LinkedList két osztály a gyűjtemények keretén belül. Végrehajtják a gyűjtő felületet és a Lista felületet. Ez a cikk az ArrayList és a LinkedList közötti különbséget tárgyalja. Az ArrayList egy osztály, amely kibővíti az AbstractList és megvalósítja a Lista felületet, amely belsőleg dinamikus tömböt használ az adatelemek tárolására. A LinkedList egy olyan osztály, amely kiterjeszti az AbstractSequentialList elemet, és végrehajtja a List, Deque és Queue felületeket, amelyek belsőleg kétszeresen összekapcsolt listát használnak az adatelemek tárolására. Ez a kulcs különbség az ArrayList és a LinkedList között.
1. Áttekintés és a legfontosabb különbség
2. Mi az ArrayList
3. Mi a LinkedList?
4. hasonlóságok az ArrayList és a LinkedList között
5. Side by Side Comparison - ArrayList vs LinkedList táblázatos formában
6. Összegzés
Az ArrayList osztály dinamikus tömbök létrehozására szolgál. A normál tömbtől eltérően a dinamikus tömb mérete nem rögzített. Az ArrayList osztály használatával létrehozott objektumok számára elemeket lehet tárolni a listában. A kapacitás automatikusan növekszik, így a programozó hozzáadhat elemeket a listához. Az ArrayList osztály kibővíti a Lista felületet megvalósító AbstractList osztályt. Ezért az ArrayList a List interfész módszereit felhasználhatja. Az elemek eléréséhez a get () metódust kell használni. Az add () módszer felhasználható elemek hozzáadására a listához. Az remove () metódust egy elem eltávolításához használja a listából. Lásd az alábbi programot.
01. ábra: Példa az ArrayList-re
A fenti program szerint létrejön az ArrayList objektum. Az add módszerrel az elemek dinamikusan hozzáadhatók. Az „A”, „B”, „C”, „D” és „E” elemek hozzáadása az add módszerrel történik. Az eltávolítás módszerrel eltávolíthatók egy elemek a listáról. Amikor átadja a 4-et az eltávolítási módszernek, a negyedik indexben szereplő „E” betűt eltávolítják a listáról. Ha a listán a for hurok segítségével iterál, az A, B, C és D betűk kinyomtatódnak.
Az ArrayList-hez hasonlóan a LinkedList-et az adatelemek dinamikus tárolására is használják. A LinkedList osztály segítségével létrehozott objektumok számára elemeket lehet tárolni a listában. A kapacitás automatikusan növekszik, így a programozó hozzáadhat elemeket a listához. Belsőleg kétszer összekapcsolt listát használ az adatok tárolására. Egy kétszer összekapcsolt listában az adatokat csomópontokként tárolják. Minden csomópont két linket tartalmaz. Az első link az előző csomópontra mutat. A következő link a sorozat következő csomópontjára mutat.
A LinkedList osztály kibővíti az AbstractSequentialList osztályt, és végrehajtja a Lista felületet. Ezért a Lista felület módszereit a LinkedList felhasználhatja. A get () módszer használható a lista elemek elérésére. Az add () módszer felhasználható elemek hozzáadására a listához. Az remove () metódust egy elem eltávolításához használja a listából. Lásd az alábbi programot.
02 ábra: Példa a LinkedList-re
A fenti program szerint létrejön egy LinkedList objektum. Az add módszerrel az elemek dinamikusan hozzáadhatók. Az „A”, „B”, „C”, „D” és „E” elemek hozzáadása az add módszerrel történik. Az eltávolítás módszerrel eltávolíthatók egy elemek a listáról. Amikor a 4. pontot átadja az eltávolítási módszernek, a 4. indexben szereplő „E” betű törlődik a listáról. Ha a for hurok segítségével iterál, az A, B, C és D betűk kinyomtatódnak.
ArrayList vs LinkedList | |
Az ArrayList egy olyan osztály, amely kiterjeszti az AbstractList elemet és végrehajtja a Lista felületet, amely belsőleg dinamikus tömböt használ az adatelemek tárolására. | A LinkedList egy olyan osztály, amely kiterjeszti az AbstractSequentialList elemet, és végrehajtja a List, Deque, Queue felületeket, amely belsőleg kétszeresen összekapcsolt listát használ az adatelemek tárolására. |
Hozzáférés az elemekhez | |
Az ArrayList elemeihez való hozzáférés gyorsabb, mint a LinkedList elemekhez. | A LinkedList elemeihez való hozzáférés lassabb, mint az ArrayList elemekhez. |
Manipuláló elemek | |
Az ArrayList elemeinek manipulálása lassabb, mint a LinkedList. | A LinkedList elemeinek manipulálása gyorsabb, mint az ArrayList elemekkel. |
Viselkedés | |
Az ArrayList Listaként lép fel. | A LinkedList lista és sorként lép fel. |
A gyűjtési keret lehetővé teszi az olyan adatszerkezetekkel való munkát, mint például listák, fák, térképek és halmazok. A lista a gyűjtési keret felülete. Ez a cikk megvitatta az ArrayList és a LinkedList közötti különbséget. Az ArrayList egy osztály, amely kiterjeszti az AbstractList elemet és megvalósítja a Lista felületet, amely belsőleg dinamikus tömböt használ az adatelemek tárolására. A LinkedList egy olyan osztály, amely kiterjeszti az AbstractSequentialList elemet, és végrehajtja a List, Deque, Queue felületeket, amely belsőleg kétszeresen összekapcsolt listát használ az adatelemek tárolására. Ez a különbség az ArrayList és a LinkedList között.
1.Bevezetés a kapcsolt listára Adatstruktúra bemutatója Studytonight. Itt érhető el
2. „LinkedList Java-ban - javatpoint.”, The Point, itt érhető el
3. “Java ArrayList osztály - javatpoint.” A pont, elérhető itt