Класс Java Vector: Руководство для начинающих

Введение

Привет, будущий программист на Java! Сегодня мы погружаемся в увлекательный мир класса Java Vector. Не волнуйтесь, если вы никогда раньше не писали ни одной строчки кода – я стану вашим дружелюбным гидом в этом путешествии, так же, как и для многих студентов за годы моей преподавательской деятельности.

Java - Vector Class

Представьте себе, что вы организуете вечеринку и вам нужен список, чтобы отслеживать всех ваших гостей. Вот что и делает Vector в Java – это динамический список, который может увеличиваться или уменьшаться по мере необходимости. Довольно удобно, правда?

Объявление класса

Давайте начнем с того, как объявляется Vector в Java. Это проще, чем вы, возможно, думаете!

import java.util.Vector;

Vector<String> guestList = new Vector<String>();

В этом примере мы создаем Vector под названием guestList, который будет хранить объекты String (в данном случае, имена наших гостей на вечеринке). Часть <String> сообщает Java, какого типа объекты мы будем хранить в нашем Vector.

Конструкторы класса

Теперь рассмотрим различные способы создания Vector. Это как выбор, какую вечеринку вы хотите устроить!

// По умолчанию конструктор
Vector<Integer> v1 = new Vector<>();

// Конструктор с начальной емкостью
Vector<Integer> v2 = new Vector<>(10);

// Конструктор с начальной емкостью и приростом емкости
Vector<Integer> v3 = new Vector<>(10, 5);

// Конструктор из другой коллекции
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
Vector<Integer> v4 = new Vector<>(list);

Каждый из этих конструкторов создает Vector несколько по-разному:

  1. По умолчанию конструктор создает пустой Vector.
  2. Второй создает Vector с начальной емкостью 10.
  3. Третий создает Vector с начальной емкостью 10, и он увеличится на 5 каждый раз, когда понадобится расти.
  4. Последний создает Vector из существующей коллекции (в данном случае, из ArrayList).

Методы класса

Класс Vector поставляется с полным набором полезных методов. Давайте рассмотрим некоторые из самых распространенных:

Метод Описание
add(E element) Добавляет элемент в конец Vector
add(int index, E element) Вставляет элемент в указанную позицию
get(int index) Возвращает элемент в указанной позиции
remove(int index) Удаляет элемент в указанной позиции
size() Возвращает количество элементов в Vector
clear() Удаляет все элементы из Vector
contains(Object o) Возвращает true, если Vector содержит указанный элемент

Наследуемые методы

Vector не одинок – он наследует методы от своих родительских классов тоже. Вот некоторые из них:

  • Из AbstractList: hashCode(), equals()
  • Из AbstractCollection: toString()
  • Из Object: clone(), finalize()

Эти наследуемые методы придают Vector еще больше функциональности из коробки!

Пример добавления элементов и итерации по Vector

Теперь попробуем применить наши знания на практике с веселым примером. Мы создадим Vector из наших любимых вкусов мороженого и затем выведем их.

import java.util.Vector;

public class IceCreamParty {
public static void main(String[] args) {
// Создаем новый Vector для хранения вкусов мороженого
Vector<String> iceCreamFlavors = new Vector<>();

// Добавляем несколько вкусов в наш Vector
iceCreamFlavors.add("Шоколад");
iceCreamFlavors.add("Ваниль");
iceCreamFlavors.add("Клубника");
iceCreamFlavors.add("Мятное шоколадное");

// Выводим все вкусы
System.out.println("Наши вкусы мороженого:");
for (String flavor : iceCreamFlavors) {
System.out.println("- " + flavor);
}

// Добавим еще один вкус в определенную позицию
iceCreamFlavors.add(2, "Чизкейк");

// Выводим обновленный список
System.out.println("\nОбновленные вкусы мороженого:");
for (int i = 0; i < iceCreamFlavors.size(); i++) {
System.out.println((i+1) + ". " + iceCreamFlavors.get(i));
}
}
}

Разберем это:

  1. Мы начинаем с создания нового Vector под названием iceCreamFlavors.
  2. Мы добавляем четыре вкуса с помощью метода add().
  3. Мы используем цикл for-each, чтобы вывести все вкусы.
  4. Затем мы добавляем "Чизкейк" в позицию 2 (которая будет третьей позицией).
  5. Наконец, мы используем традиционный цикл for, чтобы вывести обновленный список с нумерацией.

Вывод

Когда вы выполните этот код, вы увидите что-то вроде этого:

Наши вкусы мороженого:
- Шоколад
- Ваниль
- Клубника
- Мятное шоколадное

Обновленные вкусы мороженого:
1. Шоколад
2. Ваниль
3. Чизкейк
4. Клубника
5. Мятное шоколадное

И вот так! Вы только что создали, изменили и пройдясь по Vector. Неужели это уже не сделает вас настоящим программистом на Java?

Помните, практика совершенства. Попробуйте создавать Vectors с различными типами объектов или экспериментируйте с другими методами, о которых мы говорили. И до того, как вы это поймете, вы будете манипулировать Vectors как профессионал!

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

Так что продолжайте программировать, учиться и, что самое важное, наслаждаться Java!

Credits: Image by storyset