Содержание
- 2. Пакет java.util. Коллекции и Карты отображений Сервисные классы Наследованные классы и интерфейсы
- 3. Хранение данных Массивы — наиболее простой вид контейнера: эффективность и тип. Массив является наиболее эффективным способом
- 4. Концепции хранения объектов Коллекция (Collection): группа индивидуальных элементов. Список (List) должен хранить элементы в определенной последовательности,
- 5. Обзор коллекций Коллекция — группа объектов. Коллекции — классы, позволяющие хранить и производить операции над множеством
- 6. Интерфейсы Collections Framework Интерфейсы играют ключевую роль — все классы коллекций унаследованы от различных интерфейсов, которые
- 7. Интерфейсы Collections Framework
- 8. Интерфейсы, наследующие Collection
- 9. Иерархия интерфейсов коллекций Iterable ↓ Collection List Queue Set Deque SortedSet
- 10. Интерфейс Collection
- 11. Интерфейс List
- 12. Интерфейс SortedList Объявляет поведение набора, отсортированного в возрастающем порядке.
- 13. Итераторы Назначение контейнера — хранение объектов: Поместить объект; Извлечь объект; Концепция итераторов позволяет достичь абстракции при
- 14. Доступ к коллекциям через итератор Итератор – объект, реализующий один из интерфейсов: Iterator , ListIterator .
- 15. ListIterator Обеспечивает двунаправленный обход коллекции и модификацию ее элементов.
- 16. Использование итератора. В каждом коллекционном классе определен метод iterator()/listIterator(), который возвращает итератор к началу коллекции. Получить
- 17. Пример итератора v.1 import java.util.*; class IteratorDemo { public static void main(String args[]) { ArrayList al
- 18. Пример итератора ListIterator //модификация элементов коллекции на основе ListIterator . . . ListIterator litr = al.listIterator();
- 19. Пример итератора ListIterator //проход коллекции в обратном направлении . . . while(litr.hasPrevious()) { Object element =
- 20. Пример for-each ArrayList al = new ArrayList (); al.add(new String("A")); al.add(new String("B")); al.add("F"); for (String s
- 21. Пример итератора v.2 LinkedList ll = new LinkedList (); ll.add(new Integer(1)); ll.add(new Integer(3)); ll.add(new Integer(7)); for
- 22. Компараторы. Компаратор задает точное определение порядка сортировки. Интерфейс Comparator Методы: int compare(Object obj1, Object obj2); boolean
- 23. Алгоритмы коллекций Применяются к коллекциям и картам отображений. Определены как статические методы класса Collections. Некоторые методы:
- 24. Работа с картами отображений Карта отображений – объект, хранящий ассоциации (связи) между ключами и значениями, или
- 25. Интерфейсы карт
- 26. Интерфейс Map Описывает функциональность ассоциативных массивов. Реализации: HashMap , LinkedHashMap , TreeMap , WeakHashMap (использует хэш-таблицу
- 27. Интерфейс SortedMap Наследует Map . Реализации этого интерфейса обеспечивают хранение элементов множества ключей в порядке возрастания
- 28. Исключительные ситуации, возможные при работе с картами отображений:
- 29. Способы хранения в Collections Framework Массивы; Связные списки - цепочка из объектов, ссылающихся друг на друга;
- 30. Реализации контейнеров ArrayList , ArrayDeque - на основе массивов; LinkedList - на основе связного списка; двунаправленный
- 31. Класс Arrays Мост между массивами и коллекциями Некоторые методы: static List asList(Object[] array) //возвращает List-объект, поддерживаемый
- 32. Наследованные классы и интерфейсы Dictionary Stack HashTable Vector Properties (синхронизированы) Vector Dictionary(абстрактный класс, аналогичен Map) Stack
- 33. Класс Vector Конструкторы. Vector() Vector(int size) Vector(int size, int incr) Vector(Collection c) Некоторые методы: final int
- 34. Интерфейс Enumeration (перечисление) boolean hasMoreElements(); nextElement(); Vector v; . . . for (Enumeration e = v.elements();
- 35. Сервисные классы Не входят в структуру коллекций StringTokenizer - синтаксический анализатор строк StringTokenizer(String str) Разделители по
- 36. Интерфейс наблюдателя и наблюдаемый класс Класс Observable используется для создания подклассов, за которыми могут наблюдать другие
- 37. Класс Observable
- 38. Интерфейс Observer void update(Observable observOb, Object arg); observOb – наблюдаемый объект arg – значение, передаваемое методом
- 39. Расширенная поддержка коллекций До JAVA 7 В JAVA 7
- 40. Улучшенное вычисление типов при создании коллекций
- 42. Скачать презентацию