Rozdiel medzi zoznamom a zoznamom polí v Java

Autor: Laura McKinney
Dátum Stvorenia: 2 Apríl 2021
Dátum Aktualizácie: 15 Smieť 2024
Anonim
Rozdiel medzi zoznamom a zoznamom polí v Java - Technológie
Rozdiel medzi zoznamom a zoznamom polí v Java - Technológie

Obsah


Zoznam a ArrayList sú členmi rámca Collection. Zoznam je kolekcia prvkov v postupnosti, kde každý prvok je objektom a k prvkom sa pristupuje z pozície (index). ArrayList vytvára dynamické pole objektov, ktoré sa podľa potreby zväčšuje alebo zmenšuje. Primárny rozdiel medzi zoznamom a zoznamom polí je ten zoznam je rozhranie a ArrayList je trieda. Poďme študovať rozdiel medzi zoznamom a zoznamom polí pomocou porovnávacej tabuľky uvedenej nižšie.

  1. Porovnávacia tabuľka
  2. definícia
  3. Kľúčové rozdiely
  4. záver

Porovnávacia tabuľka

Základ pre porovnaniezoznamArrayList
základnéZoznam je rozhranieArrayList je štandardná zbierka.
syntaxZoznam rozhranítrieda ArrayList
Predĺžiť / ImplementáciaRozhranie zoznamu rozširuje rámec zberu.ArrayList rozširuje AbstractList a implementuje rozhranie zoznamu.
namespaceSystem.Collections.Generic.System.Collections.
PrácaPoužíva sa na vytvorenie zoznamu prvkov (objektov), ​​ktoré sú spojené s ich indexovými číslami.ArrayList sa používa na vytvorenie dynamického poľa, ktoré obsahuje objekty.


Definícia zoznamu

Zoznam je rozhranie ktoré rozširuje zbierka rámec. Rozhranie zoznamu popisuje súbor prvkov, ktoré sú usporiadané postupne. Rozhranie zoznamu je implementované nasledujúcimi štandardnými triedami zberu, napr ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack, Rozhranie zoznamu obsahuje prvky, ktoré sú priradené k ich indexovým číslam. K prvku v zozname môžete pristupovať podľa jeho polohy (indexu) v zozname. Zoznam vytvorený pomocou rozhrania Zoznam začína indexom založeným na nule.

Rozhranie List okrem metód zdedených rámcom zbierky definuje aj vlastnú metódu. Metódy pridané rozhraním zoznamu sú: add (int, E) a addAll (int, Zbierka), Tieto metódy pridávajú prvok do zoznamu podľa indexu. Metódy v zozname môžu vyvolať výnimku typu UnsupportedOperationException ak metóda nie je schopná zmeniť zoznam. Ak je jeden objekt v zozname nekompatibilný s iným objektom v zozname, potom ClassCastException je vyvolaný. Null elementy nie sú v zozname povolené, ak sa pokúsite vložiť nulový objekt do zoznamu, NullPointerException je hodený.


Prvok zo zoznamu môžete získať pomocou get () metóda. Hodnotu prvku v zozname môžete nastaviť pomocou set () metóda. Sublist môžete tiež získať zo zoznamu pomocou metódy podseznam (), Je pohodlnejšie pracovať so sublistom namiesto zoznamu.

Definícia zoznamu polí

Jednou zo štandardných tried kolekcie je ArrayList, ktorá sa rozširuje AbstractList trieda a tiež implementuje zoznam rozhranie. Trieda ArrayList sa používa na vytváranie dynamických polí, ktoré rastú a zmenšujú sa, kedykoľvek je to potrebné. Zoznam vytvorený pomocou triedy ArrayList nie je nič iné ako pole objektov. V jazyku Java má štandardné pole pevnú dĺžku, preto musíte vopred vedieť veľkosť poľa. Môže sa však stať, že nebudete vedieť, akú dĺžku poľa potrebujete do doby spustenia. Preto rámec Collection predstavil triedu ArrayList na prekonanie tohto problému.

ArrayList má konštruktory, ktoré vytvárajú pole so svojou počiatočnou kapacitou. Aj keď kapacita objektu triedy ArrayList sa automaticky zvyšuje, keď sú prvky pridané do poľa, stále môžete manuálne zväčšiť kapacitu objektu ArrayList pomocou metódy ensureCapacity (), Je lepšie na začiatku zvýšiť kapacitu poľa namiesto neskoršieho prerozdelenia pamäte. Pretože prerozdelenie je nákladnejšie ako pridelenie pamäte naraz.

  1. Jedným z najdôležitejších rozdielov medzi zoznamom a zoznamom polí je, že zoznam je rozhranie a ArrayList je štandardná zbierka trieda.
  2. Rozhranie zoznamu rozširuje zbierka keďže ArrayList sa rozširuje AbstractList Trieda a implementuje sa zoznam rozhranie.
  3. Rozhranie názvov pre zoznam je System.Collection.Generic zatiaľ čo menný priestor pre ArrayList je System.Collection.
  4. Rozhranie zoznamu vytvára kolekciu prvkov, ktoré sú uložené v sekvencii a sú identifikované alebo prístupné podľa ich indexového čísla. Na druhej strane, ArrayList vytvára pole objektov, v ktorých môže pole podľa potreby dynamicky rásť.

záver:

ArrayList prekonáva problém statického poľa v štandardnej Java, t. J. Pole sa nemôže po jeho vytvorení zväčšiť. Keď sa pole vytvorí pomocou ArrayList, vytvorí sa dynamické pole, ktoré sa v prípade potreby môže zväčšiť a zmenšiť. Štandardná trieda zbierky ArrayList rozširuje rozhranie zoznamu.