🗊Презентация Java SE 4. Collections. Иерархия интерфейсов

Нажмите для полного просмотра!
Java SE 4. Collections. Иерархия интерфейсов, слайд №1Java SE 4. Collections. Иерархия интерфейсов, слайд №2Java SE 4. Collections. Иерархия интерфейсов, слайд №3Java SE 4. Collections. Иерархия интерфейсов, слайд №4Java SE 4. Collections. Иерархия интерфейсов, слайд №5Java SE 4. Collections. Иерархия интерфейсов, слайд №6Java SE 4. Collections. Иерархия интерфейсов, слайд №7Java SE 4. Collections. Иерархия интерфейсов, слайд №8Java SE 4. Collections. Иерархия интерфейсов, слайд №9Java SE 4. Collections. Иерархия интерфейсов, слайд №10Java SE 4. Collections. Иерархия интерфейсов, слайд №11Java SE 4. Collections. Иерархия интерфейсов, слайд №12Java SE 4. Collections. Иерархия интерфейсов, слайд №13Java SE 4. Collections. Иерархия интерфейсов, слайд №14Java SE 4. Collections. Иерархия интерфейсов, слайд №15Java SE 4. Collections. Иерархия интерфейсов, слайд №16Java SE 4. Collections. Иерархия интерфейсов, слайд №17Java SE 4. Collections. Иерархия интерфейсов, слайд №18Java SE 4. Collections. Иерархия интерфейсов, слайд №19Java SE 4. Collections. Иерархия интерфейсов, слайд №20Java SE 4. Collections. Иерархия интерфейсов, слайд №21Java SE 4. Collections. Иерархия интерфейсов, слайд №22Java SE 4. Collections. Иерархия интерфейсов, слайд №23Java SE 4. Collections. Иерархия интерфейсов, слайд №24Java SE 4. Collections. Иерархия интерфейсов, слайд №25Java SE 4. Collections. Иерархия интерфейсов, слайд №26Java SE 4. Collections. Иерархия интерфейсов, слайд №27Java SE 4. Collections. Иерархия интерфейсов, слайд №28Java SE 4. Collections. Иерархия интерфейсов, слайд №29Java SE 4. Collections. Иерархия интерфейсов, слайд №30Java SE 4. Collections. Иерархия интерфейсов, слайд №31Java SE 4. Collections. Иерархия интерфейсов, слайд №32Java SE 4. Collections. Иерархия интерфейсов, слайд №33Java SE 4. Collections. Иерархия интерфейсов, слайд №34Java SE 4. Collections. Иерархия интерфейсов, слайд №35Java SE 4. Collections. Иерархия интерфейсов, слайд №36Java SE 4. Collections. Иерархия интерфейсов, слайд №37Java SE 4. Collections. Иерархия интерфейсов, слайд №38Java SE 4. Collections. Иерархия интерфейсов, слайд №39

Содержание

Вы можете ознакомиться и скачать презентацию на тему Java SE 4. Collections. Иерархия интерфейсов. Доклад-сообщение содержит 39 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Java SE
4. Collections
Описание слайда:
Java SE 4. Collections

Слайд 2





Java Collections Framework
Описание слайда:
Java Collections Framework

Слайд 3





Java Collections Framework
Коллекции (контейнеры) - хранилища, поддерживающие разнообразные способы накопления и упорядочивания объектов с целью обеспечения возможностей эффективного доступа
В отличие от массивов могут поддерживать дополнительную функциональность и быть более эффективными в определенных ситуациях
Примерный аналог контейнеров и итераторов STL
В Java коллекции разделены на интерфейсы, абстрагирующие общие принципы работы с коллекциями, и классы, реализующие конкретную функциональность
Большинство из них размещено в пакете java.util.* и его подпакетах
Описание слайда:
Java Collections Framework Коллекции (контейнеры) - хранилища, поддерживающие разнообразные способы накопления и упорядочивания объектов с целью обеспечения возможностей эффективного доступа В отличие от массивов могут поддерживать дополнительную функциональность и быть более эффективными в определенных ситуациях Примерный аналог контейнеров и итераторов STL В Java коллекции разделены на интерфейсы, абстрагирующие общие принципы работы с коллекциями, и классы, реализующие конкретную функциональность Большинство из них размещено в пакете java.util.* и его подпакетах

Слайд 4





Java Collections Framework
Collection Interfaces – представляют собой описания фундаментальных типов контейнеров и возможных операций над ними. 
General-purpose Implementations – Самые часто используемые реализации эти интерфейсов. 
Legacy Implementations – устаревшие контейнеры, существовавшие еще до появления Collection Framework и переписанные для реализации Collection-интерфейсов.  
Wrapper Implementations – сами по себе не хранят данных, но добавляют функциональность к другим коллекциям. 
Convenience Implementations – высокопроизводительные тривиальные реализации для простых случаев. 
Abstract Implementations – частичные реализации как основа для собственных коллекций. 
Arrays/Collections Utilities – набор вспомогательных утилитных методов для работы с коллекциями и массивами
Описание слайда:
Java Collections Framework Collection Interfaces – представляют собой описания фундаментальных типов контейнеров и возможных операций над ними. General-purpose Implementations – Самые часто используемые реализации эти интерфейсов. Legacy Implementations – устаревшие контейнеры, существовавшие еще до появления Collection Framework и переписанные для реализации Collection-интерфейсов. Wrapper Implementations – сами по себе не хранят данных, но добавляют функциональность к другим коллекциям. Convenience Implementations – высокопроизводительные тривиальные реализации для простых случаев. Abstract Implementations – частичные реализации как основа для собственных коллекций. Arrays/Collections Utilities – набор вспомогательных утилитных методов для работы с коллекциями и массивами

Слайд 5





Иерархия интерфейсов
Интерфейсы представляют собой наиболее общие описания фундаментально различных типов коллекций
List – упорядоченный список с позиционным доступом
Set – коллекция без дубликатов
Queue – очередь элементов или стэк
Map – ассоциативный массив
Описание слайда:
Иерархия интерфейсов Интерфейсы представляют собой наиболее общие описания фундаментально различных типов коллекций List – упорядоченный список с позиционным доступом Set – коллекция без дубликатов Queue – очередь элементов или стэк Map – ассоциативный массив

Слайд 6





Иерархия реализаций
Описание слайда:
Иерархия реализаций

Слайд 7





java.util.Collection
Описание слайда:
java.util.Collection

Слайд 8





public interface Collection<E> extends Iterable<E>
Является образующим для интерфейсов коллекций
Определяет базовую функциональность любой коллекции
Подразумевает добавление, удаление, выбор элементов в коллекции
Допускает дубликаты и пустые элементы
Позволяет получить итератор для обхода коллекции
Не все методы, заявленные в интерфейсе, должны реализовываться классами. Часть методов может выбрасывать UnsupportedOperationException
Описание слайда:
public interface Collection<E> extends Iterable<E> Является образующим для интерфейсов коллекций Определяет базовую функциональность любой коллекции Подразумевает добавление, удаление, выбор элементов в коллекции Допускает дубликаты и пустые элементы Позволяет получить итератор для обхода коллекции Не все методы, заявленные в интерфейсе, должны реализовываться классами. Часть методов может выбрасывать UnsupportedOperationException

Слайд 9





public interface Collection<E> extends Iterable<E>
Описание слайда:
public interface Collection<E> extends Iterable<E>

Слайд 10





java.util.Set
Описание слайда:
java.util.Set

Слайд 11





public interface Set<E> extends Collection<E>
Set — коллекция, не содержащая дубликатов
Может содержать не более одного Null-значения
Все остальные свойства могут варьироваться в зависимости от конкретной реализации
Set не добавляет дополнительных методов к интерфейсу Collection и является маркерным интерфейсом с дополнительной документацией
Как правило Set не поддерживает порядок элементов, но некоторые  реализации это позволяют
Описание слайда:
public interface Set<E> extends Collection<E> Set — коллекция, не содержащая дубликатов Может содержать не более одного Null-значения Все остальные свойства могут варьироваться в зависимости от конкретной реализации Set не добавляет дополнительных методов к интерфейсу Collection и является маркерным интерфейсом с дополнительной документацией Как правило Set не поддерживает порядок элементов, но некоторые реализации это позволяют

Слайд 12





Основные реализации и дочерние интерфейсы Set
HashSet – неупорядоченное множество, реализованное через хэш-таблицу
TreeSet – отсортированное множество на красно-черных деревьях
LinkedHashSet – множество, сохраняющее порядок добавления элементов
СopyOnWriteArraySet – потоково-безопасная реализация
Описание слайда:
Основные реализации и дочерние интерфейсы Set HashSet – неупорядоченное множество, реализованное через хэш-таблицу TreeSet – отсортированное множество на красно-черных деревьях LinkedHashSet – множество, сохраняющее порядок добавления элементов СopyOnWriteArraySet – потоково-безопасная реализация

Слайд 13





java.util.List
Описание слайда:
java.util.List

Слайд 14





Основные реализации и дочерние интерфейсы List
List — упорядоченная по времени добавления коллекция
В отличие от других коллекций List позволяет делать позиционный доступ к элементам по индексам
Некоторые старые коллекции были переделаны, чтобы также реализовывать этот интерфейс  (Vector, Stack)
Описание слайда:
Основные реализации и дочерние интерфейсы List List — упорядоченная по времени добавления коллекция В отличие от других коллекций List позволяет делать позиционный доступ к элементам по индексам Некоторые старые коллекции были переделаны, чтобы также реализовывать этот интерфейс (Vector, Stack)

Слайд 15





public interface List<E> extends Collection<E>
Описание слайда:
public interface List<E> extends Collection<E>

Слайд 16





Основные реализации List
Vector - Legacy-коллекция, адаптированная к интерфейсу List. Синхронизированная и безопасная в многопоточной среде
Stack -  Наследник вектора, реализующий LIFO структуру данных
ArrayList - Самая распространенная реализация на базе массива
LinkedList - Реализация на базе связного списка, также этот класс реализует интерфейс Queue и может выступать в качестве очереди
CopyOnWriteArrayList – Потоково безопасная реализация, создающая копию массива данных при каждой операции записи
Описание слайда:
Основные реализации List Vector - Legacy-коллекция, адаптированная к интерфейсу List. Синхронизированная и безопасная в многопоточной среде Stack -  Наследник вектора, реализующий LIFO структуру данных ArrayList - Самая распространенная реализация на базе массива LinkedList - Реализация на базе связного списка, также этот класс реализует интерфейс Queue и может выступать в качестве очереди CopyOnWriteArrayList – Потоково безопасная реализация, создающая копию массива данных при каждой операции записи

Слайд 17





java.util.Queue
Описание слайда:
java.util.Queue

Слайд 18





Основные реализации и дочерние интерфейсы Queue
ArrayBlockingQueue  хранит элементы в порядке FIFO; синхронизированная  реализация.
SynchronousQueue - каждая операция добавления будет блокирована до соответствующей операции чтения и наоборот. Фактически это блокирующая ячейка под единственный элемент
Описание слайда:
Основные реализации и дочерние интерфейсы Queue ArrayBlockingQueue  хранит элементы в порядке FIFO; синхронизированная реализация. SynchronousQueue - каждая операция добавления будет блокирована до соответствующей операции чтения и наоборот. Фактически это блокирующая ячейка под единственный элемент

Слайд 19





Queue API
Queue представляет много дополнительных методов для работы с данными помимо стандартных
Описание слайда:
Queue API Queue представляет много дополнительных методов для работы с данными помимо стандартных

Слайд 20





java.util.Map
Описание слайда:
java.util.Map

Слайд 21





Основные реализации и дочерние интерфейсы Map
Описание слайда:
Основные реализации и дочерние интерфейсы Map

Слайд 22





public interface Map<K,V>
Map предоставляет много вариантов перебора содержимого
Через коллекцию ключей  - keySet() 
Через коллекцию значений – values()
Через коллекцию пар, так называемых Map.Entry
Разные реализации могут допускать или не допускать Null-значения
Примитивный тип не может выступать в роли ключа или значения
Описание слайда:
public interface Map<K,V> Map предоставляет много вариантов перебора содержимого Через коллекцию ключей - keySet() Через коллекцию значений – values() Через коллекцию пар, так называемых Map.Entry Разные реализации могут допускать или не допускать Null-значения Примитивный тип не может выступать в роли ключа или значения

