Java Guru 🤓
13.2K subscribers
900 photos
15 videos
773 links
Канал с вопросами и задачами с собеседований!

По сотрудничеству и рекламе: @NadikaKir

Канал в перечне РКН: https://vk.cc/cJrSQZ

Мы на бирже: telega.in/channels/javatasks/card?r=lcDuijdm
Download Telegram
Расскажите про java.util.collection.

Iterable — реализуют коллекции, по которым можно проитерироваться
Сollection — общий интерфейс для коллекций
List (стандартная реализация ArrayList) — список с массивом элементов, с возможностью случайного доступа элемента по индексу за O(1), вставкой/удалением со сложностью O(n)
Set (стандартная реализация HashSet) — мн-во элементов без дубликатов. Нет возможности доступа по индексу, есть вставка и удаление за O(1)
Map (стандартная реализация HashMap) — мн-во пар элементов «ключ-значение». Доступ по ключу/добавление/удаление за O(1) при оптимальном случае, O(n) — при вырожденном
🔥21👍15
Что напечатает следующий код?
👍12
Итератор по коллекции, его св-ва и интерфейс

• Может только один раз проходить по коллекции. Для прохождения в двух направлениях есть ListIterator
• Если в foreach цикле структурно модифицировать коллекцию, при последующем обращению к элементу (неявно через итератор) получим ConcurrentModificationException (fail-fast)
• hasNext(), next() — основные методы
👍17
Что выведет пример?
👍12🔥4
Hashtable vs HashMap

Hashtable — legacy, thread safe, методы синхронизированы, поэтому работа с Hashtable (обращение, удаление, добавление) в целом накладнее
HashMap — не thread-safe
👍12🔥1
Что выведет следующий код?
👍10🔥2
Что выведет следующий код?
Anonymous Quiz
44%
1 1
12%
1 2
30%
2 1
13%
2 2
👍10🔥1
LinkedHashMap, зачем он нужен

• Позволяет сохранять порядок вставки пар key-value в Map
• Каждый entry содержит помимо hash, value, next (следующий элемент в бакете) также поля, указывающие на предыдущий и следующий элементы относительно порядка вставки
👍19
Каков будет результат его компиляции и выполнения?
👍8🤬8
Каков будет результат его компиляции и выполнения?
Anonymous Quiz
13%
ABA
5%
ABEmpty
44%
AB
4%
ABEmptyA
35%
Код не откомпилируется
👍22🌭3🤬2
Устройство TreeMap

• Cбалансированное красно-черное дерево
• Реализует интерфейс
NavigableMap, что позволяет возвращать из него элементы, больше (меньше) указанного, либо range элементов, находящийся в определенных границах
👍17
Что будет напечатано на экран в результате компиляции и выполнения кода?
👍13🔥51
Что будет напечатано на экран в результате компиляции и выполнения кода?
Anonymous Quiz
52%
Integer
25%
Object
5%
Ошибка времени выполнения
18%
Ошибка компиляции
👍18🔥5🎉3🌚2🌭2
Расскажите про CopyOnWriteArrayList/CopyOnWriteHashSet

СopyOnWriteArrayList — иммутабельный list, при добавлении/апдейте/удалении элементов из которого пользователь получает новую модифицированную копию данного списка
СopyOnWriteHashSet — иммутабельный set, при добавлении/апдейте/удалении элементов из которого пользователь получает новую модифицированную копию данного set'а
👍162🔥2
Что будет в результате компиляции и выполнения данного кода?
👍14
Что будет в результате компиляции и выполнения данного кода?
Anonymous Quiz
21%
vehiclebike
3%
vehiclecar
12%
carcar
5%
bikebike
26%
Ошибка выполнения
32%
Ошибка компиляции
👍19🍌1011
IdentityHashMap — когда используется?

IdentityHashMap — используется, только если нужно проверять идентичность двух ссылок, а не эквивалентность двух объектов по ним. Например, если нужно отслеживать уже посешенные ноды в графе, или строить карту объекты-прокси. IdentityHashMap представляет из себя не классическую хэштаблицу со связанными списками, это linear probing map
👍18
Что произойдет при попытке скомпилировать и запустить следующий код?
👍17🌚4
👍22🌚5🤬3🍌2