Java-коллекции, в том числе HashMap, используют hashCode() для ускорения поиска Правило контракта таково: при результате equals() true метод hashCode() обязан возвращать одинаковое значение Если правило нарушено,…
цель: исключить состояния гонки (race conditions) использовать синхронизацию: мьютексы и блокировки (locks) выбирать конкурентные коллекции (ConcurrentHashMap, ConcurrentQueue) по возможности применять атомарные…
Чем отличаются Array, Set и Dictionary Все три типа предназначены для хранения коллекций данных Array — индексированный упорядоченный список, в котором разрешены дубликаты Set — неупорядоченная коллекция уникальных…
В LINQ предусмотрены два варианта выполнения: отложенное (deferred) и немедленное. Операторы, результатом которых является IEnumerable, например Where и Select, применяют отложенное выполнение: запрос создаётся, но…
Классическая проблема IEnumerable при отложенном выполнении в LINQ Контекст: LINQ, IEnumerable и deferred execution IEnumerable описывает последовательность, элементы которой вычисляются отложенно (deferred execution)…
Коллекции в .NET: назначение разных типов Массив имеет фиксированный размер, обеспечивает быстрый доступ по индексу и служит базовой структурой данных. List<T> представляет собой динамический массив, который при…
Промежуточные и терминальные операции Stream API Stream API представляет собой конвейер для обработки данных в Java Промежуточные операции — ленивые методы, возвращающие Stream и позволяющие последовательно…
Реализации коллекций в Kotlin В Kotlin коллекции подразделяются на мутабельные и немутируемые. Немутируемые коллекции: List, Set и Map — доступны только для чтения. Мутабельные коллекции: MutableList, MutableSet и…
Основные типы коллекций в Swift В Swift предусмотрены 3 базовые коллекции: Array, Set и Dictionary Array — упорядоченная последовательность, в которой допускаются дубликаты Set — неупорядоченная коллекция уникальных…
Функции высшего порядка: сравнение map, compactMap и flatMap Функции высшего порядка — это функции, которые получают другие функции в аргументах либо возвращают функцию map применяет преобразование к каждому элементу…
Допустимо ли использовать объект с изменяемыми полями в роли ключа HashMap? Контекст: коллекции, HashMap в Java и аналогичные структуры В течение всего времени хранения в мапе ключ должен сохранять неизменные hashCode…
Hashtable — синхронизированная реализация словаря Для всего объекта применяются coarse-grained блокировки При конкурентном доступе производительность снижается Его заменил ConcurrentHashMap с более эффективным…