** TreeMap хранит данные в порядке сортировки, работает медленнее и использует Comparator; HashMap не гарантирует порядок, работает быстрее и основан на хешировании.
Разница между value receiver и pointer receiver При использовании value receiver метод получает копию значения структуры С pointer receiver метод получает указатель на исходную структуру Изменения внутри метода с…
Коэффициент расширения List при превышении capacity Контекст: динамические массивы, включая List в .NET, Java и других платформах Когда capacity оказывается недостаточной, List увеличивает размер своего внутреннего…
За счёт чего индекс на основе B-дерева ускоряет поиск? Индекс представляет собой структуру данных для быстрого поиска B-дерево — сбалансированное дерево с несколькими дочерними узлами Небольшая высота дерева…
Зачем нужны atomic.Value и atomic.Pointer? синхронизация без mutex при небольших накладных расходах atomic.Value: атомарное чтение и запись значений разных типов atomic.Pointer: атомарная работа с указателями и…
Зачем нужны GetHashCode и Equals и какова их роль в Dictionary<TKey, TValue> Контекст: переопределение методов в .NET для хеширования объектов и определения их равенства GetHashCode формирует для объекта целочисленный…
Контекст: Java, коллекции и итерация ConcurrentModificationException появляется, если структурно изменить коллекцию не через используемый итератор Для удаления во время обхода применяйте Iterator.remove() Ещё один…
Как устроен Dictionary<TKey, TValue>: бакеты и коллизии Dictionary представляет собой хеш-таблицу, использующую массив бакетов Для ключа вычисляется индекс бакета: hash(key) % capacity В одном бакете оказываются…
Как удалить или вставить произвольные элементы массива? операции с массивами, базовые действия удаление: метод splice(start, deleteCount, ...items) splice удаляет из массива элементы, начиная с позиции start, в…
Массивы размещаются в непрерывной области памяти: их размер фиксирован, а элементы находятся последовательно Срез представляет собой структуру-обёртку, содержащую указатель на массив, длину и capacity Capacity — это…
Как создать собственную очередь задач с приоритетами структура данных: приоритетная очередь (priority queue) хранение задач, каждой из которых назначено числовое значение приоритета (чем меньше число, тем выше…
Работа с массивом и поиск повторяющейся последовательности Последовательный просмотр элементов с сопоставлением соседних значений Сопоставляем текущий элемент со следующим и при равенстве возвращаем найденную пару…