Класс Java Vector: Руководство для начинающих
Введение
Привет, будущий программист на Java! Сегодня мы погружаемся в увлекательный мир класса Java Vector. Не волнуйтесь, если вы никогда раньше не писали ни одной строчки кода – я стану вашим дружелюбным гидом в этом путешествии, так же, как и для многих студентов за годы моей преподавательской деятельности.
Представьте себе, что вы организуете вечеринку и вам нужен список, чтобы отслеживать всех ваших гостей. Вот что и делает 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 несколько по-разному:
- По умолчанию конструктор создает пустой Vector.
- Второй создает Vector с начальной емкостью 10.
- Третий создает Vector с начальной емкостью 10, и он увеличится на 5 каждый раз, когда понадобится расти.
- Последний создает 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));
}
}
}
Разберем это:
- Мы начинаем с создания нового Vector под названием
iceCreamFlavors
. - Мы добавляем четыре вкуса с помощью метода
add()
. - Мы используем цикл for-each, чтобы вывести все вкусы.
- Затем мы добавляем "Чизкейк" в позицию 2 (которая будет третьей позицией).
- Наконец, мы используем традиционный цикл for, чтобы вывести обновленный список с нумерацией.
Вывод
Когда вы выполните этот код, вы увидите что-то вроде этого:
Наши вкусы мороженого:
- Шоколад
- Ваниль
- Клубника
- Мятное шоколадное
Обновленные вкусы мороженого:
1. Шоколад
2. Ваниль
3. Чизкейк
4. Клубника
5. Мятное шоколадное
И вот так! Вы только что создали, изменили и пройдясь по Vector. Неужели это уже не сделает вас настоящим программистом на Java?
Помните, практика совершенства. Попробуйте создавать Vectors с различными типами объектов или экспериментируйте с другими методами, о которых мы говорили. И до того, как вы это поймете, вы будете манипулировать Vectors как профессионал!
Класс Java Vector – это мощное инструмент в вашем наборе программирования. Хотя он в значительной степени был заменен ArrayList в современном программировании на Java по причинам производительности, понимание Vector все еще ценно, особенно когда работаете с устаревшим кодом или когда вам нужна потокобезопасная динамическая массива.
Так что продолжайте программировать, учиться и, что самое важное, наслаждаться Java!
Credits: Image by storyset