Интерфейс collection из пакета java.util описывает общие свойства коллекций List и set. Он содержит методы добавления и удаления элементов, проверки и преобразования элементов:
boolean add (Object obj) — добавляет элемент obj в конец коллекции; возвращает false, если такой элемент в коллекции уже есть, а коллекция не допускает повторяющиеся элементы; возвращает true, если добавление прошло удачно;
boolean addAii (Collection coll) — добавляет все элементы коллекцииcoll в конец данной коллекции;
void clear () — удаляет все элементы коллекции;
boolean contains (Object obj) — проверяет наличие элемента obj в коллекции;
boolean containsAii (Collection coll) — проверяет наличие всех элементов коллекции coll в данной коллекции;
boolean isEmpty() — проверяет, пуста ли коллекция;
iterator iterator () — возвращает итератор данной коллекции;
boolean remove (object obj) — удаляет указанный элемент из коллекции; возвращает false, если элемент не найден, true, если удаление прошло успешно;
boolean removeAii (Collection coil) — удаляет элементы указанной коллекции, лежащие в данной коллекции;
boolean retainAii (Collection coll) — удаляет все элементы данной коллекции, кроме элементов коллекции coll;
int size () — возвращает количество элементов в коллекции;
object [] toArray () — возвращает все элементы коллекции в виде массива;
Objectn toArray<object[] a) — записывает все элементы коллекции в массив а, если в нем достаточно места.
Интерфейс List
Интерфейс List из пакета java.utii, расширяющий интерфейсcollection, описывает методы работы с упорядоченными коллекциями. Иногда их называют последовательностями (sequence). Элементы такой коллекции пронумерованы, начиная от нуля, к ним можно обратиться по индексу. В отличие от коллекции Set элементы коллекции List могут повторяться.
Класс vector — одна из реализаций интерфейса List.
Интерфейс List добавляет к методам интерфейса Collection методы, использующие индекс index элемента:
void add(int index, object obj) — вставляет элемент obj в позициюindex; старые элементы, начиная с позиции index, сдвигаются, их индексы увеличиваются на единицу;
boolean addAll(int index, Collection coll) — вставляет все элементыколлекции coil;
object get(int index) — возвращает элемент, находящийся в позицииindex;
int indexOf(Object obj) — возвращает индекс первого появления элемента obj в коллекции;
int lastindexOf (object obj) — возвращает индекс последнего появления элемента obj в коллекции;
Listiterator listiterator (int index) — возвращает итератор конца коллекции от позиции index;
object set (int index, object obj) — заменяет элемент, находящийся в позиции index, элементом obj;
List subListUnt from, int to) — возвращает часть коллекции от позицииfrom включительно до позиции to исключительно.
Интерфейс Set
Интерфейс set из пакета java.utii, расширяющий интерфейс Collection, описывает неупорядоченную коллекцию, не содержащую повторяющихся элементов. Это соответствует математическому понятию множества (set). Такие коллекции удобны для проверки наличия или отсутствия у элемента свойства, определяющего множество. Новые методы в интерфейс Set не добавлены, просто метод add () не станет добавлять еще одну копию элемента, если такой элемент уже есть в множестве.
Этот интерфейс расширен интерфейсом sortedset.
Интерфейс Iterator
В интерфейсе iterator описаны всего три метода:
логический метод hasNext () возвращает true, если обход еще не завершен;
метод next о делает текущим следующий элемент коллекции и возвращает его в виде объекта класса object;
метод remove о удаляет текущий элемент коллекции.
Использование итератора вектора
Vector v = new Vector();
String s = "Строка, которую мы хотим разобрать на слова.";
StringTokenizer st = new StringTokenizer(s, " \t\n\r,.");
while (st.hasMoreTokens()){
// Получаем слово и заносим в вектор.
v.add(st.nextToken()); // Добавляем в конец вектора }
System.out.print*Ln(v.firstElement(}); // Первый элемент
System.out.println(v.lastElement()); // Последний элемент
v.setSize(4); // Уменьшаем число элементов
v.add("собрать."); // Добавляем в конец укороченного вектора
v.set(3, "опять"); // Ставим в позицию 3
for (int i = 0; i < v.sizeO; i++) // Перебираем весь вектор
System.out.print(v.get(i) + ".");
System.out.println(};
Iterator it = v.iterator (); // Получаем итератор вектора
try{
while(it.hasNext()) // Пока в векторе есть элементы,
System.out.println(it.next()); // выводим текущий элемент
}catch(Exception e){}
Интерфейс Listlterator
Интерфейс Listiterator расширяет интерфейс iterator, обеспечивая перемещение по коллекции как в прямом, так и в обратном направлении. Он может быть реализован только в тех коллекциях, в которых есть понятия следующего и предыдущего элемента и где элементы пронумерованы.
В интерфейс Listiterator добавлены следующие методы: void add (Object element), boolean hasPrevious (),int nextindex(),Object previous () , int previous index () , void set (Object element). выполняется сразу после next () или previous ().