Добавил:
Rumpelstilzchen2018@yandex.ru Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3-й семестр / Лекции / 8 - Презентация

.pdf
Скачиваний:
57
Добавлен:
25.12.2020
Размер:
10.74 Mб
Скачать

Центрдистанционногообучения

Базовые интерфейсы

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