Különbségek a Java Vector és az ArrayList között

Az egyetlen közös meghatározás, amelyet a vektorról (Java) írva fogunk emlékezni. A Java vektorokat általában tömbök helyett használják. Adhatunk példákat erre - Míg az adatok automatikusan növekszenek, addig bővülni fog. Készíthetünk kezdeti méretű vagy alapértelmezett kezdeti méretű vektort.

Látni fogjuk az alapértelmezett kezdeti méret vagy a kezdeti méret kódját:

  • Alapértelmezett kezdeti méretű vektor létrehozása
    V v = új vektor ();
  • Kezdeti méretű vektor létrehozása
    V v = új Vector (300);

Az alábbiakban bemutatjuk a leggyakrabban alkalmazott vektor módszereket:

  • add (o)
  • egyértelmű()
  • firstElement (i)
  • ListIterator ()
  • méret()
  • toArray (Object ())

A Java ArrayList az egyik legegyszerűbb és leggyakrabban használt adatstruktúra a Java API könyvtár megvalósítási osztályaiban. A legfontosabb dolog, hogy dinamikus tömböt használ az elemek tárolására. Az egyik dolog, amelyet a tömbök létrehozásakor ne felejtsünk el, azok rögzített hosszúságúak, miután létrehoztuk őket, nem végezhetünk változtatásokat.

Az alábbiakban a konstruktorok találhatók

ArrayList () - Segít az üres tömblista létrehozásában

ArrayList (c gyűjtemény) - Segít az a konstrukciós elemek listájának összeállításában

Előzetesen meghatározott gyűjtemény

ArrayList (int kapacitás) - Ez segít egy üres lista összeállításában.

Az alábbiakban olvashatjuk a leggyakrabban használt módszereket :: ::

  • Boolean add (E obj)
  • void add (int index, E obj)
  • E get (int index)
  • logikai tartalmaz (obj objektum)
  • logikai isEmpty ()

A Java bevezetésre került egy új API-gyűjteménytel a Java 2.0-ban, hogy biztosítsák az egységes strukturált osztályokat. Az új API bevezetésekor megváltozik a módszer. Most itt láthatjuk a régi és az új módszerek egy részét, amelyek megváltoztak az API módosításakor.

Régi módszerÚj módszer
Object elementAt (int)Objektum kap (int)
érvénytelen insertElementAt (objektum, int)void add (index, objektum)
void addElement (Object)boolean add (Object)
érvénytelen setElementAt (int)Objektumkészlet (int, Object)
érvénytelen removeElementAt (int)érvénytelen eltávolítás (int)
void removeAllElements ()érvénytelen egyértelmű ()

Összehasonlítás a Java Vector és az ArrayList között (Infographics)

Az alábbiakban a Java Vector és az ArrayList 8 legjobb összehasonlítása található

Főbb különbségek a Java Vector és az ArrayList között

Az alábbiakban felsoroljuk a pontok listáját, írjuk le a Java Vector és az ArrayList közötti legfontosabb különbségeket

Az ArrayList nem szinkronizált és nem biztonságos szál, de a Vector szinkronizálva van, és egyszerre csak egy szál van ahhoz, hogy módszereket hívjon. De amikor a biztonságot egy menetes esetben vesszük fel, az ArrayList az egyetlen választás, de ha többszálú szálakon dolgozunk, akkor a Vektorokat kell előnyben részesíteni. Ha kétségeink vannak vagy zavarban vannak az adatokban, akkor kiválaszthatjuk a vektort, mert a vektorban beállíthatjuk a növekmény értékét.

Az vektorok mind az Enumeration, mind az Iterator felületet használhatják az elemek közötti áthaladáshoz, de az ArrayList csak az Iterator felületet használja az áthaladáshoz. Vektoros formában Ha az Egész átlapolót használja, akkor az egész értéket nem tudja megváltoztatni. A vektorban a két leggyakrabban használt módszer a következő () és a következő (). Az ArrayLists a kezdeti mérettel készül, mert ha az objektumok hozzáadódnak, akkor ez növeli a méretét, és az objektumok eltávolításakor a méret automatikusan csökken.

A Java vektorosztály az objektumok dinamikus tömbjét valósítja meg. Pontosan megegyezik a tömbtel, elemeket tartalmaz, egyszerű egyszerű index segítségével. A vektor mérete azonban növekedhet vagy csökkenhet, hogy szükség esetén elemeket adjon hozzá és távolítson el.

