Java Collections Framework Commons-collections Коллекции в многопоточной среде Коллекции в Java.

Презентация:



Advertisements
Похожие презентации
Collections Framework Java Advanced. 2Georgiy KorneevJava Advanced / Collections Framework Содержание 1.Коллекции 2.Множества 3.Списки 4.Очереди 5.Отображения.
Advertisements

Java : массивы и коллекции. Массивы Массивы простых типов: int []a = new int[10]; int []b = new int[]{ 0, 1, 2, 3, 4, 5 }; Массивы ссылочных типов (reference.
Collections Framework Java Advanced. 2Georgiy KorneevJava Advanced / Collections Framework Содержание 1.Коллекции 2.Множества 3.Списки 4.Очереди и деки.
1 Java 10. КОЛЛЕКЦИИ Множества Карты отображений.
Контейнеры Сортировка Метод sort() Интерфейс Comparable метод int compareTo(Object o) вызов: Arrays.sort(a) Интерфейс Comparator метод int compare(Object.
1 Java 10. КОЛЛЕКЦИИ Основные концепции. Интерфейсы. Списки.
Пакет java.util. Коллекции Интерфейсы List и ListIterator Интерфейс List Классы, реализующие этот интерфейс, содержат упорядоченную последовательность.
Saint Petersburg, 2012 Java Lecture #1 Intro DSA Collections.
Коллекции классов Лекция 12. С помощью коллекций вместо создания структур данных программист использует готовые структуры данных, не заботясь об их реализации.
1 Параметризация типов в Java public class Box { private Object object; public void add(Object object) { this.object = object; } public Object get() {
1 © Luxoft Training 2013 Модуль 4 Обзор Collections Framework Интерфейс java.util.Collection и его реализации Итерация коллекций Сравнение элементов, интерфейсы.
Коллекции: алгоритмы, генерики. Приведение типов Предположения о типах объектов: void innerMethod( Object o ){ //Ошибка времени выполнения int val = (Integer)o;
Ассоциативные списки Поиск данных происходит не по индексу или положению объекта, а по его ассоциативной связи: public interface Map { // Доступ к объектам.
Коллекции Итераторы Лекция 6. Коллекции Итераторы.
Java Collections Framework (JCF) in Java Tutorial for students of universities Author: Oxana Dudnik.
САОД кафедра ОСУ 1 Основные абстрактные типы данных Схема процесса создания программ для решения прикладных задач ВУ.
КоллекцииИтераторы Типы, допускающие неопределенное значение Обработка исключений Лекция 5.
Saint Petersburg, 2012 Java Lecture #05 Concurrency.
Базовые структуры данных. STL Заикин Олег Сергеевич zaikin.all24.org
Классы и объекты Лекция 2. Классификатор Класс Интерфейс Экземпляр класса Ассоциация Квалификатор Класс ассоциации Обобщение Украшение Тип данных Пакеты.
Транксрипт:

Java Collections Framework Commons-collections Коллекции в многопоточной среде Коллекции в Java

Принципы библиотеки коллекций Разделение : Интерфейсы ( что нужно : функциональные свойства ): List, Map, Set Реализации ( как сделать : нефункциональные свойства ): ArrayList, HashMap Алгоритмы ( что сделать над элементами коллекции ): sort, search, reverse, shuffle Повторное использование Удобное расширение (AbstractList, AbstractSet) Совместимость со старыми версиями

Интерфейсы коллекций CollectionSetSortedSetQueueListMapSortedMap

Что использовать ? 1. Set ( множество ) 2. List ( Список ) 3. Map ( Карта ) 4. Queue ( Очередь ) a. Выбрать следующего дежурного из списка учеников класса b. Найти студента по номеру зачетки c. Добавить товар в корзину интернет - магазина d. Стопка игральных карт

Реализации коллекций CollectionSetSortedSetTreeSetHashSetQueueListArrayListLinkedListMapSortedMapTreeMapHashMap

Hash- коллекции HashMap, HashSet Поддержка hash- структур на уровне Object int hashCode() boolean equals()

Sorted- коллекции TreeSet, TreeMap По какому критерию сортировать ? Интерфейс Comparable Интерфейс Comparator

Алгоритмы работы с коллекциями Итерирование : Collection.iterator() List.listIterator() NavigableSet.descendingIterator() Сортировка : Collections.sort(List ) Поиск Collection.contains(Object key) List.indexOf(Object key) Collections.binarySearch(List, T key) Collections.shuffle(), Collections.reverse(), Collections.max(), Collections.min()

Какую реализацию выбрать ? 1. HashMap2. TreeMap3. ArrayList4. LinkedList a. Быстро добавлять и удалять элементы из списка b. Считать количество посещений по страницам сайта c. Быстро искать N- й элемент списка d. Быстро искать контракты по номеру и выводить упорядоченные по дате

Комбинированные коллекции LinkedHashSet LinkedHashMap

Коллекции - обертки (wrappers) Collections.synchronizedList() map,set, collection Collections.unmodifiableList() map,set, collection

Потокобезопасные коллекции Synchronized- обертки CopyOnWriteArrayList ConcurrentHashMap Специализированные коллекции для multithreading- задач LinkedBlockingQueue DelayQueue SynchronousQueue

Если не хватает java.util.* Apache commons collections ( Google collections (

Ссылки Java collections tutorial dex.html dex.html