Слайд 23





Map API example
Типизация Map при помощи Generics позволяет быть уверенным в том, что все ключи имеют одинаковый тип и все значения также имеют одинаковый тип, возможно не совпадающий с типом ключей
Описание слайда:
Map API example Типизация Map при помощи Generics позволяет быть уверенным в том, что все ключи имеют одинаковый тип и все значения также имеют одинаковый тип, возможно не совпадающий с типом ключей

Слайд 24





Основные реализации Map
HashMap  - Самая распространенная реализация, основана на хэш-таблице
ConcurrentHashMap - Реализация для работы в многопоточной среде, причем доступ на чтение будет неблокирующим
Hashtable - Legacy-коллекция с синхронизированным доступом
WeakHashMap - Эта реализация будет удалять записи, на ключи которых нет ссылок за пределами коллекции
LinkedHashMap – Гарантирует, что элементы коллекции будут возвращаться в том же порядке, что и были в нее добавлены
TreeMap – Ключи в этой коллекции будут отсортированы согласно Cormparator’у или реализации Comparable
IdentityHashMap  - Эта реализация использует для сравнения элементов равенcтво ссылок вместо вызова equals().
EnumMap - Ключи этой реализации являются значениями enum. Очень эффективная и высокопроизводительная реализация
Описание слайда:
Основные реализации Map HashMap  - Самая распространенная реализация, основана на хэш-таблице ConcurrentHashMap - Реализация для работы в многопоточной среде, причем доступ на чтение будет неблокирующим Hashtable - Legacy-коллекция с синхронизированным доступом WeakHashMap - Эта реализация будет удалять записи, на ключи которых нет ссылок за пределами коллекции LinkedHashMap – Гарантирует, что элементы коллекции будут возвращаться в том же порядке, что и были в нее добавлены TreeMap – Ключи в этой коллекции будут отсортированы согласно Cormparator’у или реализации Comparable IdentityHashMap  - Эта реализация использует для сравнения элементов равенcтво ссылок вместо вызова equals(). EnumMap - Ключи этой реализации являются значениями enum. Очень эффективная и высокопроизводительная реализация

Слайд 25





Итераторы
Описание слайда:
Итераторы

Слайд 26





Iterator
Iterator – специальный объект для последовательного обхода коллекции
Является реализацией одноименного шаблона проектирования  
Iterator  можно получить из любой коллекции вызовом метода iterator()
Для абстрактной коллекции это единственный доступный способ обхода
Цикл for each использует итератор неявным образом 
Интерфейс итератора:
Описание слайда:
Iterator Iterator – специальный объект для последовательного обхода коллекции Является реализацией одноименного шаблона проектирования Iterator можно получить из любой коллекции вызовом метода iterator() Для абстрактной коллекции это единственный доступный способ обхода Цикл for each использует итератор неявным образом Интерфейс итератора:

Слайд 27





Iterator – пример использования
Описание слайда:
Iterator – пример использования

Слайд 28





ListIterator
Расширяет стандартный итератор дополнительной функциональностью:
В отличие от простого итератора позволяет двигаться не только вперед по коллекции, но и назад
Метод set() перезапишет предыдущий элемент 
Метод add() добавит новый элемент в  коллекцию непосредственно перед указателем итератора
Описание слайда:
ListIterator Расширяет стандартный итератор дополнительной функциональностью: В отличие от простого итератора позволяет двигаться не только вперед по коллекции, но и назад Метод set() перезапишет предыдущий элемент Метод add() добавит новый элемент в коллекцию непосредственно перед указателем итератора

Слайд 29





Сравнение и сортировка элементов коллекций
Описание слайда:
Сравнение и сортировка элементов коллекций

Слайд 30





Comparator
Comparator – интерфейс, описывающий алгоритм сравнения двух объектов.
Он может быть передан во многие  коллекции и структуры данных для упорядочивания данных
Несколько компараторов могут определять разные правила сортировки одних и тех же данных
Описание слайда:
Comparator Comparator – интерфейс, описывающий алгоритм сравнения двух объектов. Он может быть передан во многие коллекции и структуры данных для упорядочивания данных Несколько компараторов могут определять разные правила сортировки одних и тех же данных

Слайд 31





