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

Одно общее определение, которое мы будем помнить при написании о векторе (Java). Векторы Java обычно используются вместо массивов. Мы можем привести примеры для того же - пока данные увеличиваются автоматически, они будут расширяться. Мы можем создать вектор с начальным размером или с начальным размером по умолчанию.

Мы увидим код для начального размера по умолчанию или начального размера:

  • Создать вектор с начальным размером по умолчанию
    Vector v = new Vector ();
  • Создать вектор с начальным размером
    Вектор v = новый вектор (300);

Ниже приведены общие векторные методы:

  • добавить (о)
  • Чисто()
  • firstElement (я)
  • ListIterator ()
  • размер()
  • ToArray (Object ())

Java ArrayList является одной из самых простых и наиболее часто используемых структур данных в классах реализации библиотеки Java API. Главное, что он использует динамический массив для хранения элементов. Одна вещь, которую мы должны помнить при создании массивов, это те, которые имеют фиксированную длину, после того, как они созданы, мы не можем делать никаких изменений.

Ниже приведены конструкторы

ArrayList () - помогает в построении пустого списка массивов

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

Предварительно указанная коллекция

ArrayList (intacity) - помогает при создании пустого списка.

Ниже приведены наиболее часто используемые методы :: ::

  • Логическое сложение (E obj)
  • void add (int index, E obj)
  • E get (int index)
  • логическое значение (Object obj)
  • логическое isEmpty ()

Java была представлена ​​с новой коллекцией API в Java 2.0 для обеспечения унифицированных структурированных классов. Когда новый API введен, в методах будут изменения. Теперь здесь мы увидим некоторые из старых и новых методов, измененных во время изменения API.

Старый методНовый метод
Объект elementAt (int)Объект get (int)
void insertElementAt (Object, int)void add (index, Object)
void addElement (Object)логическое сложение (объект)
void setElementAt (int)Набор объектов (int, Object)
void removeElementAt (int)void удалить (int)
void removeAllElements ()void clear ()

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

Ниже приведено сравнение 8 лучших версий Java Vector и ArrayList.

Ключевые различия между Java Vector и ArrayList

Ниже приведены списки точек, описывающих ключевые различия между Java Vector и ArrayList

ArrayList не синхронизирован и не безопасен для потоков, но Vector синхронизирован и имеет один поток для одновременного вызова методов. Но когда дело доходит до безопасности - это однопоточный регистр, ArrayList - единственный выбор, но если мы работаем над многопоточностью, нам нужно отдать предпочтение Векторам. Если у нас есть какие-либо сомнения или путаница в данных, тогда мы можем выбрать вектор, потому что в векторе мы можем установить значение приращения.

Вектор может использовать интерфейс Enumeration и Iterator для обхода элементов, но ArrayList может использовать только интерфейс Iterator для обхода. В векторе Если вы используете оболочку Integer, вы не сможете изменить целочисленное значение. В векторе два наиболее часто используемых метода имеют Next () и next (). ArrayLists создаются с начальным размером, потому что если объекты добавляются, это увеличивает размер, а объекты, удаляющие размер, будут автоматически уменьшаться.

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

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

Java Vector и ArrayList оба класса используются для динамического использования массивов. Класс ArrayList - E указывает тип объектов, которые может содержать массив. Здесь созданный массив является переменной один и может увеличиваться или уменьшаться в зависимости от размещения объекта. Vector :: class Vector - E представляет тип объекта, который будет храниться в массиве.

Рекомендуемые курсы

  • Учебный курс по структурам данных и алгоритмам
  • Курсы по управлению дефектами
  • Программирование оболочки в программе Cygwin

Сравнительная таблица между Java Vector и ArrayList

Ниже приведена таблица сравнения между Java Vector и ArrayList

Основа для сравнениявекторыArrayList
основнойВектор - это унаследованный класс, и он синхронизированArrayList не является унаследованным классом и не синхронизируется.
РазмерПочти вдвое увеличит размер, если общее количество элементов увеличитсяArrayList увеличится на 50% от его размера, если количество элементов увеличится
Рост данныхВектор растет и уменьшается динамически, чтобы поддерживать оптимальное использование хранилищаArrayList растут и сжимаются динамически, чтобы поддерживать оптимальное использование хранилища
ИнтерфейсВектор использует интерфейс Iterator и EnumerationArrayList использует интерфейс Iterator
ПроизводительностьВектор медленный по сравнению с ArrayList, потому что он синхронизированArrayList работает быстро из-за отсутствия синхронизации
Поток Сейфданет
Введено вВведено в версии JDK 1.0Введено в версию JDK 1.2
Установить размер приращенияВектор определяет размер приращения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 против производительности Java: что лучше? (Инфографика)
  3. Java против JavaScript - 8 полезных сравнений для изучения
  4. Java против Python - Лучшие 9 важных сравнений, которые вы должны изучить
  5. Java Heap vs Stack - 7 потрясающих вещей, которые вы должны знать
  6. C # Array vs List: каковы преимущества
  7. Array vs ArrayList | 6 лучших отличий