2. В чем отличие вектора от массива?
3. Что дает задание конкретного класса в шаблоне при определении коллекции?
4. В чем различие интерфейсов List и Set?
5. В чем различие интерфейсов List и Queue?
6. Что дополняет интерфейс Deque к интерфейсу Queue?
7. Зачем в Java введены интерфейсы NavigableSet и NavigableMap?
8. Что такое стек?
9. Что такое ассоциативный массив?
10. Что такое линейный список?
11. Что такое двунаправленный список?
12. Какие способы обхода коллекции вы знаете?
13. Каким классом-коллекцией лучше всего организовать очередь?
14. Когда удобнее использовать класс Vector, а когда — ArrayList?
15. Можно ли совсем отказаться от объекта iterator в пользу цикла "for-each"?
16. Какие классы-коллекции реализуют структуру данных "дерево"?
ГЛАВА 7
В этой главе описаны средства, облегчающие работу с часто применяемыми конструкциями, в числе которых массивы, даты, случайные числа.
Работа с массивами
В классе Arrays из пакета java.util собрано множество методов для работы с массивами. Их можно разделить на несколько больших групп.
Сортировка массива
Восемнадцать статических методов класса Arrays сортируют массивы с разными типами числовых элементов в порядке возрастания чисел или просто объекты в их естественном порядке.
Восемь из них имеют простой вид:
static void sort(type[] a);
где type может быть один из семи примитивных типов: byte, short, int, long, char, float, double — или тип Object.
Восемь методов с теми же типами сортируют часть массива от индекса from включительно до индекса to исключительно:
static void sort(type[] a, int from, int to);
Оставшиеся два метода сортировки упорядочивают массив или его часть с элементами типа Object по правилу, заданному объектом c, реализующим интерфейс Comparator:
static void sort(Object[] a, Comparator c);
static void sort(Object[] a, int from, int to, Comparator c);
Бинарный поиск в массиве
После сортировки массива можно организовать в нем бинарный поиск элемента element одним из восемнадцати статических методов поиска.
Восемь методов имеют вид:
static int binarySearch(type[] a, type element);
где type один из семи примитивных типов (byte, short, int, long, char, float, double)
или тип Object.
Восемь методов сортируют часть массива, начиная от элемента с индексом from включительно до элемента с индексом to исключительно:
static int binarySearch(type[] a, int from, int to, type element);
Оставшиеся два метода поиска применяют настраиваемые типы и имеют более сложный вид:
static int binarySearch(T[] a, T element, Comparator
Конец ознакомительного отрывка
Купить книгу