TGViewer
Java | Вопросы собесов Java | Вопросы собесов @easy_java_ru · 11.3K subscribers
Post #93 4.91K
Что такое Vector ?
Спросят с вероятностью 12%

Vector — это класс, который реализует динамический массив для хранения объектов. Он является частью Java Collection Framework и находится в пакете java.util. Он очень похож на ArrayList, но с несколькими ключевыми отличиями:

1️⃣Синхронизация: В отличие от ArrayList, большинство методов в нем синхронизированы, что означает, что они потокобезопасны. Это означает, что объект Vector можно безопасно использовать в многопоточных средах без внешней синхронизации. Однако эта потокобезопасность идёт за счёт производительности, поэтому Vector может работать медленнее ArrayList в однопоточных приложениях.

2️⃣Расширение: Как и ArrayList, он автоматически увеличивает свой размер, когда в него добавляются новые элементы. Однако Vector позволяет указать размер инкремента — значение, на которое будет увеличиваться емкость вектора при необходимости расширения. Если размер инкремента не задан, то по умолчанию он удваивает свой размер.

Основные методы:

✅add(Object element): добавляет элемент в конец вектора.
✅get(int index): возвращает элемент по указанному индексу.
✅remove(int index): удаляет элемент по указанному индексу.
✅size(): возвращает количество элементов в векторе.
✅isEmpty(): возвращает true, если вектор не содержит элементов.

Пример:
import java.util.Vector;

public class VectorExample {
public static void main(String[] args) {
Vector<String> vector = new Vector<>();
vector.add("Java");
vector.add("Python");
vector.add("C++");

System.out.println("Первый элемент вектора: " + vector.get(0));

for(String lang : vector) {
System.out.println(lang);
}
}
}


Хотя Vector и является довольно старым классом, в современном коде он используется реже в пользу более новых классов коллекций, таких как ArrayList или CopyOnWriteArrayList, особенно в однопоточных приложениях или там, где потокобезопасность обеспечивается другими средствами. Основной сценарий использования Vector сегодня — это ситуации, когда требуется встроенная синхронизация доступа к коллекции из разных потоков.

👉 Можно посмотреть Примеры как отвечают люди на этот вопрос, или перейти К списку 1715 вопроса на Java разработчика. Ставь 👍 если нравится контент

🧩 Идущий | 🔐 Собесы | 🔐 Тестовые
  • 👍 13
More from @easy_java_ru
  1. Oct 12, 2026🤔 Жизненный цикл сервлетов? 1. Загрузка и инициализация (init); 2. Обработка запроса (ser…
  2. Oct 12, 2026🤔 Как остановить поток? Остановить поток в Java можно несколькими способами, но важно пом…
  3. Oct 11, 2026🤔 Какой класс позволяет читать данные из входного байтового потока в формате примитивных…
  4. Oct 11, 2026🤔 Чем отличается where от having ? WHERE и HAVING используются для фильтрации записей, но…
  5. Oct 10, 2026🤔 На основании какой структуры данных реализован ArrayList? ArrayList реализован на базе…
  6. Oct 9, 2026🤔 Что такое «HTML»? HTML (HyperText Markup Language) — это язык разметки, используемый дл…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →