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.
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
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.
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.
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. |
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ä.
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ä