Különbség Az ArrayList és A LinkedList Között

Tartalomjegyzék:

Különbség Az ArrayList és A LinkedList Között
Különbség Az ArrayList és A LinkedList Között
Anonim

Kulcskülönbség - ArrayList vs LinkedList

A gyűjtemények hasznosak az adatok tárolásához. Normál tömbben a tömb mérete rögzített. Néha olyan tömbök létrehozására van szükség, amelyek szükség szerint növekedhetnek. A programozási nyelvek, például a Java, gyűjteményekkel rendelkeznek. Ez egy olyan keret, amely osztályok és interfészek sorát tartalmazza. Konténerként szolgál egy elemcsoport számára. A gyűjtemények lehetővé teszik az elemek készletének tárolását, frissítését és visszakeresését. Segít olyan adatstruktúrákban dolgozni, mint a listák, halmazok, fák és térképek. A lista a Collection framework egyik felülete. Az ArrayList és a LinkedList két osztály a gyűjtemény keretrendszerében. Megvalósítják a gyűjtési felületet és a List interfészt. Ez a cikk az ArrayList és a LinkedList közötti különbséget tárgyalja. Az ArrayList egy olyan osztály, amely kiterjeszti az AbstractList és megvalósítja a List interfészt, amely belsőleg dinamikus tömböt használ az adatelemek tárolására. A LinkedList olyan osztály, amely kiterjeszti az AbstractSequentialList listát, és megvalósítja a List, a Deque és a Queue interfészeket, amelyek belsőleg kétszeresen összekapcsolt listát használnak az adatok elemeinek tárolására. Ez a legfontosabb különbség az ArrayList és a LinkedList között.

TARTALOM

1. Áttekintés és kulcsfontosságú különbségek

2. Mi az ArrayList

3. Mi a LinkedList

4. Az ArrayList és a LinkedList közötti hasonlóság

5. Egymás melletti összehasonlítás - ArrayList vs LinkedList táblázatos formában

6. Összefoglalás

Mi az ArrayList?

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 objektum elemeinek tárolását engedélyezheti a listában. A kapacitás automatikusan növekszik, így a programozó elemeket adhat a listához. Az ArrayList osztály kiterjeszti az AbstractList osztályt, amely megvalósítja a List interfészt. Ezért a List interfész módszereit az ArrayList használhatja. Az elemek eléréséhez a get () metódust használják. Az add () metódus segítségével elemeket adhatunk a listához. Az remove () metódus egy elem eltávolítására szolgál a listáról. Olvassa el az alábbi programot.

Különbség az ArrayList és a LinkedList között
Különbség az ArrayList és a LinkedList között

01. ábra: Példa az ArrayList-re

A fenti program szerint létrejön egy ArrayList objektum. Az add metódus segítségével az elemek dinamikusan hozzáadhatók. Az „A”, „B”, „C”, „D” és „E” elemeket hozzáadjuk az add metódussal. Az eltávolítási módszer egy elem eltávolítására szolgál a listáról. Amikor a 4-et átadja az eltávolítási metódusnak, a 4. index betűje, amely „E”, törlődik a listáról. Amikor a for ciklus segítségével végigmegy a listán, az A, B, C és D betűk nyomtatásra kerülnek.

Mi a LinkedList?

Az ArrayList-hez hasonlóan, a LinkedList-et az adatok dinamikus tárolására használják. A LinkedList osztály használatával létrehozott objektum elemeinek készletét tárolhatja a listában. A kapacitás automatikusan növekszik, így a programozó elemeket adhat a listához. Az adatok tárolására belsőleg használja a kétszeresen összekapcsolt listát. Kétszer összekapcsolt listában az adatokat csomópontké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 kiterjeszti az AbstractSequentialList osztályt és megvalósítja a List interfészt. Ezért a List interfész módszereit a LinkedList használhatja. A get () metódus használható a lista elemeinek elérésére. Az add () metódus segítségével elemeket adhatunk a listához. Az remove () metódus egy elem eltávolítására szolgál a listáról. Olvassa el az alábbi programot.

Kulcskülönbség az ArrayList és a LinkedList között
Kulcskülönbség az ArrayList és a LinkedList között

02. ábra: Példa a LinkedList segítségével

A fenti program szerint létrejön a LinkedList objektuma. Az add metódus segítségével az elemek dinamikusan hozzáadhatók. Az „A”, „B”, „C”, „D” és „E” elemeket hozzáadjuk az add metódussal. Az eltávolítási módszer egy elem eltávolítására szolgál a listáról. Amikor a 4-et átadja az eltávolítási módszernek, a 4. index betűje, amely „E”, törlődik a listáról. A for ciklus használatával történő iteráláskor az A, B, C és D betűk nyomtatásra kerülnek.

Milyen hasonlóságok vannak az ArrayList és a LinkedList között?

  • Az ArrayList és a LinkedList egyaránt megvalósítja a List interfészt.
  • Az ArrayList és a LinkedList is tartalmazhat ismétlődő elemeket.
  • Az ArrayList és a LinkedList egyaránt fenntartja a beszúrási sorrendet.

Mi a különbség az ArrayList és a LinkedList között?

Különböző cikk a táblázat előtt

ArrayList vs LinkedList

Az ArrayList egy olyan osztály, amely kiterjeszti az AbstractList és megvalósítja a List interfészt, amely belsőleg egy dinamikus tömböt használ az adatelemek tárolására. A LinkedList olyan osztály, amely kiterjeszti az AbstractSequentialList listát, és megvalósítja a List, Deque, Queue interfészeket, amelyek belül kétszeresen összekapcsolt listát használnak az adatelemek tárolására.
Elemek elérése
Az ArrayList elemeihez való hozzáférés gyorsabb, mint a LinkedList elemekhez. A LinkedList elemeihez lassabban lehet hozzáférni, mint egy ArrayListhez.
Elemek manipulálása
Az ArrayList elemeivel lassabban lehet manipulálni, mint egy LinkedList-en. A LinkedList elemeinek kezelése gyorsabb, mint egy ArrayList.
Viselkedés
Az ArrayList Listaként működik. A LinkedList listaként és várólistaként működik.

Összegzés - ArrayList vs LinkedList

A gyűjtőkeret lehetővé teszi az adatstruktúrákkal, például listákkal, fákkal, térképekkel és halmazokkal való munkát. A lista a gyűjtemény keretrendszerének interfésze. Ez a cikk az ArrayList és a LinkedList közötti különbséget tárgyalta. Az ArrayList egy olyan osztály, amely kiterjeszti az AbstractList és megvalósítja a List interfészt, amely belsőleg dinamikus tömböt használ az adatelemek tárolásához. A LinkedList olyan osztály, amely kiterjeszti az AbstractSequentialList listát, és megvalósítja a List, Deque, Queue interfészeket, amelyek belül kétszeresen összekapcsolt listát használnak az adatelemek tárolására. Ez a különbség az ArrayList és a LinkedList között.

Ajánlott: