Collections 2. Set Flashcards

1
Q

Set<E></E>

A

Коллекция, которая не допускает дубликатов,
может хранить их в неупорядоченном виде,
позволяет хранить null (кроме TreeSet), но только один раз

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

классы которые реализуют Set

A

= HashSet
Неупорядоченный

= LinkedHashSet
Сохраняет порядок вставки

= TreeSet
Хранит элементы отсортированными

= EnumSet
Предназначен только для enum. Отсортирован. Сложность O(1)

= CopyOnWriteArraySet
Используется для многозадачности и параллельного доступа

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

HashSet

A

Неупорядоченный, быстрый

Сложность операций среднем O(1), но в худшем случае O(n), если есть много коллизий.

Использует HashMap под капотом для хранения данных.

Ключ (key) — это сам элемент множества
Значение (value) — это заглушка

Проверяет уникальность элементов с использованием hashCode() и equals(),

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

LinkedHashSet

A

Сохраняет порядок элементов, соответствующий порядку их добавления.

Сложность операций среднем O(1).

Использует LinkedHashMap под капотом.

В каждом элементе LinkedHashSet есть дополнительные ссылки (next/prev) для поддержания порядка вставки.

Структура LinkedHashSet = HashSet + двусвязный список

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

TreeSet

A

Хранит элементы в отсортированном порядке.

Основан на красно-черном дереве.

Сложность операций O(log n).

Все элементы автоматически сортируются в порядке, определенном их естественным порядком (с помощью метода compareTo()), либо с помощью предоставленного компаратора (Comparator).

Не допускает null

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

CopyOnWriteArraySet

A

Используется для многозадачности и параллельного доступа.

Использует массив для хранения своих элементов, и при любом изменении коллекции выполняется копирование всего массива.

Сложность операций:
- чтения О(1)
- записи O(n)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly