Rozdiely medzi Java Vector vs ArrayList

Jedna spoločná definícia, ktorú si zapamätáme pri písaní vektora (Java). Namiesto polí sa bežne používajú vektory Java. Môžeme uviesť príklady toho istého - údaje sa síce automaticky zvyšujú, ale rozširujú sa. Môžeme vytvoriť vektor s pôvodnou veľkosťou alebo s predvolenou pôvodnou veľkosťou.

Uvidíme kód pre predvolenú počiatočnú veľkosť alebo počiatočnú veľkosť ::

  • Vytvorenie vektora s predvolenou pôvodnou veľkosťou
    Vektor v = nový Vektor ();
  • Vytvorenie vektora s pôvodnou veľkosťou
    Vektor v = nový Vektor (300);

Nižšie sú uvedené bežné vektorové metódy ::

  • pridanie (o)
  • jasný()
  • firstElement (i)
  • listIterator ()
  • size ()
  • ToArray (Object ())

Java ArrayList je jednou z najjednoduchších a najpoužívanejších dátových štruktúr v implementačných triedach knižnice Java API. Hlavná dôležitá vec je, že používa dynamické pole na ukladanie prvkov. Jedna vec, ktorú by sme si mali pri vytváraní polí pamätať, sú tie, ktoré majú pevnú dĺžku, keď sú vytvorené, nemôžeme robiť žiadne úpravy.

Tu sú Konštruktori

ArrayList () - Pomáha pri vytváraní prázdneho zoznamu polí

ArrayList (Zbierka c) - Pomáha pri zostavovaní zoznamu konštrukčných prvkov v a

Preddefinovaná zbierka

ArrayList (int kapacita) - Pomáha pri zostavovaní prázdneho zoznamu.

Nižšie sú uvedené najbežnejšie používané metódy :: ::

  • Booleovský add (E obj)
  • void add (index int, E obj)
  • E get (int index)
  • boolean obsahuje (Object obj)
  • boolean isEmpty ()

Java bola predstavená s novou kolekciou API v Java 2.0 na zabezpečenie jednotných štruktúrovaných tried. Po zavedení nového rozhrania API dôjde k zmenám v metódach. Teraz tu uvidíme niektoré staré a nové metódy zmenené v čase zmeny API.

Stará metódaNová metóda
Prvok objektuAt (int)Objekt get (int)
void insertElementAt (Object, int)void add (index, Object)
void addElement (Object)boolean add (Object)
void setElementAt (int)Sada objektov (int, Object)
void removeElementAt (int)odstránenie neplatnosti (int)
void removeAllElements ()prázdne jasné ()

Porovnanie Head to Head medzi Java Vector vs ArrayList (Infographics)

Nižšie je najlepších 8 porovnaní medzi Java Vector vs ArrayList

Kľúčové rozdiely medzi vektorom Java Vector a ArrayListom

Nižšie sú uvedené zoznamy bodov, popíšte kľúčové rozdiely medzi vektorom Java Vector vs ArrayList

ArrayList je nesynchronizovaný a nie je bezpečný pre vlákno, ale Vector je synchronizovaný a má jedno vlákno na volanie metód súčasne. Ale keď príde na bezpečnosť, je jednovláknový prípad ArrayList je jediná možnosť, ale ak pracujeme na multithreadinge, musíme uprednostniť vektory. Ak máme akékoľvek pochybnosti alebo nejasnosti v údajoch, môžeme zvoliť vektor, pretože vo vektore môžeme nastaviť hodnotu prírastku.

Vektor môže použiť Enumeration aj Iterator rozhranie na prechod cez elementy, ale ArrayList môže použiť iba Iterator rozhranie na prechod. Vo vektore Ak používate wrapper Celé číslo, nebudete môcť zmeniť celočíselnú hodnotu. Vo vektore majú dve najpoužívanejšie metódy Next () a next (). ArrayLists sa vytvárajú s počiatočnou veľkosťou, pretože ak ich pridávajú objekty, zväčšia sa a objekty, ktorých odstránenie sa bude zmenšovať, automaticky sa zníži.

Vektorová trieda v Java implementuje dynamické pole objektov. Je to úplne totožné s poľom, obsahuje prvky dostupné pomocou jednoduchého celočíselného indexu. Veľkosť vektora sa však môže zväčšovať alebo zmenšovať, aby sa prispôsobila pridávaniu a odstraňovaniu položiek podľa potreby.

