Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КПЗ_1.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
319.98 Кб
Скачать

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() – Возвращает представление карты в виде множества всех значений. Из этого представления можно удалять элементы, при этом значения и соответствующие им ключи автоматически удаляются из карты, но добавлять новые элементы нельзя.