A Java Vector és az ArrayList egyaránt tartalmaz egy átméretezhető tömböt, azaz olyan tömböt, amely növelheti a helyet. A Java vektorosztályt biztosít dinamikus méretű, általános és hasznos előre meghatározott módszerekhez (a módszereket már láttuk az 1. oldalon). Használjon tömböt, ha a méret rögzített; használja a Vector-t, ha a méret megváltozhat. Mind a Java Vector, mind az ArrayList index alapú, és tömböt használnak belsőleg, és mind a Java Vector vs ArrayList fenntartják az elemek beillesztési sorrendjét. A Java ArrayList osztályt kínál, amely hasonló funkciókat kínál, mint a Vector dinamikus, általános és hasznos előre meghatározott módszerek.

A Java Vector és az ArrayList mindkét osztály a tömbök dinamikus felhasználására szolgál. ArrayList - E osztály határozza meg az objektum típusát, amelyet egy tömb képes tárolni. Az itt létrehozott tömb változó egy, és az objektum allokáció alapján növelheti vagy csökkentheti. Vector :: osztály A Vector - E azt a objektumtípust jelöli, amelyet a tömbben tárolnak.

Ajánlott tanfolyamok

  • Adatszerkezetek és algoritmusok tanfolyam
  • Hibakezelési tanfolyamok
  • Shell programozás a Cygwin programban

Összehasonlító táblázat a Java Vector és az ArrayList között

Az alábbiakban bemutatjuk a Java Vector és az ArrayList összehasonlító táblázatát

Az összehasonlítás alapjaVektorTömb lista
AlapvetőA vektor a régi osztály, és szinkronizálva vanAz ArrayList nem a régi osztály, és nincs szinkronizálva.
MéretMajdnem megduplázódik a méret, ha az összes elem száma növekszikAz ArrayList méretének 50% -kal növekszik, ha az elemek száma növekszik
Az adatok növekedéseA vektorok dinamikusan növekednek és zsugorodnak a tárolás optimális kihasználása érdekébenAz ArrayList dinamikusan növekszik és zsugorodik a tárolás optimális kihasználása érdekében
FelületA Vector Iterator és Enumeration felületet használArrayList Iterator felületet használ
TeljesítményA vektor lassú az ArrayListhez képest, mert szinkronizáltAz ArrayList gyors a nem szinkronizálás miatt
Menet biztonságosIgenNem
BevezetveBemutatjuk a JDK 1.0 vertionbanBemutatjuk a JDK 1.2 vertionban
Állítsa be a növekmény méretétA vektor meghatározza a növekmény méretétAz ArrayList nem határozza meg a növekmény méretét

Összegzés Java Vector vs ArrayList

Végezetül a Java vector vs ArrayList összefoglalása szempontjából mindkettőnek vannak előnyei és hátrányai. Mindkettő nagyon sikeres a piacon. Az ArrayList a legutóbbi, ha összehasonlítjuk a Vector-rel. Az ArrayList előnyös, ha nincs szüksége szinkronizálásra. Vektor vagy ArrayList használatakor mindig próbáljon meg inicializálni a program legnagyobb kapacitását, mivel a tömb kibővítése költséges. én

Az ArrayList szinkronizálva van, miért, mert egynél több szál is működtethető a tömbön. A tömbre hivatkozva, ha egy szál hozzáadódik az objektumhoz, egy másik szál eltávolítja az objektumot ugyanabból a tömbből ugyanabban az időben.

A Java Vector és az ArrayList egyaránt tartalmaz objektumhivatkozásokat. Ha a tömb teljesen el van foglalva, és ha új objektumot akarunk hozzáadni a teljes kifoglaltság után, akkor mindkét esetben növekszik a méret, de a fő különbség az ArrayList méretében mutatkozik meg, ha a méretet nem adjuk meg, az az aktuális tömb felével nőhet, de a vektor megduplázhatja a méretet, ha a növekmény értéke nincs megadva.

Végül befejezésül mondom, hogy mindig inkább az ArrayList használatát részesíti előnyben. Miért, mert az ArrayList gyorsabban és jobban teljesít, mint a Vector.

Ajánlott cikk

Ez útmutatóként szolgál a Java Vector vs ArrayList közötti különbségekhez, azok jelentéséhez, a fej-fej összehasonlításhoz, a legfontosabb különbségekhez, az összehasonlító táblázathoz és a következtetésekhez. A következő cikkeket is megnézheti további információkért -

  1. Java teljesítmény vs Python: Mik a különbségek?
  2. Scala vs Java teljesítmény: melyik a jobb? (Infographics)
  3. Java vs JavaScript - 8 hasznos összehasonlítás a tanuláshoz
  4. Java vs Python - A 9 legfontosabb összehasonlítás, amelyet meg kell tanulnod
  5. Java Heap vs Stack - 7 fantasztikus dolog, amit tudnod kell
  6. C # tömb vs lista: Milyen előnyei vannak
  7. Array vs ArrayList | A 6 legfontosabb különbség

Kategória: