Презентация Java. SE. 06. Generic and collections онлайн

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Java. SE. 06. Generic and collections абсолютно бесплатно. Урок-презентация на эту тему содержит всего 172 слайда. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    172 слайда
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    762.47 kB
  • Просмотров:
    102
  • Скачиваний:
    0
  • Автор:
    неизвестен



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

№1 слайд
Generic amp Collections
Содержание слайда: Generic & Collections

№2 слайд
Содержание Определение
Содержание слайда: Содержание Определение коллекций Интерфейс Collection Множества Set Интерфейс Iterator Сравнение коллекций. Comparator, Comparable Списки List Очереди Queue Карты отображений Map Класс Collections Унаследованные коллекции Коллекции для перечислений

№3 слайд
определение коллекций
Содержание слайда: определение коллекций

№4 слайд
Определение коллекций
Содержание слайда: Определение коллекций Коллекции – это хранилища, поддерживающие различные способы накопления и упорядочения объектов с целью обеспечения возможностей эффективного доступа к ним. Применение коллекций обуславливается возросшими объемами обрабатываемой информации. Коллекции в языке Java объединены в библиотеке классов java.util и представляют собой контейнеры, т.е объекты, которые группируют несколько элементов в отдельный модуль. Коллекции используются для хранения, поиска, манипулирования и передачи данных. Коллекции – это динамические массивы, связные списки, деревья, множества, хэш-таблицы, стеки, очереди.

№5 слайд
Определение коллекций
Содержание слайда: Определение коллекций Collections framework - это унифицированная архитектура для представления и манипулирования коллекциями. Collections framework содержит: Интерфейсы Реализации (Implementations) Алгоритмы

№6 слайд
Определение коллекций
Содержание слайда: Определение коллекций Интерфейсы коллекций: Collection<E> – вершина иерархии остальных коллекций; List<E> – специализирует коллекции для обработки списков; Set<E> – специализирует коллекции для обработки множеств, содержащих уникальные элементы; Map<K,V> – карта отображения вида “ключ-значение”. Интерфейсы позволяют манипулировать коллекциями независимо от деталей конкретной реализации, реализуя тем самым принцип полиморфизма

№7 слайд
Определение коллекций
Содержание слайда: Определение коллекций

№8 слайд
Определение коллекций
Содержание слайда: Определение коллекций

№9 слайд
Определение коллекций Все
Содержание слайда: Определение коллекций Все конкретные классы Java Collections Framework реализуют Cloneable и Serializable интерфейсы, следовательно, их экземпляры могут быть клонированы и сериализованы.

№10 слайд
Определение коллекций
Содержание слайда: Определение коллекций Реализации (Implementations) Конкретные реализации интерфейсов могут быть следующих типов: General-purpose implementations Special-purpose implementations Concurrent implementations Wrapper implementations Convenience implementations Abstract implementations

№11 слайд
Определение коллекций
Содержание слайда: Определение коллекций General-Purpose Implementations - реализации общего назначения, наиболее часто используемые реализации, HashSet, TreeSet, LinkedHashSet. ArrayList , LinkedList. HashMap, TreeMap, LinkedHashMap. PriorityQueue

№12 слайд
Определение коллекций
Содержание слайда: Определение коллекций Special-Purpose Implementations - реализации специального назначения, разработаны для использования в специальных ситуациях и предоставляют нестандартные характеристики производительности, ограничения на использование или на поведение EnumSet , CopyOnWriteArraySet. CopyOnWriteArrayList EnumMap, WeakHashMap, IdentityHashMap

№13 слайд
Определение коллекций
Содержание слайда: Определение коллекций Concurrent implementations – потоковые реализации ConcurrentHashMap LinkedBlockingQueue ArrayBlockingQueue PriorityBlockingQueue DelayQueue SynchronousQueue LinkedTransferQueue

№14 слайд
Определение коллекций Wrapper
Содержание слайда: Определение коллекций Wrapper implementations – реализация обертки, применяется для реализации нескольких типов в одном, чтобы обеспечить добавленную или ограниченную функциональность, все они находятся в классе Collections. public static <T> Collection<T> synchronizedCollection(Collection<T> c); public static <T> Set<T> synchronizedSet(Set<T> s); public static <T> List<T> synchronizedList(List<T> list); public static <K,V> Map<K,V> synchronizedMap(Map<K,V> m); public static <T> SortedSet<T> synchronizedSortedSet(SortedSet<T> s); и др. public static <T> Collection<T> unmodifiableCollection(Collection<? extends T> c); public static <T> Set<T> unmodifiableSet(Set<? extends T> s); public static <T> List<T> unmodifiableList(List<? extends T> list); public static <K,V> Map<K, V> unmodifiableMap(Map<? extends K, ? extends V> m); public static <T> SortedSet<T> unmodifiableSortedSet(SortedSet<? extends T> s); public static <K,V> SortedMap<K, V> unmodifiableSortedMap(SortedMap<K, ? extends V> m);

№15 слайд
Определение коллекций
Содержание слайда: Определение коллекций Convenience implementations – удобные реализации, выполнены обычно с использованием реализаций общего назначения и применением static factory methods для предоставления альтернативных путей создания (например, единичной коллекции) Получить такие коллекции можно при помощи следующих методов Arrays.asList Collections.nCopies Collections.singleton emptySet, emptyList, emptyMap. (из Collections)

№16 слайд
Определение коллекций
Содержание слайда: Определение коллекций Abstract implementations – основа всех реализаций коллекций, которая облегчает создание собственных коллекций. AbstractCollection AbstractSet AbstractList AbstractSequentialList AbstractQueue AbstractMap

