IEnumerable и IQueryable: отложенное выполнение IEnumerable предназначен для последовательного перебора коллекций, находящихся в памяти IQueryable используется для формирования и выполнения запросов к удалённым…
Отличия IEnumerable<T> от IQueryable<T> и назначение QueryProvider IEnumerable<T> — интерфейс для работы с коллекциями, выполняющий LINQ-запросы в памяти (LINQ to Objects) IQueryable<T> — расширяет IEnumerable<T> и…
Функции, предназначенные для обработки коллекций и потоков данных map отдельно преобразует каждый элемент В результате получается коллекция преобразованных элементов flatMap сначала вызывает функцию, которая…
Зачем нужны GetHashCode и Equals и какова их роль в Dictionary<TKey, TValue> Контекст: переопределение методов в .NET для хеширования объектов и определения их равенства GetHashCode формирует для объекта целочисленный…
Устройство List<T> и изменение вместимости массива List<T> в .NET представляет собой динамический массив — собственную оболочку над обычным массивом Элементы хранятся в массиве T[], который изначально имеет…
Контекст: Java, коллекции и итерация ConcurrentModificationException появляется, если структурно изменить коллекцию не через используемый итератор Для удаления во время обхода применяйте Iterator.remove() Ещё один…
Коллекции в Java на практике Коллекции представляют собой наборы объектов с удобными средствами для их хранения и обработки К основным интерфейсам относятся List, Set и Map — каждый задаёт свою структуру и гарантии…
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)…