Учебное пособие: Наследование и классы-коллекции
// Получаем слово и что-нибудь делаем с ним, например,
// просто выводим на экран
System.out.println(st.nextToken()) ;
}
Полученные слова обычно заносятся в какой-нибудь класс-коллекцию: Vector, Stack или другой, наиболее подходящий для дальнейшей обработки текста контейнер. Классы-коллекции мы рассмотрены далее.
Приложение 3. Классы – коллекции
При решении задач, в которых количество элементов заранее неизвестно, элементы надо часто удалять и добавлять используются коллекции.
В языке Java с самых первых версий есть класс Vector, предназначенный для хранения переменного числа элементов самого общего типа Object.
Класс Vector
В классе Vector из пакета java.util хранятся элементы типа Object, а значит, любого типа. Количество элементов может быть любым и наперед не определяться. Элементы получают индексы 0, 1, 2, .... К каждому элементу вектора можно обратиться по индексу, как и к элементу массива.
Кроме количества элементов, называемого размером (size) вектора, есть еще размер буфера — емкость (capacity) вектора. Обычно емкость совпадает с размером вектора, но можно ее увеличить методом ensureCapacity(int minCapacity) или сравнять с размером вектора методом trimToSize().
Как создать вектор
В классе четыре конструктора:
Vector () — создает пустой объект нулевой длины;
Vector (int capacity) — создает пустойобъект указанной емкости capacity;
Vector (int capacity, int increment) — создает пустой объект указанной емкости capacity и задает число increment, на которое увеличивается емкость при необходимости;
vector (Collection с) — вектор создается по указанной коллекции. Если capacity отрицательно, создается исключительная ситуация. После создания вектора его можно заполнять элементами.
Как добавить элемент в вектор
Метод add (Object element) позволяет добавить элемент в конец вектора.
Методомadd (intindex, Objectelement) можно вставить элемент в указанное место index. Элемент, находившийся на этом месте, и все последующие элементы сдвигаются, их индексы увеличиваются на единицу.
Метод addAll (Collection coll) позволяет добавить в конец вектора все элементы коллекции coll.
Методом addAll(int index, Collection coll) возможно вставить в позицию index все элементы коллекции coll.
Как заменить элемент
Метод set (int index, Object element) заменяет элемент, стоявший в векторе в позиции index, на элемент element.
Как узнать размер вектора
Количество элементов в векторе всегда можно узнать методом size(). Метод capacity()возвращает емкость вектора.
Логический метод isEmpty() возвращает true, если в векторе нет ни одного элемента.
Как обратиться к элементу вектора
Обратиться к первому элементу вектора можно методом firstElement(), к последнему — методом lastElement(), к любому элементу — методом get(int index).
Эти методы возвращают объект класса Object. Перед использованием его следует привести к нужному типу.