Ero ArrayList ja LinkedList välillä

Avainero - ArrayList vs LinkedList
 

Kokoelmat ovat hyödyllisiä tietojen tallentamiseksi. Normaalissa taulukossa taulukon koko on kiinteä. Joskus vaaditaan sellaisten taulukkojen luomista, jotka voivat kasvaa tarpeen mukaan. Ohjelmointikielissä, kuten Java, on kokoelmia. Se on kehys, jossa on joukko luokkia ja rajapintoja. Se toimii säiliönä ryhmälle elementtejä. Kokoelmat mahdollistavat elementtien tallentamisen, päivittämisen ja noutamisen. Se auttaa työskentelemään tietorakenteiden, kuten luetteloiden, joukkojen, puiden ja karttojen kanssa. Lista on keräyskehyksen käyttöliittymä. ArrayList ja LinkedList ovat kaksi luokkaa kokoelmien puitteissa. He toteuttavat keräysrajapinnan ja Lista-rajapinnan. Tässä artikkelissa käsitellään eroa ArrayList ja LinkedList välillä. ArrayList on luokka, joka laajentaa AbstractList-luetteloa ja toteuttaa List-rajapinnan, joka käyttää sisäisesti dynaamista taulukkoa tietoelementtien tallentamiseen. LinkedList on luokka, joka laajentaa AbstractSequentialList: ää ja toteuttaa Lista-, Deque- ja Jono-rajapinnat, jotka käyttävät sisäisesti kaksinkertaisesti linkitettyä luetteloa tietoelementtien tallentamiseen. Tuo on avainero välillä ArrayList ja LinkedList.

SISÄLLYS

1. Yleiskatsaus ja keskeiset erot
2. Mikä on ArrayList
3. Mikä on LinkedList
4. ArrayListin ja LinkedListin väliset yhtäläisyydet
5. Vertailu rinnakkain - ArrayList vs LinkedList taulukkomuodossa
6. Yhteenveto

Mikä on ArrayList?

ArrayList-luokkaa käytetään dynaamisten taulukkojen luomiseen. Toisin kuin normaali taulukko, dynaamisen taulukon kokoa ei ole kiinteä. ArrayList-luokan avulla luodun objektin sallitaan tallentaa joukko elementtejä luetteloon. Kapasiteetti kasvaa automaattisesti, joten ohjelmoija voi lisätä elementtejä luetteloon. ArrayList-luokka laajentaa AbstractList-luokkaa, joka toteuttaa Lista-käyttöliittymän. Siksi ArrayList voi käyttää List-käyttöliittymän menetelmiä. Elementtien käyttämiseen käytetään get () -menetelmää. Lisää () -menetelmää voidaan käyttää elementtien lisäämiseen luetteloon. Poista () -menetelmää käytetään elementin poistamiseen luettelosta. Katso alla olevaa ohjelmaa.

Kuva 01: Esimerkki ArrayLististä

Yllä olevan ohjelman mukaan ArrayList-objekti luodaan. Lisäämismenetelmää käyttämällä elementit voidaan lisätä dynaamisesti. Elementit “A”, “B”, “C”, “D” ja “E” lisätään lisäysmenetelmällä. Poistamismenetelmää käytetään elementin poistamiseen luettelosta. Kun siirretään 4 poistomenetelmään, neljännen hakemiston kirjain, joka on ”E”, poistetaan luettelosta. Kun iteroit luettelon läpi for-silmukan avulla, kirjaimet A, B, C ja D tulostuvat.

Mikä on LinkedList?

Samoin kuin ArrayList, LinkedList-tietokantaa käytetään dataelementtien dynaamiseen tallentamiseen. LinkedList-luokan avulla luodun objektin sallitaan tallentaa joukko elementtejä luetteloon. Kapasiteetti kasvaa automaattisesti, joten ohjelmoija voi lisätä elementtejä luetteloon. Se tallentaa sisäisesti kaksinkertaisesti linkitetyn luettelon. Kaksinkertaisesti linkitetyssä luettelossa tiedot tallennetaan solmuina. Jokainen solmu sisältää kaksi linkkiä. Ensimmäinen linkki osoittaa edelliseen solmuun. Seuraava linkki osoittaa sekvenssin seuraavaan solmuun.

