Arraylist vs Vector
A tömblista dinamikus tömbként tekinthető, amelynek mérete növekszik. Ezért a programozónak nem kell tudnia a tömblista méretét, amikor meghatározza. A vektor olyan tömbnek is tekinthető, amely növekszik. A vektorok könnyen kioszthatók és hozzászokhatók, ha a futtatáshoz szükséges időig nem ismert a tárolóeszköz mérete.
Mi az arraylist??
A tömblista dinamikus tömbként tekinthető, amelynek mérete növekszik. Ezért a tömblisták ideálisak olyan helyzetekben történő alkalmazáshoz, amelyekben nem ismeri a deklaráció időpontjában szükséges elemek méretét. A Java-ban a tömblisták csak objektumokat tudnak tartani, nem képesek közvetlenül a primitív típusokat tartani (az primitív típusokat egy objektumba tehetik, vagy használhatják a primitív típusok wrapper osztályait). A tömblistákat általában beillesztési, törlési és keresési eljárásokkal látják el. Az elemhez való hozzáférés időbonyolultsága o (1), míg a beillesztés és törlés o (n) időbeli összetettsége. A Java-ban a tömblisták foreach hurkok, iterátorok vagy egyszerűen az indexek segítségével haladhatók át. A Java-ban a tömblistákat az 1.2-es verzió óta vezették be, és ez a Java Gyűjtemények keretrendszerének része.
Mi az a vektor?
A vektor egy olyan tömb is, amely növekszik. A vektorok könnyen kioszthatók és felhasználhatók, ha a szükséges tárhelyméret nem ismert a futásidejig. A vektorok csak tárgyakat tudnak tartani, és nem képesek primitív típusokat tartani. A vektorok szinkronizáltak, ezért biztonságosan használhatóak többszálú környezetben. A vektorok az objektumok hozzáadására, az objektumok törlésére és a keresésre szolgáló módszerekkel rendelkeznek. Hasonlóan a java arilistájához, a vektorok átvihetők foreach hurkok, iterátorok vagy egyszerűen az indexek felhasználásával. A Java esetében a vektorokat a Java első verziója óta szerepeltetjük.
Mi a különbség az Arraylist és a Vector között?
Annak ellenére, hogy mind a tömblisták, mind a vektorok nagyon hasonlítanak a dinamikus tömbökhöz, amelyek mérete növekszik, van néhány fontos különbség. A tömblisták és a vektorok közötti fő különbség az, hogy a vektorok szinkronizáltak, míg a tömblista szinkronizálatlanok. Ezért a tömblista többszálú környezetben nem lesz megfelelő, míg a vektorok biztonságosan használhatók többszálú környezetben (mivel szálak biztonságosak). A vektorokban történő szinkronizálás azonban a teljesítmény csökkenését eredményezné. Ezért nem lenne jó ötlet, ha a vektorokat egyetlen menetes környezetben használnánk. Belsőleg mind a tömblisták, mind a vektorok tömböt használnak objektumok tartására. Ha a jelenlegi hely nem elég, a vektorok megkétszerezik a belső tömb méretét, míg a tömblista 50% -kal növeli a belső tömb méretét. Ha a tömblistákat és a vektorokat egyaránt használja, megfelelő kezdeti kapacitás megadásával elkerülhető a belső tömb felesleges átméretezése. Abban az esetben, ha az adatok növekedési sebessége ismert, a vektorok használata megfelelőbb lenne, mivel a vektorok növekményes értéke meghatározható.