Итератор по коллекции, его св-ва и интерфейс
• Может только один раз проходить по коллекции. Для прохождения в двух направлениях есть ListIterator
• Если в foreach цикле структурно модифицировать коллекцию, при последующем обращению к элементу (неявно через итератор) получим ConcurrentModificationException (fail-fast)
• hasNext(), next() — основные методы
• Может только один раз проходить по коллекции. Для прохождения в двух направлениях есть ListIterator
• Если в foreach цикле структурно модифицировать коллекцию, при последующем обращению к элементу (неявно через итератор) получим ConcurrentModificationException (fail-fast)
• hasNext(), next() — основные методы
👍17
Что выведет пример?
Anonymous Quiz
19%
A4
4%
AB3
14%
AB5
5%
BA2
17%
BA4
11%
Ошибка времени выполнения
31%
Ошибка компиляции
👍15🔥10
👍10🔥1
LinkedHashMap, зачем он нужен
• Позволяет сохранять порядок вставки пар key-value в Map
• Каждый entry содержит помимо hash, value, next (следующий элемент в бакете) также поля, указывающие на предыдущий и следующий элементы относительно порядка вставки
• Позволяет сохранять порядок вставки пар key-value в Map
• Каждый entry содержит помимо hash, value, next (следующий элемент в бакете) также поля, указывающие на предыдущий и следующий элементы относительно порядка вставки
👍19
Каков будет результат его компиляции и выполнения?
Anonymous Quiz
13%
ABA
5%
ABEmpty
44%
AB
4%
ABEmptyA
35%
Код не откомпилируется
👍22🌭3🤬2
Устройство TreeMap
• Cбалансированное красно-черное дерево
• Реализует интерфейс NavigableMap, что позволяет возвращать из него элементы, больше (меньше) указанного, либо range элементов, находящийся в определенных границах
• Cбалансированное красно-черное дерево
• Реализует интерфейс NavigableMap, что позволяет возвращать из него элементы, больше (меньше) указанного, либо range элементов, находящийся в определенных границах
👍17
Что будет напечатано на экран в результате компиляции и выполнения кода?
Anonymous Quiz
52%
Integer
25%
Object
5%
Ошибка времени выполнения
18%
Ошибка компиляции
👍18🔥5🎉3🌚2🌭2
Расскажите про CopyOnWriteArrayList/CopyOnWriteHashSet
• СopyOnWriteArrayList — иммутабельный list, при добавлении/апдейте/удалении элементов из которого пользователь получает новую модифицированную копию данного списка
• СopyOnWriteHashSet — иммутабельный set, при добавлении/апдейте/удалении элементов из которого пользователь получает новую модифицированную копию данного set'а
• СopyOnWriteArrayList — иммутабельный list, при добавлении/апдейте/удалении элементов из которого пользователь получает новую модифицированную копию данного списка
• СopyOnWriteHashSet — иммутабельный set, при добавлении/апдейте/удалении элементов из которого пользователь получает новую модифицированную копию данного set'а
👍16⚡2🔥2
Что будет в результате компиляции и выполнения данного кода?
Anonymous Quiz
21%
vehiclebike
3%
vehiclecar
12%
carcar
5%
bikebike
26%
Ошибка выполнения
32%
Ошибка компиляции
👍19🍌10⚡1❤1
IdentityHashMap — когда используется?
IdentityHashMap — используется, только если нужно проверять идентичность двух ссылок, а не эквивалентность двух объектов по ним. Например, если нужно отслеживать уже посешенные ноды в графе, или строить карту объекты-прокси. IdentityHashMap представляет из себя не классическую хэштаблицу со связанными списками, это linear probing map
IdentityHashMap — используется, только если нужно проверять идентичность двух ссылок, а не эквивалентность двух объектов по ним. Например, если нужно отслеживать уже посешенные ноды в графе, или строить карту объекты-прокси. IdentityHashMap представляет из себя не классическую хэштаблицу со связанными списками, это linear probing map
👍18
Что произойдет при попытке скомпилировать и запустить следующий код?
Anonymous Quiz
43%
будет напечатано: 10,15
5%
будет напечатано: 0,0
26%
код не скомпилируется, поскольку метод main объявлен неправильно
25%
ничего из выше перечисленного
👍22🌚5🤬3🍌2
Есть ли способ сделать enum ключом Map?
EnumMap — массив, по размеру соотвествующий кол-ву элементов в enum'е. Индекс элемента массива соотвествуют ordinal'у из enum'а
EnumMap — массив, по размеру соотвествующий кол-ву элементов в enum'е. Индекс элемента массива соотвествуют ordinal'у из enum'а
👍25