Контейнеры
Сортировка o o Метод sort() Интерфейс Comparable n n o метод int compare. To(Object o) вызов: Arrays. sort(a) Интерфейс Comparator метод int compare(Object o) n метод boolean equals(Object o) n вызов: Arrays. sort(a, экземпляр_класса_реал. Comparator) n Пример: public class Comp. Type implements Comparable { int i; int j; } class Comp. Type. Comparator implements Comparator { public int compare(Object o 1, Object o 2) { int j 1 = ((Comp. Type)o 1). j; int j 2 = ((Comp. Type)o 2). j; return (j 1 < j 2 ? -1 : (j 1 == j 2 ? 0 : 1)); } } Comp. Type[] a = new Comp. Type[10]; Arrays. sort(a, new Comp. Type. Comparator()); n
Двоичный поиск o Arrays. binary. Search(Object a, Object o) Если элемент найден, возвращает его индекс Иначе значение: -индекс_первого_большего-1
Контейнерные классы o o o List Set Map
Методы контейнеров o o o o boolean add(Object o) get(int i) – кроме Set boolean contains(Object o) void clear() boolean is. Empty() boolean remove(Object o) int size() Iterator iterator()
Особенности испльзования контейнеров Плюсы o Поддержка очень многих методов o Скорость критичных операций o Универсальность Минусы o Некоторая громоздкость реализации o Неизвестный тип результата
Итераторы Класс Iterator o Любой контейнер имеет метод iterator(), возвращающий итератор Методы класса Iterator o next() o has. Next() o remove()
Иерархия контейнеров Iterator - интерфейсы Absract. List - абстрактные классы Vector - реальные классы