LinkedList-luokka laajentaa AbstractSequentialList-luokkaa ja toteuttaa Lista-käyttöliittymän. Siksi LinkedList voi käyttää Lista-käyttöliittymän menetelmiä. Get () -menetelmää voidaan käyttää luettelon elementtien käyttämiseen. Lisää () -menetelmää voidaan käyttää elementtien lisäämiseen luetteloon. Poista () -menetelmää käytetään elementin poistamiseen luettelosta. Katso alla olevaa ohjelmaa.

Kuva 02: Esimerkki LinkedListillä

Yllä olevan ohjelman mukaan luodaan LinkedList-objekti. Lisäämismenetelmää käyttämällä elementit voidaan lisätä dynaamisesti. Elementit “A”, “B”, “C”, “D” ja “E” lisätään lisäysmenetelmällä. Poistamismenetelmää käytetään elementin poistamiseen luettelosta. Kun siirretään 4 poistomenetelmään, neljännen hakemiston kirjain, joka on ”E”, poistuu luettelosta. Kun iteroit käyttämällä for-silmukkaa, kirjaimet A, B, C ja D tulostuvat.

Mitkä ovat ArrayListin ja LinkedListin väliset yhtäläisyydet?

  • Sekä ArrayList että LinkedList toteuttavat luettelorajapinnan.
  • Sekä ArrayList että LinkedList voivat sisältää päällekkäisiä elementtejä.
  • Sekä ArrayList että LinkedList ylläpitävät lisäysjärjestystä.

Mikä on ero ArrayList ja LinkedList välillä?

ArrayList vs LinkedList

ArrayList on luokka, joka laajentaa AbstractList-luetteloa ja toteuttaa List-käyttöliittymän, joka käyttää sisäisesti dynaamista taulukkoa dataelementtien tallentamiseen. LinkedList on luokka, joka laajentaa AbstractSequentialList ja toteuttaa List-, Deque-, Queue-rajapintoja, joka käyttää sisäisesti kaksinkertaisesti linkitettyä luetteloa tietoelementtien tallentamiseen.
 Elementtien käyttö
ArrayList-elementtien käyttö on nopeampaa kuin LinkedList-elementtien. LinkedList-elementtien käyttö on hitaampaa kuin ArrayList-elementtien.
Elementtien manipulointi
ArrayListin elementtien manipulointi on hitaampaa kuin LinkedListin. LinkedListin elementtien manipulointi on nopeampaa kuin ArrayListin.
 käytös
ArrayList esiintyy luettelona. LinkedList esiintyy luettelona ja jonona.

Yhteenveto - ArrayList vs. LinkedList

Keräyskehys mahdollistaa työskentelyn tietorakenteiden kuten luetteloiden, puiden, karttojen ja sarjojen kanssa. Lista on keräyskehyksen käyttöliittymä. Tässä artikkelissa käsiteltiin eroa ArrayList ja LinkedList välillä. ArrayList on luokka, joka laajentaa AbstractList-luetteloa ja toteuttaa List-käyttöliittymän, joka käyttää sisäisesti dynaamista taulukkoa dataelementtien tallentamiseen. LinkedList on luokka, joka laajentaa AbstractSequentialList ja toteuttaa List-, Deque-, Queue-rajapintoja, joka käyttää sisäisesti kaksinkertaisesti linkitettyä luetteloa tietoelementtien tallentamiseen. Tämä on ero ArrayListin ja LinkedListin välillä.

Viite:

1. Johdanto linkitettyyn luetteloon Tietorakenteen opas | Studytonight. Saatavilla täältä
2. ”LinkedList Java - javatpoint.”, The Point, saatavana täältä
3. “Java ArrayList -luokka - javatpoint.” Kohta, saatavana täältä