Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
30 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
511.78 kB
Просмотров:
61
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд
Содержание слайда: Василий Орлов, учебный центр NetCracker при МФТИ
№2 слайд
Содержание слайда: План лекции
Понятие коллекции
Различные типы коллекций, их сходства и различия
Интерфейсы коллекций в Java
Реализации интерфейсов коллекций в Java
Специальные утилитные классы для работы с коллекциями в Java
Понятие настраиваемого типа(generic)
Различные примеры кода с generics
Generics с ограничениями
Маски
№3 слайд
Содержание слайда: Коллекции
Коллекция(Collection) – хранилище, поддерживающие разнообразные способы накопления и упорядочивания объектов с целью обеспечения возможностей эффективного доступа к ним.
Массив — набор однотипных элементов, расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется по индексу.
№4 слайд
Содержание слайда: Классификация коллекций
По логике организации:
Вектор(Vector)
Ассоциативный массив(Map)
Множество(Set)
По реализации:
Массив(Array)
Связный список
Хеш-таблица(Hash table)
№5 слайд
Содержание слайда: Вектор(vector)
Элементы упорядочены, каждый имеет собственный номер, называемый индексом, по которому к нему можно в любой момент обратиться
Как правило, в качестве индексов выступают последовательные целые числа
Для обращения к элементу используется имя вектора и значение индекса
Удаление элемента из вектора приводит к образованию пустого элемента
№6 слайд
Содержание слайда: Ассоциативный массив(map)
Неупорядоченная коллекция, хранящая пары «ключ — значение»
Доступ к элементам производится по ключу
Тип ключа должен допускать сравнение на равенство
Любая пара может быть в любой момент удалена
№7 слайд
Содержание слайда: Множество(set)
Неупорядоченная коллекция, хранящая набор уникальных значений и поддерживающая для них операции добавления, удаления и определения вхождения
По сути является ассоциативным массивом(map), где роль ключа играет сам элемент
№8 слайд
Содержание слайда: Массив(array)
№9 слайд
Содержание слайда: Связный список
№10 слайд
Содержание слайда: Хеш-таблица(hash table)
№11 слайд
Содержание слайда: Хеш-таблица(hash table)
№12 слайд
Содержание слайда: Коллекции
В Java коллекции разделены на интерфейсы, абстрагирующие общие принципы работы с коллекциями, и классы, реализующие конкретную функциональность
Не все методы, заявленные в интерфейсах, должны в действительности реализовываться классами. Часть методов может просто выбрасывать исключение UnsupportedOperationException
№13 слайд
Содержание слайда: Интерфейс Collection
Является образующим для интерфейсов коллекций
Определяет базовую функциональность любой коллекции
Подразумевает добавление, удаление, выбор элементов в коллекции
Допускает дубликаты и пустые элементы
№14 слайд
Содержание слайда: Методы интерфейса Collection
Добавление элементов
boolean add(Object o),
boolean addAll(Collection c)
Исключение элементов
boolean remove(Object o),
boolean removeAll(Collection c),
boolean retainAll(Collection c),
Состояние коллекции
boolean contains(Object o),
boolean containsAll(Collection c),
boolean isEmpty(),
int size()
Вспомогательные методы
Object[] toArray(),
Iterator iterator()
№15 слайд
Содержание слайда: Интерфейс Set
Расширяет интерфейс Collection
Не разрешает наличие дубликатов
Допускается наличие только одной ссылки null
Объекты коллекции должны корректно реализовывать метод equals()
№16 слайд
Содержание слайда: Интерфейс List
Расширяет интерфейс Collection
Подразумевает хранение упорядоченной последовательности объектов
Порядок хранения определяется порядком добавления элементов
Позволяет обращаться к элементам по их номеру
№17 слайд
Содержание слайда: Специальные методы интерфейса List
Адресное добавление
void add(int index, Object o),
boolean addAll(int index, Collection c)
Адресные операции с элементами
Object get(int index),
Object set(int index, Object o),
Object remove(int index)
Операции поиска
int indexOf(Object o),
int lastIndexOf(Object o)
Специальные операции
List subList(int from, int to)
№18 слайд
Содержание слайда: Интерфейс Iterator
Позволяет работать с коллекцией как с набором (серией) элементов:
Получать следующий объект
Object next()
Проверять наличие следующего объекта
boolean hasNext()
№19 слайд
Содержание слайда: Интерфейс Map
Не расширяет интерфейс Collection
Подразумевает хранение набора объектов парами ключ/значение
Ключи должны быть уникальными
Порядок следования пар ключ/значение
не определен
Имеет расширение SortedMap, требующее упорядоченности по значениям ключей
№20 слайд
Содержание слайда: Методы интерфейса Map
Добавление объектов
Object put(Object key, Object value),
void putAll(Map t)
Исключение объектов
Object remove(Object key),
void clear()
Доступ к объекту по ключу
Object get(Object key)
Состояние
boolean containsValue(Object value),
boolean containsKey(Object key),
int size(),
boolean isEmpty()
№21 слайд
Содержание слайда: Интерфейсы SortedMap и SortedSet
SortedSet расширяет Set храня объекты в отсортированном порядке, требует чтобы объекты, которые содержит коллекция реализовывали интерфейс Comaprable либо требует задать специальный Comparator, который умел бы сравнивать объекты из коллекции.
SortedMap расширяет Map храня значения в отсортированном по ключам порядке, требует чтобы ключи реализовывали интерфейс Comaprable либо требует задать специальный Comparator, который умел бы сравнивать ключи.
№22 слайд
Содержание слайда: Классы коллекций
Динамический массив:
ArrayList (List)
Двухсвязный список:
LinkedList (List)
B-деревья:
TreeSet(SortedSet), TreeMap (SortedMap)
Хеш-таблица:
HashMap (Map), HashSet (Set)
№23 слайд
Содержание слайда: java.util.Arrays
Содержит статические методы для работы с массивами
Представление массива списком
List asList(Object[] a)
Поиск элемента в массиве
int binarySearch(…[] a, … key)
Сравнение массивов по элементам
boolean equals(…[] a1, …[] a2)
Заполнение массива элементами
fill(…[] a, int from, int to, … val)
Сортировка массива
sort(…[] a, int from, int to)
№24 слайд
Содержание слайда: Настраиваемые типы(generic)
Позволяют создавать классы в которых типы полей, типы аргументов методов и типы возвращаемых методами значений могут меняться
№25 слайд
Содержание слайда: Настраиваемые типы(generic)
№26 слайд
Содержание слайда: Несколько generic типов в одном классе
№27 слайд
Содержание слайда: Generic с ограничениями
№28 слайд
Содержание слайда: Generic методы
public static <T> T getFirst(Collection<T> col) {...}
<Integer>swap(ints, 1, 3);
strings.<Integer>zip(ints);
№29 слайд
Содержание слайда: Маски
void drawAll(Collection<? extends Glyph> glyphs) {…}
<T extends Glyph> void drawAll(Collection<T> glyphs) {…}
static void doSomeWork(Map<?, ? extends Glyph> map) {...}
№30 слайд
Содержание слайда: Спасибо за внимание!