Collections 0. Collection Flashcards

1
Q

Collection

A

Это корневой интерфейс в иерархии коллекций Java. Он представляет собой группу объектов (элементов). Интерфейс предоставляет основные методы для работы с коллекциями, такие как добавление, удаление и проверка наличия элементов.

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

Конструкторы коллекций

A

В соответствии с конвенцией, все классы, имплементирующие интерфейс Collection должны иметь два конструктора.
Один пустой. Он создаёт пустую коллекцию.
Второй с единственным аргументом типа Collection. Он создаёт новую коллекцию из имеющейся. Позволяет пользователю копировать коллекцию из одного типа коллекции в другой.

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

Collection vs Collections

A

java.util.Collections - набор статических методов для работы с коллекциями.
java.util.Collection - один из основных интерфейсов Java Collections Framework.

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

Диаграмма Collection

A

Iterable
Collection<E> (из java.util)
├── List<E> (java.util)
├── Set<E> (java.util)
├── Queue<E> (java.util)
└── BeanContext (java.beans.beancontext)</E></E></E></E>

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

Iterator

A

Это объект, который позволяет последовательно обходить элементы коллекции. Он предоставляет методы hasNext(), next(), remove() и forEachRemaining()

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

fail-fast итератор

A

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

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

fail-safe итератор

A

В противоположность fail-fast, итераторы fail-safe не вызывают никаких исключений при изменении структуры, потому что они работают с клоном коллекции вместо оригинала.
Итератор коллекции CopyOnWriteArrayList и итератор представления keySet коллекции ConcurrentHashMap являются примерами итераторов fail-safe.

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

разница между Iterator и ListIterator

A
  • Iterator может использоваться для перебора элементов Set, List и Map. В отличие от него, ListIterator может быть использован только для перебора элементов коллекции List
  • Iterator позволяет перебирать элементы только в одном направлении, при помощи метода next(). Тогда как ListIterator позволяет перебирать список в обоих направлениях, при помощи методов next() и previous()
  • При помощи ListIterator вы можете модифицировать список, добавляя/удаляя элементы с помощью методов add() и remove(). Iterator не поддерживает данную функциональность.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Iterable

A

Реализует методы iterator и spliterator, которые возвращают одноименные интерфейсы, и void метод forEach.

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

Iterable vs Iterator

A

Iterable<T> — это контейнер, который можно перебирать.</T>

Iterator<T> — это механизм для перебора элементов по одному.</T>

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