В практической ситуации ключ с изменяемым полем уже помещён в HashMap, после изменения этого поля get по тому же объекту возвращает null. Какой механизм контракта объясняет это поведение?
База Hintsage
Коллекции
Java Collections Framework, контракты, реализации и сложность операций.
Практика
Вопросы: Коллекции
Какой механизм объясняет выброс ConcurrentModificationException итератором ArrayList после структурного изменения коллекции?
Что определяет уникальность элементов в TreeSet, если компаратор возвращает 0 для двух объектов, не равных по equals?
В многопоточном сценарии итератор CopyOnWriteArrayList не видит элементы, добавленные после его создания. Какой механизм реализации это объясняет?
При большом числе коллизий в HashMap почему поиск обычно остаётся близким к O(1), хотя несколько ключей попадают в один бакет?
За счёт какого внутреннего устройства обращение к элементу по индексу имеет разную асимптотику у ArrayList и LinkedList?
В практической задаче коллекция постепенно растёт. Как объяснить амортизированную сложность вызовов put, несмотря на редкое расширение внутренней таблицы?
import java.util.HashMap;
import java.util.Map;
Map<Integer, String> data = new HashMap<>(4);
for (int i = 0; i < 1_000_000; i++) {
data.put(i, "value");
}
Объясните, почему итератор PriorityQueue не обязан возвращать элементы в порядке их приоритета.
Чем объясняется постоянное время доступа EnumMap по ключу enum без хеширования?
Что отличает представление Collections.unmodifiableList от независимой неизменяемой копии списка?
Сравнение: за счёт чего LinkedHashMap сохраняет порядок вставки при итерации, в отличие от HashMap?
Какой контракт Iterator определяет, когда допустим вызов remove после next?
Зачем ArrayDeque запрещает добавление null, если интерфейс Collection в целом допускает null-элементы?
В HashSet два разных объекта равны по equals, но возвращают разные hashCode. Какое наблюдаемое последствие следует ожидать?
При обходе коллекции, обёрнутой в Collections.synchronizedMap, почему синхронизации вызова iterator() недостаточно для безопасной итерации?
Что определяет корректность результата бинарного поиска в списке, если порядок элементов задан компаратором?
Откуда у удаления элемента из ArrayList по значению берётся линейная сложность?
Представьте, что изменения исходного списка неожиданно отражаются в полученной из него части. Какой механизм Java Collections Framework объясняет такое поведение?
Объясните, почему ConcurrentHashMap запрещает null-ключи и null-значения, хотя HashMap их допускает.
Можно ли удалить запись из HashMap через представление keySet и почему это не требует отдельной синхронизации с картой?
Показано 1–20 из 50