3-й семестр / Лекции / 8 - Презентация
.pdfЦентрдистанционногообучения
Базовые интерфейсы
1.Collection - коллекция содержит набор объектов (элементов). Здесь определены основные методы для
манипуляции с данными, такие как вставка (add, addAll), удаление (remove, removeAll, clear), поиск
(contains)
2.Map - описывает коллекцию, состоящую из пар
"ключ — значение". У каждого ключа только одно значение, что соответствует математическому понятию однозначной функции или отображения (тар). Такую
коллекцию часто называют еще словарем (dictionary)
или ассоциативным массивом (associative array). Никак НЕ относится к интерфейсу Collection и является
самостоятельным.
Lists |
61 |
online.mirea.ru |
|
|
Центрдистанционногообучения
Базовые интерфейсы
|
Lists |
62 |
|
|
|
online.mirea.ru |
|||
|
|
|
Центрдистанционногообучения
Базовые интерфейсы
Что нужно знать?
1)интерфейс Collection не является базовым (какая интрига :D).
2)интерфейс Collection расширяет интерфейс Iterable, у которого есть только один метод iterator().
Вывод: это значит что любая коллекция, которая есть наследником Iterable должна возвращать итератор.
Что такое итератор?
Итератор это объект, абстрагирующийся за единым интерфейсом доступ к элементам коллекции. Итератор это паттерн позволяющий получить доступ к элементам любой коллекции без вникания в суть ее реализации.
http://ru.wikipedia.org/wiki/%D0%98%D1%82%D0%B5%D1%80%D0%
B0%D1%82%D0%BE%D1%80)
Lists |
63 |
online.mirea.ru |
|
|
Центрдистанционногообучения
Базовые интерфейсы
Как мы видим из рисунка выше - интерфейс Collection расширяют три интерфейса
•List
•Set
•Queue. (сразу запоминаем как правильно произносится: Queue – КЬЮ http://www.youtube.com/watch?feature=player_embedded& v=ugauQ769kVc#at=22 ). )
Lists |
64 |
online.mirea.ru |
|
|
Центрдистанционногообучения
Базовые интерфейсы
Рассмотрим, зачем нужен каждый:
1.List - Представляет собой неупорядоченную коллекцию, в которой допустимы дублирующие значения. Иногда их называют последовательностями (sequence ). Элементы такой коллекции пронумерованы, начиная от нуля, к ним можно обратиться по индексу.
2.Set - описывает неупорядоченную коллекцию, не содержащую повторяющихся элементов. Это соответствует математическому понятию множества (set).
3.Queue - очередь. Это коллекция, предназначенная для хранения элементов в порядке, нужном для их обработки. В дополнение к базовым операциям интерфейса Collection, очередь предоставляет дополнительные операции вставки, получения и контроля.
Lists |
65 |
online.mirea.ru |
|
|
Центрдистанционногообучения
Java.util.LinkedList
Используется, если вы хотите пройти по списку и посмотреть / изменить элементы в списке, вы используете объект итератора для этого списка (так же, как с другими коллекциями, которые реализуют Iterable интерфейс; все они имеют метод iterator (), который возвращает итератор)
Lists |
66 |
online.mirea.ru |
|
|
Центрдистанционногообучения
Итераторы в Java
•Итератор имеет доступ к элементам некоторой
коллекции и может работать с ней в определенном порядке
•Методы интерфейса Iterator<E> (над коллекцией или набором элементов типа Е):
•boolean hasNext() // говорит, что существуют ли какие-либо элементы слева, которые мы можем увидеть
•E next() // возвращает следующий элемент
•void remove() //удаляет текущий элемент из коллекции
Lists |
online.mirea.ru |
|
67 |
Центрдистанционногообучения
Цели изучения интерфейсов
•Для того, чтобы ознакомиться с интерфейсом List
•Чтобы понять, как написать массив на основе реализации интерфейса List
•Изучить разницу между одно-, дву-связными, и циклическими связанными структурами данных в виде списков
•Чтобы узнать, как реализовать интерфейс List, используя связанный список
•Для того, чтобы понять что такое интерфейс итератора
online.mirea.ru
Центрдистанционногообучения
Интерфейс List и класс ArrayList
•Массив является индексируемой структурой: можно
выбрать все элементы в произвольном порядке, используя значение индекса
•К элементам можно получить последовательный доступ с помощью цикла, который увеличивает индекс
•Вы не можете:
•увеличивать или уменьшать длину
•Добавить элемент в указанную позицию без перемещения других элементов, чтобы освободить место
•Удалить элемент в заданном положении без смещения других элементов, чтобы заполнить возникший пробел
online.mirea.ru
Центрдистанционногообучения
Интерфейс List и класс ArrayList
•В интерфейс List включены следующие операции:
üПоиск заданного элемента
üДобавление элемента в любой конец
üУдаление элемента с любого конца
üОбход структуры списка без использования индекса
•Не все классы выполняют перечисленные операции с одинаковой степенью эффективности
•Массив предоставляет возможность хранить данные примитивных типов, тогда как в списке из объектов типа класс хранятся ссылки на объекты (этому способствует Autoboxing).
.
online.mirea.ru