- •1. Поняття класа-оболонки. Розташування цих класів ієрархії класів Java
- •2. Операції упаковки та распаковки класів-оболонок
- •3. Практичне застосування класів-оболонок
- •4. Порівняння рядків
- •5. Особливості класу String для обробки рядків
- •6. Особливості класу StringBuffer для обробки рядків. Довжина та місткість буферу
- •7. Відмінності між класами String та StringBuffer
- •8. Класи та інтерфейси каркасу колекцій мови Java
- •9. Інтерфейс Collection
- •Iterator
- •10. Порівняння реалізацій інтерфейсу List
- •11. Програмна реалізація ArrayList. Основні операції
- •12. Використання ітератору для роботи из елементами колекцій
- •13. Алгоритми каркасу колекцій мови Java
- •14. Способи визначення порядку елементів колекції
- •15. Програмна реалізація PriorityQueue. Основні операції
- •16. Програмна реалізація ArrayDeque. Основні операції
- •17. Програмна реалізація HashSet . Основні операції
- •18. Програмна реалізація LinkedHashSet . Основні операції
- •19. Програмна реалізація TreeSet . Основні операції
- •20. Способи отримання елементів карти
- •21. Програмна Реалізація HashMap . Основні операції
- •22. Програмна Реалізація TreeMap . Основні операції
- •23. Реалізація множин на базі EnumSet і EnumMap
- •24. Пакет Java. Правила іменування пакетів
- •25. Типи імпорту пакетів. Вирішення конфліктів імен при імпортуванні
- •26. Розмежування доступу до вмісту пакету
- •27. Модуль компіляції. Визначення, вміст, правила опису
- •28. Призначення jar-файлів. Іх склад
- •29. Байтові файлові потоки введення/виведення
- •InputStream
- •30. Буферізовані файлові байтові потоки введення/виведення
- •31. Символьні файлові потоки введення/виведення
- •32. Буферізовані файлові символьні потоки введення/виведення
- •33. Механізм обробки подій у застосуваннях java з gui 34. Шаблон «Компонувальник» для розташування елементів gui
19. Програмна реалізація TreeSet . Основні операції
Создает сортированную коллекцию, использующую для хранения дерево. Объекты сохраняются в отсортированном возрастающем порядке.
• Благодаря использованию древовидной структуры, время доступа и извлечения достаточно мало.
• Ограничение – в дереве не допускаются дублированные элементы.
TreeSet - колекція, яка зберігає свої елементи у вигляді упорядкованого за значеннями дерева. TreeSet инкапсулирует в собі TreeMap, який в свою чергу використовує збалансоване бінарне червоно-чорне дерево для зберігання елементів. TreeSet хороший тим, що для операцій add, remove і contains буде потрібно гарантований час log (n).
TreeSet, на відміну від HashSet, зберігає елементи впорядковано, тобто в якому б порядку ми не додавали і не видаляли елементи, колекція залишиться строго впорядкованої по зростанням.
На додаток до методів, які є в HashSet, TreeSet має ряд методів, пов'язаних з впорядкованістю безлічі.
public SortedSet subSet(Object fromElement, Object toElement)
Здесь SortedSet — интерфейс "упорядоченное множество". Метод возвращает
подмножество в заданном интервале объектов (toElement не входит в это
подмножество). Результирующее множество обладает тем свойством, что в
него нельзя включить элемент вне заданного интервала (выдает
IllegalArgumentException).
public SortedSet headSet(Object toElement)
Аналогично предыдущему, но с начала исходного множества — до
элемента toElement, исключая его.
public SortedSet tailSet(Object fromElement)
Аналогично subset, но начиная с элемента fromElement до конца множества.
public Object first()
Первый элемент множества
public Object last()
20. Способи отримання елементів карти
Ключ – объект,ассоциированный созначением. Значениеиз карты можно
получить по ассоциированному сним ключу.
В карту помещаютсяключи со значениями.Если в карте ключ присутствует, то новый объект заменяет старый, ассоциированный с
этим ключом.
HashMap має вбудовані ітератори, такі, що ви можете отримати список всіх ключів keySet (), усі значень values () або ж всі пари ключ / значення entrySet (). Нижче представлені деякі варіанти для перебору елементів
1)Set <K> keySet( )
Возвращает представление – набор всех ключей карты.
2) Collection <K> values( )
Возвращает представление – набор всех значений карты.
3) Set <Map.Entry <K,V> entrySet( )
Возвращает представление – набор объектов Map.Entry, т.е. пар «ключ/значение», хранящихся в карте
// 1.
for (Map.Entry<String, String> entry: hashmap.entrySet()) System.out.println(entry.getKey() + " = " + entry.getValue());
// 2.
for (String key: hashmap.keySet()) System.out.println(hashmap.get(key));
// 3.
Iterator<Map.Entry<String, String>> itr = hashmap.entrySet().iterator(); while (itr.hasNext()) System.out.println(itr.next());
21. Програмна Реалізація HashMap . Основні операції
HashMap использует «хеш-таблицу» для реализации интерфейса Map.
• Это позволяет время выполнения базовых операций, таких как get( ) и put( ), оставлять константным даже для больших наборов.
• Хеш-карта хеширует ключи
• Функции хеширования применяются только к ключам
• Значения, ассоциированные с ключами, не хешируются
Vget(KeyK) – Возвращает объект, соответствующий указанному ключу
Vput(KeyK, ValueV) – Добавляет ключ и значение к карте. Если такой ключ уже имеется, то новый объект заменяет предыдущий, связанный с этим ключомvoidputAll(Map<? extendsK, ? extendsV> entries) – Добавляет все элементы заданной карты к текущей.
booleancontainsKey(Objectkey) – Возвращает значение true, если в карте имеется указанный ключ.
booleancontainsValue(Objectvalue) – Возвращает значение true, если в карте имеется указанное значение.
Set<Map.Entry<K, V>> entrySet() – Возвращает представление карты в виде множества объектов Map.Entry, т.е. пар "ключ-значение". Из этого представления можно удалять элементы, при этом они удаляются и из карты, но добавлять их нельзя.
Set<K> keySet() – Возвращает представление карты в виде множества всех ключей. Из этого представления можно удалять элементы, при этом ключи и соответствующие им значения автоматически удаляются из карты, но добавлять новые элементы нельзя.
Collection<V> values() – Возвращает представление карты в виде множества всех значений. Из этого представления можно удалять элементы, при этом значения и соответствующие им ключи автоматически удаляются из карты, но добавлять новые элементы нельзя.