Java Vector a ArrayList poskytujú škálovateľné pole, ktoré znamená pole, ktoré môže zväčšiť priestor. Java poskytuje vektorovú triedu na zabezpečenie dynamickej veľkosti, všeobecné a užitočné preddefinované metódy (metódy sme už videli na strane 1). Ak je veľkosť pevná, použite pole; použite Vector, ak sa veľkosť môže zmeniť. Java Vector aj ArrayList sú založené na indexoch a interne používajú pole a oba Java Vector vs ArrayList udržiavajú poradie vkladania prvkov. Java ponúka triedu ArrayList, ktorá poskytuje podobné funkcie ako Vector dynamické, všeobecné a užitočné preddefinované metódy.

Java Vector a ArrayList obe triedy používané na dynamické používanie polí. Trieda ArrayList - E určuje typ objektov, ktoré môže mat 'pole. Vytvorené pole je variabilné a podľa pridelenia objektu sa môže zväčšiť alebo zmenšiť. Vector :: class Vector - E predstavuje typ objektu, ktorý bude uložený v poli.

Odporúčané kurzy

  • Školenie o dátových štruktúrach a algoritmoch
  • Kurzy správy porúch
  • Programovanie škrupín v programe Cygwin

Porovnávacia tabuľka medzi Java Vector vs ArrayList

Nasleduje porovnávacia tabuľka medzi Java Vector vs ArrayList

Základ pre porovnanieVectorsArrayList
základnéVektor je starou triedou a je synchronizovanýArrayList nie je starou triedou a nie je synchronizovaný.
veľkosťTakmer sa zdvojnásobí veľkosť, ak sa zvýši celkový počet prvkovAk sa počet prvkov zvýši, ArrayList sa zvýši o 50% svojej veľkosti
Rast údajovVektor rastie a zmenšuje sa dynamicky, aby sa udržalo optimálne využitie úložného priestoruArrayList rastie a zmenšuje sa dynamicky, aby sa udržalo optimálne využitie úložného priestoru
RozhranieVector Používa rozhranie Iterator a EnumerationArrayList Používa rozhranie Iterator
výkonVektor je pomalý v porovnaní s ArrayListom, pretože je synchronizovanýArrayList je rýchly kvôli nesynchronizácii
Vlákno bezpečnéÁnožiadny
Zavedené v roku 2006Zavedené vo verzii JDK 1.0Zavedené vo verzii JDK 1.2
Nastavte veľkosť prírastkuVektor definuje veľkosť prírastkuArrayList nedefinuje veľkosť prírastku

Záver Java Vector vs ArrayList

Na záver, aby sme dospeli k záveru, vektor Java vs ArrayList majú obidve výhody a nevýhody. Obaja sú na trhu veľmi úspešní. ArrayList je posledný raz, ak ho porovnáme s vektorom. Ak nepotrebujete synchronizáciu, preferuje sa ArrayList. Ak používate Vector alebo ArrayList, vždy sa pokúste inicializovať najväčšiu kapacitu, ktorú váš program bude potrebovať, pretože rozšírenie poľa je nákladné. ja

ArrayList je synchronizovaný, pretože preto, že na poli môže byť súčasne prevádzkovaných viac vlákien, s odkazom na pole, keď jedno vlákno pridáva do objektu, iné vlákno odstraňuje objekt z rovnakého poľa v rovnakom čase.

Java Vector aj ArrayList obsahujú odkazy na objekty. Ak je pole úplne obsadené a ak chceme pridať nový objekt po úplnom obsadení, teraz sa v oboch prípadoch veľkosť zväčší, ale hlavný rozdiel príde vo veľkosti v poli ArrayList, ak veľkosť nie je zadaná, môže sa zväčšiť o polovicu aktuálneho poľa, ale vektor môže zdvojnásobiť veľkosť, ak nie je zadaná hodnota prírastku.

Nakoniec na záver konštatujem, že ArrayList sa vždy uprednostňuje. Prečo, pretože ArrayList pracuje rýchlejšie a lepšie v porovnaní s Vector.

Odporúčaný článok

Toto bol sprievodca rozdielmi medzi vektorom Java vs ArrayListom, ich významom, porovnaním medzi dvoma hlavami, kľúčovými rozdielmi, porovnávacími tabuľkami a závermi. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. Výkon Java vs Python: Aké sú rozdiely
  2. Scala verzus Java Performance: Čo je lepšie? (Infographics)
  3. Java vs JavaScript - 8 užitočných porovnávaní, ktoré sa treba naučiť
  4. Java vs Python - Top 9 dôležitých porovnaní, ktoré musíte naučiť
  5. Java Heap vs Stack - 7 úžasných vecí, ktoré by ste mali vedieť
  6. C # Array vs List: Aké sú výhody
  7. Array vs ArrayList | Top 6 Rozdiely

Kategórie: