Разлики между Java Vector и ArrayList

Единствената обща дефиниция, която ще запомним, докато пишем за вектор (Java). Java векторите обикновено се използват вместо масиви. Можем да дадем примери за същото - Докато данните се увеличават автоматично, те ще се разширяват. Можем да създадем вектор с начален размер или с начален размер по подразбиране.

Ще видим кода за първоначален размер или начален размер ::

  • За да създадете вектор с начален размер по подразбиране
    Vector v = нов Vector ();
  • За да създадете вектор с първоначален размер
    Vector v = нов вектор (300);

По-долу са общите векторни методи ::

  • добави (о)
  • ясно ()
  • firstElement (I)
  • listIterator ()
  • размер ()
  • toArray (обект ())

Java ArrayList е една от най-простите и най-използваните структури от данни в класовете за изпълнение на библиотеката Java API. Основното важно е, че използва динамичен масив за съхранение на елементите. Едно нещо, което трябва да помним, докато създаваме масиви, са тези с фиксирана дължина, след като са създадени, не можем да правим никакви модификации.

По-долу са конструкторите

ArrayList () - помага при изграждането на списъка с празни масиви

ArrayList (Колекция c) - помага при съставянето на списък на конструктивни елементи в a

Предварително определена колекция

ArrayList (int капацитет) - помага при създаването на празен списък.

По-долу са най-често използваните методи :: ::

  • Булева добавка (E obj)
  • void add (int индекс, E obj)
  • Получете (int индекс)
  • boolean съдържа (Object obj)
  • boolean isEmpty ()

Java беше представена с нова колекция от API в Java 2.0, за да осигури единни структурирани класове. При въвеждане на нов API ще има промени в методите. Сега тук ще видим някои от старите и новите методи, променени по време на промяната на API.

Стар методНов метод
Обект елементAt (int)Обект get (int)
void insertElementAt (Object, int)невалидно добавяне (индекс, обект)
void addElement (обект)булева добавка (обект)
void setElementAt (int)Набор от обекти (int, Object)
void removeElementAt (int)невалидно премахване (int)
void removeAllElements ()нищожен ясен ()

Сравнение от главата до главата между Java Vector и ArrayList (Инфографика)

По-долу е топ 8 на сравнение между Java Vector и ArrayList

Ключови разлики между Java Vector срещу ArrayList

По-долу са списъците с точки, опишете ключовите разлики между Java Vector спрямо ArrayList

ArrayList е несинхронизиран и не е безопасен за конци, но Vector е синхронизиран и има една нишка за извикване на методи наведнъж. Но когато се стигне до безопасността е случай с единична резба, ArrayList е единственият избор, но ако работим върху многопоточност, тогава трябва да предпочитаме векторите. Ако имаме някакво съмнение или объркване в данните, тогава можем да изберете вектор, защото във вектор можем да зададем стойността на инкремента.

Вектор може да използва както изброяване, така и Iterator интерфейс за преминаване през елементи, но ArrayList може да използва само Iterator интерфейс за преминаване. Във вектор Ако използвате обвивката за цяло число, няма да можете да промените целочислената стойност. Във вектора двата най-използвани метода имат Next () и next (). ArrayLists са създадени с първоначален размер, защото ако обектите се добавят, той ще увеличи размера и обектите премахват размера ще намалява автоматично.

Векторният клас в Java реализира динамичен масив от обекти. Той е точно идентичен с масива, съдържа елементи, достъпни с помощта на прост цяло число. Въпреки това, размерът на вектор може да нараства или да се свива, за да приспособи добавянето и премахването на елементи според нуждите.