№17 слайд
Определение коллекций
Содержание слайда: Определение коллекций Алгоритмы (Algorithms) Это методы, которые выполняют некоторые вычисления, такие как поиск, сортировка объектов, реализующих интерфейс Сollection. Они также реализуют принцип полиморфизма, таким образом один и тот же метод может быть использован в различных реализациях Сollection интерфейса. По существу, алгоритмы представляют универсальную функциональность.

№18 слайд
Интерфейс collection
Содержание слайда: Интерфейс collection

№19 слайд
Интерфейс Collection
Содержание слайда: Интерфейс Collection Интерфейс Collection - вершина иерархии коллекций Интерфейс Collection - наименьший набор характеристик, реализуемых всеми коллекциями JDK не предоставляет прямых реализаций этого интерфейса, но существует множество реализаций более специфичных подинтерфейсов таких как Set и List.

№20 слайд
Интерфейс Collection public
Содержание слайда: Интерфейс Collection public interface Collection<E> extends Iterable<E> { boolean equals(Object o); int size(); //возвращает количество элементов в коллекции; boolean isEmpty(); // возвращает true, если коллекция пуста; boolean contains(Object element); //возвращает true, если коллекция содержит элемент element; boolean add(E element); //добавляет element к вызывающей коллекции и возвращает true, если объект добавлен, и false, если element уже элемент коллекции; boolean remove(Object element); //удаляет element из коллекции; Iterator<E> iterator(); //возвращает итератор

№21 слайд
Интерфейс Collection boolean
Содержание слайда: Интерфейс Collection boolean containsAll(Collection<?> c); //возвращает true, если коллекция содержит все элементы из c; boolean addAll(Collection<? extends E> c); //добавляет все элементы коллекции к вызывающей коллекции; boolean removeAll(Collection<?> c); //удаление всех элементов данной коллекции, которые содержаться в c; boolean retainAll(Collection<?> c); //удаление элементов данной коллекции, которые не содержаться в коллекции c; void clear(); //удаление всех элементов. Object[] toArray(); //копирует элементы коллекции в массив объектов <T> T[] toArray(T[] a); //возвращает массив, содержащий все элементы коллекции }

№22 слайд
Интерфейс Collection
Содержание слайда: Интерфейс Collection interface Iterable<T>{ Iterator<T> iterator(); // возвращает итератор по множеству элементов T }

№23 слайд
Интерфейс Collection Класс
Содержание слайда: Интерфейс Collection Класс AbstractCollection - convenience class, предоставляет частичную реализацию интерфейса Collection, реализует все методы, за исключением size() и iterator().

№24 слайд
Интерфейс Collection
Содержание слайда: Интерфейс Collection Некоторые методы интерфейса Collection могут быть не реализованы в подклассах (нет необходимости их реализовывать). В этом случае метод генерирует java.lang.UnsupportedOperationException (подкласс RuntimeException) Это хорошее решение, которое следует использовать.

№25 слайд
Множества SET
Содержание слайда: Множества SET

№26 слайд
Множества Set Множество
Содержание слайда: Множества Set Множество ─ коллекция без повторяющихся элементов Интерфейс Set<E> содержит методы, унаследованные Collection<E> и добавляет запрет на дублирующиеся элементы.

№27 слайд
Множества Set
Содержание слайда: Множества Set

№28 слайд
Множества Set Интерфейс Set
Содержание слайда: Множества Set Интерфейс Set заботится об уникальности хранимых объектов, уникальность определятся реализацией метода equals().

№29 слайд
Множества Set public
Содержание слайда: Множества Set public interface Set<E> extends Collection<E> { int size(); //возвращает количество элементов в множестве boolean isEmpty(); //возвращает true, если множество пусто; boolean contains(Object element); //возвращает true, если множество содержит элемент element boolean add(E element); //добавляет element к вызывающему множеству и возвращает true, если объект добавлен, и false, если element уже элемент множества boolean remove(Object element); // удаляет element из множества Iterator<E> iterator(); // возвращает итератор по множеству

№30 слайд
Множества Set boolean
Содержание слайда: Множества Set boolean containsAll(Collection<?> c); // возвращает true, если множество содержит все элементы коллекции с boolean addAll(Collection<? extends E> c); //добавление всех элементов из коллекции c во множество, если их еще нет boolean removeAll(Collection<?> c); //удаляет из множества все элементы, входящие в коллекцию c boolean retainAll(Collection<?> c); //сохраняет элементы во множестве, которые также содержаться и в коллекции с void clear(); //удаление всех элементов Object[] toArray(); //копирует элементы множества в массив объектов <T> T[] toArray(T[] a); //возвращает массив, содержащий все элементы множества }

№31 слайд
Множества Set Set также
Содержание слайда: Множества Set Set также добавляет соглашение на поведение методов equals и hashCode, позволяющих сравнивать множества даже если их реализации различны Два множества считаются равными, если они содержат одинаковые элементы

№32 слайд
Множества Set Правила
Содержание слайда: Множества Set Правила сравнения на равенство Метод boolean equals(Object o) Рефлексивность o1.equals(o1) Симметричность o1.equals(o2) == e2.equals(o1) Транзитивность o1.equals(o2) && o2.equals(o3) => o1.equals(o3) Устойчивость o1.equals(o2) не изменяется, если o1 и o2 не изменяются Обработка null o1.equals(null) == false

№33 слайд
Множества Set Интерфейс
Содержание слайда: Множества Set Интерфейс SortedSet из пакета java.util, расширяющий интерфейс Set, описывает упорядоченное множество, отсортированное по естественному порядку возрастания его элементов или по порядку, заданному реализацией интерфейса Comparator.

№34 слайд
Множества Set public
Содержание слайда: Множества Set public interface SortedSet<E> extends Set<E>{ Comparator<? super E> comparator(); // возвращает способ упорядочения коллекции; E first(); // минимальный элемент SortedSet<E> headSet(E toElement); //подмножество элементов, меньших toElement E last(); // максимальный элемент SortedSet<E> subSet(E fromElement, E toElement); // подмножество элементов, меньших toElement и больше либо равных fromElement SortedSet<E> tailSet(E fromElement); // подмножество элементов, больших либо равных fromElement }

№35 слайд
Множества Set Интерфейс
Содержание слайда: Множества Set Интерфейс NavigableSet добавляет возможность перемещения, "навигации" по отсортированному множеству.

№36 слайд
Множества Set public
Содержание слайда: Множества Set public interface NavigableSet<E> extends SortedSet<E>{ E lower(E e); E floor(E e); E higher(E e); E ceiling(E e); E pollFirst(); E pollLast(); Iterator<E> iterator(); Iterator<E> descendingIterator(); NavigableSet<E> descendingSet();

№37 слайд
Множества Set методы,
Содержание слайда: Множества Set // методы, позволяющие получить подмножество элементов. Параметры fromElement и toElement ограничивают подмножество снизу и сверху, а флаги fromInclusive и toInclusive показывают, нужно ли в результирующий набор включать граничные элементы. headSet возвращает элементы с начала набора до указанного элемента, а tailSet - от указанного элемента до конца набора. Перегруженные методы без логических параметров включают в выходной набор первый элемент интервала, но исключают последний. SortedSet<E> headSet(E toElement) NavigableSet<E> headSet(E toElement, boolean inclusive) NavigableSet<E> subSet(E fromElement, boolean fromInclusive, E toElement, boolean toInclusive) SortedSet<E> subSet(E fromElement, E toElement) SortedSet<E> tailSet(E fromElement) NavigableSet<E> tailSet(E fromElement, boolean inclusive) }

№38 слайд
Множества Set Класс
Содержание слайда: Множества Set Класс AbstractSet - convenience class , который наследуется от AbstractCollection и реализует интерфейс Set. Класс AbstractSet предоставляет реализацию методов equals и hashCode; hash-код множества – это сумма всех hash-кодов его элементов; методы size и iterator не реализованы.

№39 слайд
Множества Set HashSet
Содержание слайда: Множества Set HashSet – неотсортированная и неупорядоченная коллекция, для вставки элемента используются методы hashCode() и equals(…). Чем эффективней реализован метод hashCode(), тем эффективней работает коллекция. HashSet используется в случае, когда порядок элементов не важен, но важно чтобы в коллекции все элементы были уникальны.

№40 слайд
Множества Set Конструкторы
Содержание слайда: Множества Set Конструкторы HashSet HashSet() ─ создает пустое множество; HashSet(Collection<? extends E> c) ─ создает новое множество с элементами коллекции c; HashSet(int initialCapacity) ─ создает новое пустое множество размера initialCapacity; HashSet(int initialCapacity, float loadFactor) ─ создает новое пустое множество размера initialCapacity со степенью заполнения loadFactor. Выбор слишком большой первоначальной вместимости (capacity) может обернуться потерей памяти и производительности. Выбор слишком маленькой первоначальной вместимости (capacity) уменьшает производительность из-за копирования данных каждый раз, когда вместимость увеличивается.

№41 слайд
Множества Set Для
Содержание слайда: Множества Set Для эффективности объекты, добавляемые в множество должны реализовывать hashСode. Метод int hashCode() - возвращает значение хэш-кода множества Правила: Устойчивость hashCode() не изменяется, если объект не изменяется Согласованность с equals() o1.equals(o2) => o1.hashCode() == o2.hashCode()

№42 слайд
Множества Set. Example
Содержание слайда: Множества Set. Example 01 Результат:

№43 слайд
Множества Set LinkedHashSet
Содержание слайда: Множества Set LinkedHashSet<E> ─ множество на основе хэша c сохранением порядка обхода.

№44 слайд
Множества Set. Example
Содержание слайда: Множества Set. Example 02 Результат:

№45 слайд
Множества Set TreeSet lt E gt
Содержание слайда: Множества Set TreeSet<E> – реализует интерфейс NavigableSet<E>, который поддерживает элементы в отсортированном по возрастанию порядке. Для хранения объектов использует бинарное дерево. При добавлении объекта в дерево он сразу же размещается в необходимую позицию с учетом сортировки. Сортировка происходит благодаря тому, что все добавляемые элементы реализуют интерфейсы Comparator и Comparable. Обработка операций удаления и вставки объектов происходит медленнее, чем в хэш-множествах, но быстрее, чем в списках.

№46 слайд
Множества Set Используется в
Содержание слайда: Множества Set Используется в том случае, если необходимо использовать операции, определенные в интерфейсе SortedSet, NavigableSet или итерацию в определенном порядке.

№47 слайд
Множества Set Конструкторы
Содержание слайда: Множества Set Конструкторы TreeSet: TreeSet(); TreeSet(Collection <? extends E> c); TreeSet(Comparator <? super E> c); TreeSet(SortedSet <E> s);

№48 слайд
Множества Set Класс TreeSet
Содержание слайда: Множества Set Класс TreeSet<E> содержит методы по извлечению первого и последнего (наименьшего и наибольшего) элементов E first() и E last(). Методы SortedSet<E> subSet(E from, E to), SortedSet<E> tailSet(E from) и SortedSet<E> headSet(E to) предназначены для извлечения определенной части множества. Метод Comparator <? super E> comparator() возвращает объект Comparator, используемый для сортировки объектов множества или null, если выполняется обычная сортировка.

№49 слайд
Множества Set. Example
Содержание слайда: Множества Set. Example 03

№50 слайд
Множества Set. Example
Содержание слайда: Множества Set. Example 03 Результат:

№51 слайд
Интерфейс Iterator
Содержание слайда: Интерфейс Iterator

№52 слайд
Интерфейс Iterator Для обхода
Содержание слайда: Интерфейс Iterator Для обхода коллекции можно использовать: for-each Конструкция for-each является краткой формой записи обхода коллекции с использованием цикла for. Iterator Итератор это объект, который позволяет осуществлять обход коллекции и при желании удалять избранные элементы.

№53 слайд
Интерфейс Iterator Интерфейс
Содержание слайда: Интерфейс Iterator Интерфейс Iterator<E> используется для доступа к элементам коллекции Iterator<E> iterator() – возвращает итератор

№54 слайд
Интерфейс Iterator public
Содержание слайда: Интерфейс Iterator public interface Iterator { boolean hasNext(); // возвращает true при наличии следующего элемента, а в случае его отсутствия возвращает false. Итератор при этом остается неизменным; Object next(); // возвращает объект, на который указывает итератор, и передвигает текущий указатель на следующий итератор, предоставляя доступ к следующему элементу. Если следующий элемент коллекции отсутствует, то метод next() генерирует исключение ; void remove(); // удаляет объект, возвращенный последним вызовом метода next() }

№55 слайд
Интерфейс Iterator Исключения
Содержание слайда: Интерфейс Iterator Исключения: NoSuchElementException ─ генерируется при достижении конца коллекции ConcurrentModificationException ─ генерируется при изменении коллекции

№56 слайд
Интерфейс Iterator. Example
Содержание слайда: Интерфейс Iterator. Example 04

№57 слайд
Интерфейс Iterator. Example
Содержание слайда: Интерфейс Iterator. Example 04 Результат:

№58 слайд
Интерфейс Iterator
Содержание слайда: Интерфейс Iterator Используйте Iterator вместо for-each если вам необходимо удалить текущий элемент. Конструкция for-each скрывает итератор, поэтому нельзя вызвать remove Также конструкция for-each не применима для фильтрации.

№59 слайд
Интерфейс Iterator Чтобы
Содержание слайда: Интерфейс Iterator Чтобы удалить все экземпляры определенного элемента е из коллекции с воспользуйтесь следующим кодом: Удалить все элементы null из коллекции Collections.singleton(), статический метод, который возвращает постоянное множество, содержащее только определенный элемент.

№60 слайд
Сравнение объектов.
Содержание слайда: Сравнение объектов. Compatator, comparable

№61 слайд
Сравнение коллекций.
Содержание слайда: Сравнение коллекций. Comparator, Comparable Естественный порядок сортировки (natural sort order) — естественный и реализованный по умолчанию (реализацией метода compareTo интерфейса java.lang.Comparable) способ сравнения двух экземпляров одного класса. int compareTo(E other) — сравнивает this объект с other и возвращает отрицательное значение если this<other, 0 — если они равны и положительное значение если this>other.

№62 слайд
Сравнение коллекций.
Содержание слайда: Сравнение коллекций. Comparator, Comparable Реализация Comparable позволяет: Вызвать Collections.sort иCollections.binarySearch Вызывать Arrays.sort и Arrays.binarySearch Использовать такие объекты, как keys в TreeMap Использовать такие объекты, как elements вTreeSet

№63 слайд
Сравнение коллекций.
Содержание слайда: Сравнение коллекций. Comparator, Comparable Метод compareTo должен выполнять следующие условия. sgn(x.compareTo(y)) == -sgn(y.compareTo(x)) если x.compareTo(y) выбрасывает исключение, то и y.compareTo(x) должен выбрасывать то же исключение если x.compareTo(y)>0 и y.compareTo(z)>0, тогда x.compareTo(z)>0 если x.compareTo(y)==0, и x.compareTo(z)==0, то и y.compareTo(z)==0 x.compareTo(y)==0, тогда и только тогда, когда x.equals(y) ; (правило рекомендуемо но не обязательно)

№64 слайд
Сравнение коллекций.
Содержание слайда: Сравнение коллекций. Comparator, Comparable. Example 05

№65 слайд
Сравнение коллекций.
Содержание слайда: Сравнение коллекций. Comparator, Comparable. Example 05

№66 слайд
Сравнение коллекций.
Содержание слайда: Сравнение коллекций. Comparator, Comparable. Example 05

№67 слайд
Сравнение коллекций.
Содержание слайда: Сравнение коллекций. Comparator, Comparable. Example 05

№68 слайд
Сравнение коллекций.
Содержание слайда: Сравнение коллекций. Comparator, Comparable. Example 05 Результат:

№69 слайд
Сравнение коллекций.
Содержание слайда: Сравнение коллекций. Comparator, Comparable При реализации интерфейса Comparator<T> существует возможность сортировки списка объектов конкретного типа по правилам, определенным для этого типа. Для этого необходимо реализовать метод int compare(T ob1, T ob2), принимающий в качестве параметров два объекта для которых должно быть определено возвращаемое целое значение, знак которого и определяет правило сортировки. Этот метод автоматически вызывается методом public static <T> void sort(List<T> list, Comparator<? super T> c) класса Collections, в качестве первого параметра принимающий коллекцию, в качестве второго – объект-comparator, из которого извлекается правило сортировки.

№70 слайд
Сравнение коллекций.
Содержание слайда: Сравнение коллекций. Comparator, Comparable java.util.Comparator — содержит два метода: int compare(T o1, T o2) — сравнение, аналогичное compareTo boolean equals(Object obj) — true если оbj это Comparator и у него такой же принцип сравнения.

№71 слайд
Сравнение коллекций.
Содержание слайда: Сравнение коллекций. Comparator, Comparable. Example 06

№72 слайд
Сравнение коллекций.
Содержание слайда: Сравнение коллекций. Comparator, Comparable. Example 06

№73 слайд
Сравнение коллекций.
Содержание слайда: Сравнение коллекций. Comparator, Comparable. Example 06

№74 слайд
Сравнение коллекций.
Содержание слайда: Сравнение коллекций. Comparator, Comparable. Example 06

№75 слайд
Сравнение коллекций.
Содержание слайда: Сравнение коллекций. Comparator, Comparable. Example 06 Результат:

№76 слайд
Списки List
Содержание слайда: Списки List

№77 слайд
Списки List Список -
Содержание слайда: Списки List Список - упорядоченная коллекция (иногда называется sequence) Список может содержать повторяющиеся элементы. Интерфейс List сохраняет последовательность добавления элементов и позволяет осуществлять доступ к элементу по индексу.

№78 слайд
Списки List
Содержание слайда: Списки List

№79 слайд
Списки List public interface
Содержание слайда: Списки List public interface List<E> extends Collection<E> { E get(int index); //возвращает объект, находящийся в позиции index; E set(int index, E element); //заменяет элемент, находящийся в позиции index объектом element; boolean add(E element); //добавляет элемент в список void add(int index, E element); //вставляет элемент element в позицию index, при этом список раздвигается E remove(int index); //удаляет элемент, находящийся на позиции index boolean addAll(int index, Collection<? extends E> c); //добавляет все элементы коллекции с в список, начиная с позиции index

№80 слайд
Списки List int indexOf
Содержание слайда: Списки List int indexOf(Object o); //возвращает индекс первого появления элемента o в списке; int lastIndexOf(Object o); //возвращает индекс последнего появления элемента o в списке; ListIterator<E> listIterator(); //возвращает итератор на список ListIterator<E> listIterator(int index); //возвращает итератор на список, установленный на элемент с индексом index List<E> subList(int from, int to); //возвращает новый список, представляющий собой часть данного (начиная с позиции from до позиции to-1 включительно). }

№81 слайд
Списки List Класс
Содержание слайда: Списки List Класс AbstractList предоставляет частичную реализацию для интерфейса List. Класс AbstractSequentialList расширяет AbstractList, чтобы предоставить поддержку для связанных списков.

№82 слайд
Списки List ListIterator lt E
Содержание слайда: Списки List ListIterator<E> - это итератор для списка

№83 слайд
Списки List interface
Содержание слайда: Списки List interface ListIterator<E> extends Iterator{ boolean hasNext() / boolean hasPrevious() // проверка E next() / E previous () // взятие элемента int nextIndex() / int previousIndex() // определение индекса void remove() // удаление элемента void set(E o) // изменение элемента void add(E o) // добавление элемента }

№84 слайд
Списки List ArrayList lt E gt
Содержание слайда: Списки List ArrayList<E> ─ список на базе массива (реализация List) Достоинства Быстрый доступ по индексу Быстрая вставка и удаление элементов с конца Недостатки Медленная вставка и удаление элементов Аналогичен Vector за исключением потокобезопасности Применения: “Бесконечный” массив Стек

№85 слайд
Списки List Конструкторы
Содержание слайда: Списки List Конструкторы ArrayList ArrayList() ─ пустой список ArrayList(Collection<? extends E> c) ─ копия коллекции ArrayList(int initialCapacity) ─ пустой список заданной вместимости Вместимость ─ реальное количество элементов Дополнительные методы void ensureCapacity(int minCapacity) ─ определение вместимости void trimToSize() ─ “подгонка” вместимости

№86 слайд
Списки List LinkedList lt E
Содержание слайда: Списки List LinkedList<E> ─ двусвязный список (реализация List) Достоинства Быстрое добавление и удаление элементов Недостатки Медленный доступ по индексу Рекомендуется использовать, если необходимо часто добавлять элементы в начало списка или удалять внутренний элемент списка Применения: Стек Очередь Дек

№87 слайд
Списки List Конструкторы
Содержание слайда: Списки List Конструкторы LinkedList LinkedList<E> () //пустой список LinkedList(Collection<? extends E> c) //копия коллекции Дополнительные методы void addFirst(E o) //добавить в начало списка void addLast(E o) // добавить в конец списка E removeFirst() // удалить первый элемент E removeLast() //удалить последний элемент E getFirst() E getLast()

№88 слайд
Списки List. Example
Содержание слайда: Списки List. Example 07

№89 слайд
Списки List. Example
Содержание слайда: Списки List. Example 07

№90 слайд
Списки List. Example Результат
Содержание слайда: Списки List. Example 07 Результат:

№91 слайд
Очереди Queue
Содержание слайда: Очереди Queue

№92 слайд
Очереди Queue Очередь,
Содержание слайда: Очереди Queue Очередь, предназначенная для размещения элемента перед его обработкой. Расширяет коллекцию методами для вставки, выборки и просмотра элементов Очередь – хранилище элементов, предназначенных для обработки.

№93 слайд
Очереди Queue Кроме базовых
Содержание слайда: Очереди Queue Кроме базовых методов Collection очередь(Queue) предоставляет дополнительные методы по добавлению, извлечению и проверке элементов. Чаще всего порядок выдачи элементов соответствует FIFO (first-in, first-out), но в общем случае определяется конкретной реализацией. Очереди не могут хранить null. У очереди может быть ограничен размер.

№94 слайд
Очереди Queue
Содержание слайда: Очереди Queue

№95 слайд
Очереди Queue public
Содержание слайда: Очереди Queue public interface Queue<E> extends Collection<E> { E element(); // возвращает, но не удаляет головной элемент очереди boolean offer(E o); //добавляет в конец очереди новый элемент и возвращает true, если вставка удалась. E peek(); // возвращает первый элемент очереди, не удаляя его. E poll(); // возвращает первый элемент и удаляет его из очереди E remove(); // возвращает и удаляет головной элемент очереди }

№96 слайд
Очереди Queue Класс
Содержание слайда: Очереди Queue Класс AbstractQueue – реализует методы интерфейса Queue: size() offer(Object o) peek() poll() iterator()

№97 слайд
Очереди Queue. Example
Содержание слайда: Очереди Queue. Example 08 Результат:

№98 слайд
Очереди Queue Интерфейс Deque
Содержание слайда: Очереди Queue Интерфейс Deque позволяет реализовать двунаправленная очередь, разрешающую вставку и удаление элементов в два конца очереди. Интерфейс Deque определяет «двунаправленную» очередь и, соответственно, методы доступа к первому и последнему элементам двусторонней очереди. Методы обеспечивают удаление, вставку и обработку элементов. Каждый из этих методов существует в двух формах. Одни методы создают исключительную ситуацию в случае неудачного завершения, другие возвращают какое-либо из значений (null или false в зависимости от типа операции).

№99 слайд
Очереди Queue Вторая форма
Содержание слайда: Очереди Queue Вторая форма добавления элементов в очередь сделана специально для реализаций Deque, имеющих ограничение по размеру. Методы addFirst(e), addLast(e) вставляют элементы в начало и в конец очереди соответственно. Метод add(e) унаследован от интерфейса Queue и абсолютно аналогичен методу addLast(e) интерфейса Deque.

№100 слайд
Очереди Queue ArrayDeque -
Содержание слайда: Очереди Queue ArrayDeque - эффективная реализация интерфейса Deque переменного размера Конструкторы: ArrayDeque(); // создает пустую двунаправленную очередь с вместимостью 16 элементов ArrayDeque(Collection<? extends E> c); // создает двунаправленную очередь из элементов коллекции c в том порядке, в котором они возвращаются итератором коллекции c. ArrayDeque(int numElements); // создает пустую двунаправленную очередь с вместимостью numElements.

№101 слайд
Очереди Queue. Example
Содержание слайда: Очереди Queue. Example 09 Результат:

№102 слайд
Очереди Queue. Example
Содержание слайда: Очереди Queue. Example 10

№103 слайд
Очереди Queue. Example
Содержание слайда: Очереди Queue. Example 10 Результат:

№104 слайд
Очереди Queue PriorityQueue
Содержание слайда: Очереди Queue PriorityQueue – это класс очереди с приоритетами. По умолчанию очередь с приоритетами размещает элементы согласно естественному порядку сортировки используя Comparable. Элементу с наименьшим значением присваивается наибольший приоритет. Если несколько элементов имеют одинаковый наивысший элемент – связь определяется произвольно. Также можно указать специальный порядок размещения, используя Comparator

№105 слайд
Очереди Queue Конструкторы
Содержание слайда: Очереди Queue Конструкторы PriorityQueue: PriorityQueue(); // создает очередь с приоритетами начальной емкостью 11, размещающую элементы согласно естественному порядку сортировки (Comparable). PriorityQueue(Collection<? extends E> c); PriorityQueue(int initialCapacity); PriorityQueue(int initialCapacity, Comparator<? super E> comparator); PriorityQueue(PriorityQueue<? extends E> c); PriorityQueue(SortedSet<? extends E> c);

№106 слайд
Очереди Queue. Example
Содержание слайда: Очереди Queue. Example 11

№107 слайд
Очереди Queue. Example
Содержание слайда: Очереди Queue. Example 11

№108 слайд
Очереди Queue. Example
Содержание слайда: Очереди Queue. Example 11 Результат:

№109 слайд
Карты отображений map
Содержание слайда: Карты отображений map

№110 слайд
Карты отображений Map
Содержание слайда: Карты отображений Map Интерфейс Map работает с наборами пар объектов «ключ-значение» Все ключи в картах уникальны. Уникальность ключей определяет реализация метода equals(…). Для корректной работы с картами необходимо переопределить методы equals(…) и hashCode(), допускается добавление объектов без переопределения этих методов, но найти эти объекты в Map вы не сможете.

№111 слайд
Карты отображений Map
Содержание слайда: Карты отображений Map

№112 слайд
Карты отображений Map public
Содержание слайда: Карты отображений Map public interface Map<K,V> { V put(K key, V value); // запись V get(Object key); // получение значение V remove(Object key); // удаление boolean containsKey(Object key); // наличие ключа boolean containsValue(Object value); // наличие значения int size(); // размер отображения boolean isEmpty(); // проверка на пустоту void putAll(Map<? extends K, ? extends V> m); // добавление всех пар void clear(); // полная очистка public Set<K> keySet(); // множество ключей public Collection<V> values(); // коллекция значений public Set<Map.Entry<K,V>> entrySet(); // множество пар }

№113 слайд
Карты отображений Map public
Содержание слайда: Карты отображений Map public static interface Map.Entry<K,V> { boolean equals(Object o); // сравнивает объект о с сущностью this на равенство K getKey(); // возвращает ключ карты отображения V getValue(); // возвращает значение карты отображения int hashCode(); // возвращает hash-код для карты отображения V setValue(V value); // устанавливает значение для карты отображения }

№114 слайд
Карты отображений Map public
Содержание слайда: Карты отображений Map public interface SortedMap<K,V> extends Map<K,V>{ Comparator<? super K> comparator(); // возвращает компаратор, используемый для упорядочивания ключей иди null, если используется естественный порядок сортировки Set<Map.Entry<K,V>> entrySet(); // возвращает множество пар K firstKey(); // минимальный ключ SortedMap<K,V> headMap(K toKey); // отображение ключей меньших toKey Set<K> keySet(); // возвращает множество ключей K lastKey(); // максимальный ключ SortedMap<K,V> subMap(K fromKey, K toKey); // отображение ключей меньших toKey и больше либо равных fromKey SortedMap<K,V> tailMap(K fromKey); // отображение ключей больших либо равных fromKey Collection<V> values(); // возвращает коллекцию всех значений }

№115 слайд
Карты отображений Map
Содержание слайда: Карты отображений Map

№116 слайд
Карты отображений Map
Содержание слайда: Карты отображений Map

№117 слайд
Карты отображений Map
Содержание слайда: Карты отображений Map

№118 слайд
Карты отображений Map
Содержание слайда: Карты отображений Map

№119 слайд
Карты отображений Map HashMap
Содержание слайда: Карты отображений Map HashMap – неотсортированная и неупорядоченная карта, эффективность работы HashMap зависит от того, насколько эффективно реализован метод hashCode(). HashMap может принимать в качестве ключа null, но такой ключ может быть только один, значений null может быть сколько угодно.

№120 слайд
Карты отображений Map
Содержание слайда: Карты отображений Map LinkedHashMap –хранит элементы в порядке вставки. LinkedHashMap добавляет и удаляет объекты медленнее чем HashMap, но перебор элементов происходит быстрее.

№121 слайд
Карты отображений Map TreeMap
Содержание слайда: Карты отображений Map TreeMap –хранит элементы в порядке сортировки. По умолчанию TreeMap сортирует элементы по возрастанию от первого к последнему, также порядок сортировки может задаваться реализацией интерфейсов Comparator и Comparable. Реализация Comparator передается в конструктор TreeMap, Comparable используется при добавлении элемента в карту.

№122 слайд
Карты отображений Map. Example
Содержание слайда: Карты отображений Map. Example 12

№123 слайд
Карты отображений Map. Example
Содержание слайда: Карты отображений Map. Example 12

№124 слайд
Карты отображений Map.
Содержание слайда: Карты отображений Map. Example 12 Результат:

№125 слайд
Карты отображений Map. Example
Содержание слайда: Карты отображений Map. Example 13

№126 слайд
Карты отображений Map.
Содержание слайда: Карты отображений Map. Example 13 Результат:

№127 слайд
Класс collections
Содержание слайда: Класс collections

№128 слайд
Класс Collections Collections
Содержание слайда: Класс Collections Collections — класс, состоящий из статических методов, осуществляющих различные служебные операции над коллекциями.

№129 слайд
Класс Collections
Содержание слайда: Класс Collections

№130 слайд
Класс Collections
Содержание слайда: Класс Collections

№131 слайд
Класс Collections .
Содержание слайда: Класс Collections .

№132 слайд
Класс Collections. Example
Содержание слайда: Класс Collections. Example 14 Результат:

№133 слайд
Класс Collections. Example
Содержание слайда: Класс Collections. Example 15

№134 слайд
Класс Collections. Example
Содержание слайда: Класс Collections. Example 16

№135 слайд
Класс Collections. Example
Содержание слайда: Класс Collections. Example 17

№136 слайд
Класс Collections. Example
Содержание слайда: Класс Collections. Example 18

№137 слайд
Класс Collections. Example
Содержание слайда: Класс Collections. Example 19

№138 слайд
Класс Collections. Example
Содержание слайда: Класс Collections. Example 20

№139 слайд
Класс Collections. Example
Содержание слайда: Класс Collections. Example 21

№140 слайд
Класс Collections. Example
Содержание слайда: Класс Collections. Example 22

№141 слайд
Класс Collections. Example
Содержание слайда: Класс Collections. Example 23

№142 слайд
Унаследованные коллекции
Содержание слайда: Унаследованные коллекции

№143 слайд
Унаследованные коллекции
Содержание слайда: Унаследованные коллекции Унаследованные коллекции (Legacy Collections) – это коллекции языка Java 1.0/1.1 В ряде распределенных приложений, например с использованием сервлетов, до сих пор применяются унаследованные коллекции, более медленные в обработке, но при этом потокобезопасные, существовавшие в языке Java с момента его создания.

№144 слайд
Унаследованные коллекции
Содержание слайда: Унаследованные коллекции

№145 слайд
Унаследованные коллекции
Содержание слайда: Унаследованные коллекции Vector –устаревшая версия ArrayList, его функциональность схожа с ArrayList за исключением того, что ключевые методы Vector синхронизированы для безопасной работы с многопоточностью. Из-за того что методы Vector синхронизированы, Vector работает медленее чем ArrayList. Конструкторы класса Vector Vector() Vector(Collection<? extends E> c). Vector(int initialCapacity)           Vector(int initialCapacity, int capacityIncrement)           

№146 слайд
Унаследованные коллекции.
Содержание слайда: Унаследованные коллекции. Example 24

№147 слайд
Унаследованные коллекции.
Содержание слайда: Унаследованные коллекции. Example 24

№148 слайд
Унаследованные коллекции.
Содержание слайда: Унаследованные коллекции. Example 24

№149 слайд
Enumeration объекты классов,
Содержание слайда: Enumeration – объекты классов, реализующих данный интерфейс, используются для предоставления однопроходного последовательного доступа к серии объектов: public interface Enumeration<E>{ boolean hasMoreElements(); E nextElement() ; }

№150 слайд
Унаследованные коллекции
Содержание слайда: Унаследованные коллекции Класс Stack позволяет создавать очередь типа last-in-first-out (LIFO) public class Stack<E> extends Vector<E> { public boolean empty(); public synchronized E peek(); public synchronized E pop(); public E push(E object); public synchronized int search(Object o); }

№151 слайд
Унаследованные коллекции.
Содержание слайда: Унаследованные коллекции. Example 25

№152 слайд
Унаследованные коллекции
Содержание слайда: Унаследованные коллекции Hashtable – после модификации в JDK 1.2 реализует интерфейс Map. Порядок следования пар ключ/значение не определен. Конструкторы Hashtable Hashtable() ; Hashtable(int initialCapacity) ; Hashtable(int initialCapacity, float loadFactor) ; Hashtable(Map<? extends K,? extends V> t);           

№153 слайд
Унаследованные коллекции.
Содержание слайда: Унаследованные коллекции. Example 26

№154 слайд
Унаследованные коллекции.
Содержание слайда: Унаследованные коллекции. Example 26

№155 слайд
Унаследованные коллекции
Содержание слайда: Унаследованные коллекции Класс Properties предназначен для хранения набора свойств (параметров). Методы String getProperty(String key) String getProperty(String key,String defaultValue) позволяют получить свойство из набора. С помощью метода setProperty(String key, String value) это свойство можно установить.

№156 слайд
Унаследованные коллекции
Содержание слайда: Унаследованные коллекции Метод load(InputStream inStream) позволяет загрузить набор свойств из входного потока. Параметры представляют собой строки представляющие сбой пары ключ/значение. Предполагается, что по умолчанию используется кодировка ISO 8859-1.

№157 слайд
Унаследованные коллекции.
Содержание слайда: Унаследованные коллекции. Example 27

№158 слайд
Унаследованные коллекции.
Содержание слайда: Унаследованные коллекции. Example 27

№159 слайд
Унаследованные коллекции.
Содержание слайда: Унаследованные коллекции. Example 27

№160 слайд
Унаследованные коллекции
Содержание слайда: Унаследованные коллекции Класс BitSet предназначен для работы с последовательностями битов. Каждый компонент. этой коллекции может принимать булево значение, которое обозначает установлен бит или нет. Содержимое BitSet может быть модифицировано содержимым другого BitSet с использованием операций AND, OR или XOR (исключающее или). BitSet имеет текущий размер (количество установленных битов) может динамически изменятся.

№161 слайд
Унаследованные коллекции По
Содержание слайда: Унаследованные коллекции По умолчанию все биты в наборе устанавливаются в 0 (false). Установка и очистка битов в BitSet осуществляется методами set(int index) и clear(int index). Метод int length() возвращает "логический" размер набора битов, int size() возвращает количество памяти занимаемой битовой последовательностью BitSet.

№162 слайд
Унаследованные коллекции.
Содержание слайда: Унаследованные коллекции. Example 28

№163 слайд
Коллекции для перечислений
Содержание слайда: Коллекции для перечислений

№164 слайд
Коллекции для перечислений
Содержание слайда: Коллекции для перечислений Абстрактный класс EnumSet<E extends Enum<E>> (наследуется от абстрактного класса AbstractSet) - специально реализован для работы с типами enum. Все элементы такой коллекции должны принадлежать единственному типу enum, определенному явно или неявно. Внутренне множество представимо в виде вектора битов, обычно единственного long. Множества нумераторов поддерживают перебор по диапазону из нумераторов. Скорость выполнения операций над таким множеством очень высока, даже если в ней участвует большое количество элементов.

№165 слайд
Коллекции для перечислений
Содержание слайда: Коллекции для перечислений Создание EnumSet EnumSet<T> EnumSet.noneOf(T.class); // cоздает пустое множество нумерованных констант с указанным типом элемента EnumSet<T> EnumSet.allOf(T.class); // создает множество нумерованных констант, содержащее все элементы указанного типа EnumSet<T> EnumSet.of(e1, e2, …); // создает множество, первоначально содержащее указанные элементы EnumSet<T> EnumSet.copyOf(EnumSet<T> s); EnumSet<T> EnumSet.copyOf(Collection<T> t);

№166 слайд
Коллекции для перечислений
Содержание слайда: Коллекции для перечислений EnumSet<T> EnumSet.complementOf(EnumSet<T> s); // создается множество, содержащее все элементы, которые отсутствуют в указанном множестве EnumSet<T> range(T from, T to); // создает множество из элементов, содержащихся в диапазоне, определенном двумя элементами При передаче вышеуказанным методам в качестве параметра null будет сгенерирована исключительная ситуация NullPointerException

№167 слайд
Коллекции для перечислений.
Содержание слайда: Коллекции для перечислений. Example 29

№168 слайд
Коллекции для перечислений
Содержание слайда: Коллекции для перечислений EnumMap - высоко производительное отображение (map). В качестве ключей используются элементы перечисления, что позволяет реализовывать EnumMap на базе массива. Null ключи запрещены. Null значения допускаются. Не синхронизировано. Все основные операции с EnumMap совершаются за постоянное время. Как правило EnumMap работает быстрее, чем HashMap. Создание EnumMap EnumMap<K, V>(K.class); EnumMap<K, V>(EnumMap<K, V>); EnumMap<K, V>(Map<K, V>);

№169 слайд
Коллекции для перечислений
Содержание слайда: Коллекции для перечислений Создать объект EnumMap: Создать синхронизированный объект EnumMap:

№170 слайд
Коллекции для перечислений.
Содержание слайда: Коллекции для перечислений. Example 30

№171 слайд
Коллекции для перечислений
Содержание слайда: Коллекции для перечислений

№172 слайд
Ihar Blinou, PhD Java.SE.
Содержание слайда: Ihar Blinou, PhD Java.SE.06 Generic&Collections

Скачать все slide презентации Java. SE. 06. Generic and collections одним архивом: