ArrayList vs Vector: Rozdíl a srovnání

ArrayList a vektory ukládají prvky pole. Umožňují uživatelům ukládat více objektů. V obou se data ukládají dynamicky.

Key Takeaways

  1. ArrayList a Vector jsou implementace pole s měnitelnou velikostí v Javě.
  2. Vektor je synchronizován, ale ArrayList nikoli.
  3. ArrayList je rychlejší. Vector je bezpečný pro vlákna.

ArrayList vs Vector

ArrayList je pole s měnitelnou velikostí, které není synchronizováno, díky čemuž je rychlé. K procházení prvků používá rozhraní Iterator. Vektor ukládá prvky stejného typu nebo se implicitně převádí a může používat iterátor i výčtové rozhraní. Je synchronizovaný, a proto pomalý.

ArrayList vs Vector

ArrayList pomáhá uživateli provádět úpravy velikosti pole. ArrayList umožňuje zmenšit nebo rozšířit pole podle požadavků uživatele.

vektor se nachází v Javě. Util balíček. Podporuje dynamické pole prvků, což znamená, že pole lze měnit. Vektory patří do třídy legacy.

Srovnávací tabulka

Parametry srovnáníArrayListvektor
SynchronizaceArrayList není synchronizovaný, tj. může pracovat na různých vláknech současně.Vektor je synchronizovaný, tj. pouze jedno vlákno může zpracovávat kód najednou.
RychlostJeho operace jsou rychlé, protože nejsou synchronizované.Vektorové operace běží pomaleji, protože jsou synchronizovány.
Změna velikostiPokud prvky překročí svou kapacitu, ArrayList se zvětší o 50 % stávající velikosti pole.Pokud prvky překročí svou kapacitu, vektor se zvětší o 100 % velikosti stávajícího pole.
PřednostProgramátoři preferují ArrayList před vektory.Je méně preferovaný, protože synchronizace ve vektorech způsobuje horší výkon.
Průjezd (průchozí)K procházení prvků používá Iterator.K procházení prvků může použít iterátor i výčet.

Co je to ArrayList?

ArrayList je upravitelné pole. Nachází se v Jáva. util balíček. Vytvoření ArrayList je užitečné, když uživatel nezná velikost dat, která mají být zahrnuta.

Také čtení:  VB vs VBScript: Rozdíl a srovnání

ArrayList umožňuje uživatelům provádět základní operace přidávání prvků, odebírání prvků, změny prvků a operace smyček. 

ArrayList podporuje více operací. 

  1. Chcete-li přidat prvky: K přidání prvků použijte operaci add().
  2. Přístup k libovolnému prvku: K prvkům lze přistupovat pomocí možnosti get(). K prvkům se přistupuje pomocí indexátoru, který začíná od nuly. 
  3. Chcete-li změnit prvek: Chcete-li provést změny v jakémkoli konkrétním prvku, použijte operaci set().
  4. Odebrání prvků: Tyto tři operace Remove(), Removerange(, ) a RemoveAt se používají k odstranění prvků v ArrayList.

ArrayList se ovládá jeho velikostí. Lze jej však rozšířit přidáním prvků a zmenšit odebráním prvků.

Následující dvě metody se používají ke kontrole, zda prvek existuje v Java ArrayList nebo ne.

  1. obsahuje()
  2. indexOf()

Co je Vektor?

Vector je považován za starší třídu, která je synchronizovaná. Pokud je k provozu potřeba více vláken, nemohou současně fungovat žádná dvě vlákna.

Vektory jsou považovány za bezpečné pro vlákna. Bezpečnost závitů zajišťuje uživatelům, že všechna vlákna fungují správně a splňují jejich konstrukční kritéria bez nežádoucí interakce. 

Vektor zajišťuje přidání nebo odstranění prvků zvětšením nebo zmenšením velikosti vektoru. Tam může být některé případy, kdy uživatel nemá předchozí znalosti o délce pole.

Vector, stejně jako ArrayList, umožňuje uživatelům provádět základní operace přidávání prvků, odebírání prvků, změny prvků a operace smyček.

  1. Chcete-li přidat prvky: K přidání prvků použijte operaci add().
  2. Chcete-li změnit prvky: Ke změně prvků použijte operaci set(). Prvky ve vektorech jsou přiřazeny jejich indexem.
  1. Odebrání prvků: K odstranění prvků z vektoru použijte metodu remove().
Také čtení:  Spotify vs Tidal: Rozdíl a srovnání

Vector podporuje další simplexní operace kromě základních uvedených operací.

Hlavní rozdíly mezi ArrayList A Vector

  1. Operace ArrayList nejsou bezpečné pro vlákna, zatímco vektorové operace jsou bezpečné pro vlákna.
  2. ArrayList je třída kolekce, zatímco vector je starší třída.
Reference
  1. https://dl.acm.org/doi/abs/10.1145/1044550.1041666
  2. https://dl.acm.org/doi/abs/10.1145/3394451.3397204

Poslední aktualizace: 19. července 2023

tečka 1
Jedna žádost?

Vynaložil jsem tolik úsilí, abych napsal tento blogový příspěvek, abych vám poskytl hodnotu. Bude to pro mě velmi užitečné, pokud zvážíte sdílení na sociálních sítích nebo se svými přáteli / rodinou. SDÍLENÍ JE ♥️

24 myšlenek na téma „ArrayList vs Vector: Rozdíl a srovnání“

Zanechat komentář

Chcete si tento článek uložit na později? Klikněte na srdce v pravém dolním rohu pro uložení do vlastního pole článků!