Comparable
В качестве альтернативы сами  объекты с данными  могут реализовывать интерфейс Comparable, таким образом предоставляя API для сортировки себя
Если метод compareTo() возвращает положительное число, то данный объект считается больше аргумента
Если результат – отрицательное число, то данный объект меньше аргумента
В случае равенства возвращается ноль
Эта реализация должна соответствовать реализации equals() – обе они должны показывать равенство в одним и тех же условиях
Описание слайда:
Comparable В качестве альтернативы сами объекты с данными могут реализовывать интерфейс Comparable, таким образом предоставляя API для сортировки себя Если метод compareTo() возвращает положительное число, то данный объект считается больше аргумента Если результат – отрицательное число, то данный объект меньше аргумента В случае равенства возвращается ноль Эта реализация должна соответствовать реализации equals() – обе они должны показывать равенство в одним и тех же условиях

Слайд 32





Примеры использования Comparator
Если правила сортировки описаны во внешнем Comparator’е, то сортировка выглядит так:
Описание слайда:
Примеры использования Comparator Если правила сортировки описаны во внешнем Comparator’е, то сортировка выглядит так:

Слайд 33





Collator
Сортировка в лексикографическом порядке должна принимать во внимание не только алфавит, но и язык оригинала текста
Эта информация не может быть в общем случае получена из текста, так что она указывается отдельно в виде наследника абстрактного класса Collator
Сollator  является реализацией Comparator, то есть может быть использован для сортировки коллекций
Описание слайда:
Collator Сортировка в лексикографическом порядке должна принимать во внимание не только алфавит, но и язык оригинала текста Эта информация не может быть в общем случае получена из текста, так что она указывается отдельно в виде наследника абстрактного класса Collator Сollator является реализацией Comparator, то есть может быть использован для сортировки коллекций

Слайд 34





Утилитные классы
Описание слайда:
Утилитные классы

Слайд 35





java.util.Collections
Этот утилитный класс предоставляет набор статических методов для типовых операций над коллекциями
Сортировка
Перемешивание элементов
Разворот коллекции
Заполнение
Двоичный поиск
Определение частоты вхождений
Пересечение
Нахождение минимума и максимума
etc.
Описание слайда:
java.util.Collections Этот утилитный класс предоставляет набор статических методов для типовых операций над коллекциями Сортировка Перемешивание элементов Разворот коллекции Заполнение Двоичный поиск Определение частоты вхождений Пересечение Нахождение минимума и максимума etc.

Слайд 36





java.util.Arrays
Предоставляет утилитные методы для работы с массивами:
Бинарный поиск
Полное и частичное копирование
Преобразование к реализации интерфейса List
equals(), работающий по элементам массива
deepToString(), вызывающий toString() у всех элементов массива 
Заполнение массива одинаковыми значениями
Сортировка
Описание слайда:
java.util.Arrays Предоставляет утилитные методы для работы с массивами: Бинарный поиск Полное и частичное копирование Преобразование к реализации интерфейса List equals(), работающий по элементам массива deepToString(), вызывающий toString() у всех элементов массива Заполнение массива одинаковыми значениями Сортировка

Слайд 37





Другие реализации интерфейсов Collection API
Обертки и адаптеры для добавления некоторой функциональности к уже существующим коллекциям
Синхронизирующие обертки 
Обертки, запрещающие модификацию
«Convenience implementations» - минималистичные реализации коллекций для использования в вырожденных или специфических случаях
Arrays.asList()
Немодифицируемые коллекции из единственного элемента 
Пустые Set, List и Map
Описание слайда:
Другие реализации интерфейсов Collection API Обертки и адаптеры для добавления некоторой функциональности к уже существующим коллекциям Синхронизирующие обертки Обертки, запрещающие модификацию «Convenience implementations» - минималистичные реализации коллекций для использования в вырожденных или специфических случаях Arrays.asList() Немодифицируемые коллекции из единственного элемента Пустые Set, List и Map

Слайд 38


Java SE 4. Collections. Иерархия интерфейсов, слайд №38
Описание слайда:

Слайд 39


Java SE 4. Collections. Иерархия интерфейсов, слайд №39
Описание слайда:



Похожие презентации
Mypresentation.ru
Загрузить презентацию