Vector — это устаревший (legacy) класс в Java, реализующий динамический массив. Является потокобезопасным (thread-safe), потому что большинство его методов синхронизированы с использованием ключевого слова synchronized. Это делает его менее производительным по сравнению с ArrayList в однопоточной среде.
Основные характеристики:
Vector (например, add(), remove()), являются синхронизированными.ArrayList.AbstractList.Пример простого использования:
java
Сравнение с ArrayList:
| Признак | Vector | ArrayList |
|---|---|---|
| Синхронизация | Синхронизированный | Несинхронизированный |
| Производительность | Медленнее (в однопотоке) | Быстрее |
| Устаревший | Да | Нет |
| Увеличение емоксти | Можно задать инкремент | Увеличивается на 50% |
В современных Java-приложениях Vector редко используется. В большинстве случаев предпочтительнее применять ArrayList для несинхронизированных списков или CopyOnWriteArrayList или оборачивать ArrayList с помощью Collections.synchronizedList() для потокобезопасных сценариев.