Спросят с вероятностью 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 разработчика. Ставь 👍 если нравится контент
🧩 Идущий | 🔐 Собесы | 🔐 Тестовые