Java Vector и ArrayList осигуряват масивен масив, който означава масив, който може да увеличи пространството. Java осигурява векторен клас за осигуряване на динамичен размер, общи и полезни предварително дефинирани методи (вече видяхме методите в page1). Използвайте масив, ако размерът е фиксиран; използвайте Vector, ако размерът може да се промени. И Java Vector, и ArrayList са базирани на индекси и използват масива вътрешно, и двете Java Vector срещу ArrayList поддържат реда на вмъкване на елементи. Java предлага клас ArrayList, за да предостави подобни функции като Vector динамични, общи и полезни предварително определени методи.

Java Vector и ArrayList и двата класа, използвани за динамично използване на масиви. Class ArrayList - E указва типа обекти, които масивът може да държи. Тук създаденият масив е променлив един и може да се увеличи или намали въз основа на разпределението на обекта. Vector :: class Vector - E представлява типа обект, който ще се съхранява в масива.

Препоръчителни курсове

  • Обучителен курс по структури и данни за алгоритми
  • Курсове за управление на дефекти
  • Shell програмиране по програма Cygwin

Таблица за сравнение между Java Vector срещу ArrayList

Следва таблицата за сравнение между Java Vector срещу ArrayList

Основа за сравнениеВекториArrayList
ОсновенVector е наследственият клас и е синхронизиранArrayList не е наследственият клас и не е синхронизиран.
размерПочти ще удвои размера, ако общият брой елементи се увеличиArrayList ще се увеличи с 50% от размера си, ако броят на елементите се увеличи
Нарастване на даннитеВекторът расте и се свива динамично, за да поддържа оптимално използване на съхранениетоArrayList се разраства и свива динамично, за да поддържа оптимално използване на съхранението
интерфейсВектор използва Iterator и изброяване интерфейсArrayList използва Iterator интерфейс
производителностVector е бавен в сравнение с ArrayList, защото е синхронизиранArrayList е бърз поради не-синхронизация
Нишка безопаснадаНе
Въведена вВъведена в версия JDK 1.0Въведена в версия JDK 1.2
Задаване на размер на увеличениетоVector определя размера на прирастаArrayList не определя размера на инкремента

Заключение Java Vector срещу ArrayList

И накрая, за да заключим Java вектора срещу ArrayList и двете имат предимства и недостатъци. И двамата са много успешни на пазара. ArrayList е последният веднъж, ако сравним с Vector. ArrayList е предпочитан, ако не се нуждаете от синхронизация. Когато използвате Vector или ArrayList, винаги се опитвайте да инициализирате най-големия капацитет, от който вашата програма ще се нуждае, защото разширяването на масива е скъпо. аз

ArrayList е синхронизиран защо, тъй като повече от една нишка може да се работи с масива едновременно С позоваване на масива, ако една нишка се добавя към обекта, друга нишка премахва обект от същия масив в същото време.

Java Vector и ArrayList и двете съдържат препратки към обекти. Ако масивът е напълно зает и ако искаме да добавим нов обект след напълно заета, сега и в двата случая размерът ще се увеличи, но основната разлика идва в размер в ArrayList, ако не е посочен размер, той може да се увеличи с половината от текущия масив, но вектор може да удвои размера, ако стойността на нарастване не е посочена.

Най-накрая заключавам, като казвам, че винаги предпочита да използва ArrayList. Защо, защото ArrayList работи по-бързо и по-добре в сравнение с Vector.

Препоръчителен член

Това е ръководство за разликите между Java Vector спрямо ArrayList, тяхното значение, сравнение между главата, ключовите разлики, таблицата за сравнение и заключението. Можете също да разгледате следните статии, за да научите повече -

  1. Производителност на Java срещу Python: Какви са разликите
  2. Scala vs Java Performance: Кое е по-доброто? (Информационни графики)
  3. Java срещу JavaScript - 8 полезни сравнения за научаване
  4. Java срещу Python - Топ 9 важни сравнения, които трябва да научите
  5. Java Heap срещу Stack - 7 страхотни неща, които трябва да знаете
  6. C # масив срещу списък: какви са предимствата
  7. Array срещу ArrayList | Топ 6 разлики