Содержание
- 2. Что такое Java Collections Framework? Коллекции – это хранилища, поддерживающие различные способы накопления и упорядочения объектов
- 3. Иерархия интерфейсов коллекции
- 4. Интерфейс Collection Интерфейс Collection - вершина иерархии коллекций, который определяет наименьший набор характеристик, реализуемых всеми коллекциями.
- 5. Методы интерфейса Collection boolean add(E obj) Добавляет obj к вызывающей коллекции. Возвращает true, если obj был
- 6. Методы интерфейса Collection boolean addAll (Collection с) Добавляет все элементы к вызывающей коллекции. Возвращает true, если
- 7. Методы интерфейса Collection void clear() Удаляет все элементы вызывающей коллекции.
- 8. Методы интерфейса Collection boolean contains(Object obj) Возвращает true, если obj является элементом вызывающей коллекции. В противном
- 9. Методы интерфейса Collection boolean containsAll(Collection с) Возвращает true, если вызывающая коллекция содержит все элементы с. В
- 10. Методы интерфейса Collection boolean isEmpty() Возвращает true, если вызывающая коллекция пуста. В противном случае возвращает false.
- 11. Методы интерфейса Collection boolean remove(Object obj) Удаляет один экземпляр obj из вызывающей коллекции. Возвращает true, если
- 12. Методы интерфейса Collection boolean removeAll(Collection с) Удаляет все элементы из вызывающей коллекции. Возвращает truе, если в
- 13. Методы интерфейса Collection int size() Возвращает количество элементов, содержащихся в коллекции.
- 14. Методы интерфейса Collection Удаляет элементы из коллекции, соответствующие заданному условию. default boolean removeIf(Predicate filter)
- 15. Интерфейс Collection
- 16. Интерфейс Collection
- 17. Интерфейс Collection
- 18. Интерфейс Collection
- 19. Основные структуры данных Список Стек Очередь Множество
- 20. Список Список — упорядоченный набор элементов, для каждого из которых хранится указатель на следующий (или для
- 21. Стек Стек — это коллекция, элементы которой получают по принципу «последний вошел, первый вышел» (Last-In-First-Out или
- 22. Очередь Очереди очень похожи на стеки. Они также не дают доступа к произвольному элементу, но, в
- 23. Множество Множество — неупорядоченный набор элементов, без повторов.
- 24. Интерфейс List
- 25. Интерфейс List Интерфейс List сохраняет последовательность добавления элементов и позволяет осуществлять доступ к элементу по индексу.
- 26. Методы интерфейса List void add(int index, Е obj) Вставляет obj в вызывающий список в позицию, указанную
- 27. Методы интерфейса List bооlеаn addAll (int index, Collection с) Вставляет все элементы в вызывающий список, начиная
- 28. Методы интерфейса List Е get (int index) Возвращает объект, сохраненный в указанной позиции вызывающего списка.
- 29. Методы интерфейса List int indexOf(Object obj) Возвращает индекс первого экземпляра obj в вызывающем списке. Если obj
- 30. Методы интерфейса List int lastlndexOf(Object obj) Возвращает индекс последнего экземпляра obj в вызывающем списке. Если obj
- 31. Методы интерфейса List Е remove(int index) Удаляет элемент из вызывающего списка в позиции index и возвращает
- 32. Методы интерфейса List Е set (int index, Е obj) Присваивает obj элементу, находящемуся в списке в
- 33. Методы интерфейса List List subList (int start, int end) Возвращает список, включающий элементы от start до
- 34. Интерфейс List
- 35. Интерфейс List
- 36. Интерфейс List
- 37. Класс ArrayList ArrayList поддерживает динамические массивы, которые могут расти по мере необходимости. Элементы ArrayList могут быть
- 38. Внутреннее представление класса ArrayList Объект класса ArrayList, содержит свойства elementData и size. Хранилище значений elementData есть
- 39. Внутреннее представление класса ArrayList Когда внутренний массив заполняется, ArrayList создает внутри себя новый массив. Его размер
- 40. Конструкторы класса ArrayList ArrayList () ArrayList(Collection с) ArrayList(int capacity)
- 41. Достоинства и недостатки класса ArrayList Достоинства Быстрый доступ по индексу - O(1). Быстрая вставка и удаление
- 42. Методы класса ArrayList для добавления элементов boolean add(E obj) - добавляет obj к вызывающей коллекции. Возвращает
- 43. Добавление эл-в в ArrayList public class ArrayListAddDemo { public static void main(String[] args) { List arrayList
- 44. Методы класса ArrayList для удаления элементов boolean remove(Object obj) - удаляет один экземпляр obj из вызывающей
- 45. Удаление эл-в из ArrayList public class ArrayListRemoveDemo { public static void main(String[] args) { List arrayList
- 46. Пример использования removeAll() класса ArrayList public class ArrayListRemoveAllDemo { public static void main(String[] args) { List
- 47. Пример использования методов addAll(), clear() класса ArrayList public class ArrayListDemo2 { public static void main(String[] args)
- 48. Пример использования методов retainAll() класса ArrayList public class ArrayListRetainAllDemo { public static void main(String[] args) {
- 49. Получение массива из коллекции типа ArrayList Имеются два варианта метода toArray(), которые объявлены в Collection: Object
- 50. Получение массива из коллекции типа ArrayList public class ArrayListToStringDemo { public static void main(String[] args) {
- 51. Интерфейс Set
- 52. Интерфейс Set Интерфейс Set определяет множество (набор). Он расширяет Collection и определяет поведение коллекций, не допускающих
- 53. Интерфейс Set Интерфейс Set заботится об уникальности хранимых объектов, уникальность определятся реализацией метода equals().
- 54. Класс HashSet Класс HashSet реализует интерфейс Set. Он создает коллекцию, которая используется для хранения хеш-таблиц. Разрешено
- 55. Что такое хэш-таблица? Элементы таблицы хранятся в виде пар ключ-значение. Ключ определяет ячейку для хранения значения.
- 56. Использование hashCode()
- 57. Правила написания методов hashCode() и equals() Для одного и того же объекта, хеш-код всегда будет одинаковым.
- 58. Конструкторы HashSet HashSet() - начальная емкость по умолчанию – 16, коэффициент загрузки – 0,75. HashSet(int initialCapacity)
- 59. Начальная емкость и коэффициент загрузки Начальная емкость (initial capacity)– изначальное количество ячеек (buckets) в хэш-таблице. Если
- 60. Класс HashSet Выгода от хеширования состоит в том, что оно обеспечивает постоянство время выполнения операций add(),
- 61. Пример использования класса HashSet public class HashSetDemo { public static void main(String[] args) { Set hashSet
- 62. Клacc LinkedHashSet Класс LinkedHashSet расширяет HashSet, не добавляя никаких новых методов. LinkedHashSet поддерживает связный список элементов
- 63. Пример класса LinkedHashSet public class LinkedHashSetDemo { public static void main(String[] args) { Set linkedHashSet =
- 64. Интерфейс SortedSet Интерфейс SortedSet из пакета java.util, расширяющий интерфейс Set, описывает упорядоченное множество, отсортированное по естественному
- 65. Класс TreeSet TreeSet – реализует интерфейс NavigableSet , который поддерживает элементы в отсортированном по возрастанию порядке.
- 66. Пример использования класса TreeSet public class TreeSetDemo1 { public static void main(String[] args) { SortedSet treeSet
- 67. Методы интерфейса SortedSet
- 68. Пример использования методов subSet(), headSet(), tailSet(), first(), last() public class TreeSetDemo2 { public static void main(String[]
- 69. Сравнение объектов Существует два способа сравнения объектов: С помощью интерфейса Comparable . С помощью интерфейса Comparator
- 70. Интерфейс Comparable Для того, чтобы объекты можно было сравнить и сортировать, они должны реализовать интерфейс Comparable
- 71. Пример использования Comparable public class Person implements Comparable { private String firstName; private String lastName; private
- 72. Пример использования Comparable public class ComparePersonDemo { public static void main(String[] args) { SortedSet set =
- 73. Интерфейс Comparator Интерфейс Comparator содержит метод: int compare(T o1, T o2). Метод compare также возвращает числовое
- 74. Пример использования Comparator public class PersonComparator implements Comparator { @Override public int compare(Person o1, Person o2)
- 75. Пример использования Comparator public class PersonComparatorDemo { public static void main(String[] args) { PersonComparator personComparator =
- 76. Пример использования Comparator.comparing() public class PersonComparingDemo { public static void main(String[] args) { Comparator personComparator =
- 77. Конструкторы класса TreeSet TreeSet имеет следующие конструкторы: TreeSet() TreeSet(Collection сollection) TreeSet(Comparator соmрarator) TreeSet(SortedSet sortedSet) https://javarush.ru/quests/lectures/questcollections.level06.lecture07
- 78. Интерфейс NavigableSet Интерфейс NavigableSet появился в Java SE 6. Он расширяет SortedSet и добавляет методы для
- 79. Интерфейс NavigableSet
- 80. Интерфейс NavigableSet
- 81. Интерфейс NavigableSet
- 82. Пример использования NavigableSet public class Ferry { public static void main(String[] args) { NavigableSet times =
- 83. Интерфейс Queue Интерфейс Queue расширяет Collection и объявляет поведение очередей, которые представляют собой список с дисциплиной
- 84. Интерфейс Queue
- 85. Методы Queue
- 86. Пример методов offer(), peek(), poll() public class QueueExample { public static void main(String[] args) { Queue
- 87. Интерфейс Deque
- 88. Интерфейс Deque Интерфейс Deque (double-ended queue) появился в Java 6. Он расширяет Queue и описывает поведение
- 89. Методы Deque
- 90. Методы Deque
- 91. Методы Deque
- 92. Методы Deque
- 93. Класс ArrayDeque ArrayDeque создает двунаправленную очередь. Конструкторы: ArrayDeque(); // создает пустую двунаправленную очередь с вместимостью 16
- 94. Пример использования класса ArrayDeque public class ArrayDequeExample { public static void main(String[] args) { Deque stack
- 95. Класс LinkedList Класс LinkedList реализует интерфейсы List, Deque. LinkedList – это двухсвязный список. Конструкторы: LinkedList() LinkedList(Collection
- 96. Класс LinkedList
- 97. Внутренняя организация класса LinkedList Внутри класса LinkedList существует static inner класс Entry, с помощью которого создаются
- 98. Пример использования LinkedList public class LinkedListDemo { public static void main(String[] args) { LinkedList list =
- 99. Класс LinkedList Из LinkedList можно организовать стэк, очередь, или двойную очередь. На вставку и удаление из
- 100. Класс PriorityQueue
- 101. Класс PriorityQueue PriorityQueue – это класс очереди с приоритетами. По умолчанию очередь с приоритетами размещает элементы
- 102. Конструкторы PriorityQueue PriorityQueue(); // создает очередь с приоритетами начальной емкостью 11, размещающую элементы согласно естественному порядку
- 104. Скачать презентацию