Класс scala.collection.mutable.OpenHashMap
@deprecated("Используйте HashMap или одну из специализированных версий (LongMap, AnyRefMap) вместо OpenHashMap", "2.13.0")
class OpenHashMap[Key, Value](initialSize: Int) extends AbstractMap[Key, Value] with MapOps[Key, Value, OpenHashMap, OpenHashMap[Key, Value]] with StrictOptimizedIterableOps[(Key, Value), Iterable, OpenHashMap[Key, Value]] with MapFactoryDefaults[Key, Value, OpenHashMap, Iterable] with DefaultSerializable
Изменяемая хеш-таблица, основанная на методе открытой адресации. Точный алгоритм не определен, но он должен разумно стараться, чтобы вставка с последовательными хеш-кодами не наказывалась излишне. В частности, отображения последовательных целочисленных ключей должны работать без значительной потери производительности.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Устаревший | |
| Надтипы | 29 типов |
Конструкторы
Исходный код
def this()
Конструктор по умолчанию создаёт хеш-таблицу с начальным размером 8.
Конкретные методы
Исходный код@deprecatedOverriding("addOne не должен переопределяться для поддержания согласованности с put.", "2.11.0")
def addOne(kv: (Key, Value)): OpenHashMap[Key, Value]
Исходный код
override def clone(): OpenHashMap[Key, Value]
| Классы определения | MapOps -> Cloneable -> Object |
|---|
Исходный код
| Классы определения | MapOps |
|---|
Исходный код
Перебирает пары ключ-значение в этой таблице.
Поведение при изменении таблицы во время итерации: - Удаление пар всегда разрешено. - Изменение значения уже существующей пары разрешено. - Все остальное не разрешено. Обычно, но не всегда, это вызовет исключение.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Классы определения | IterableOnceOps |
Исходный код
override def foreachEntry[U](f: (Key, Value) => U): Unit
| Классы определения | MapOps |
|---|
Исходный код
Исходный код
| Классы определения | IterableOnceOps |
|---|
Исходный код
Итератор по элементам этой таблицы. Использование этого итератора подчиняется тому же соглашению о одновременном изменении, что и метод foreach.
| Возвращает | итератор |
|---|
Исходный код
override def keysIterator: Iterator[Key]
| Классы определения | MapOps |
|---|
Исходный код
| Классы определения | MapOps -> Growable -> IterableOnce |
|---|
Исходный код
| Классы определения | Map -> Map -> MapOps |
|---|
Исходный код
override def mapValuesInPlace(f: (Key, Value) => Value): OpenHashMap[Key, Value]
| Классы определения | MapOps |
|---|
Источник
| Классы-определения | MapOps |
|---|
Источник
| Классы-определения | MapOps |
|---|
Источник
| Классы-определения | IterableOnceOps |
|---|
Источник@deprecatedOverriding("subtractOne should not be overridden in order to maintain consistency with remove.", "2.11.0")
def subtractOne(key: Key): OpenHashMap[Key, Value]
Источник
| Классы-определения | MapOps |
|---|
Источник
override def valuesIterator: Iterator[Value]
| Классы-определения | MapOps |
|---|
Наследуемые методы
Источник@inline
Псевдоним для concat
| Наследуется из | IterableOps |
|---|
Источник
Псевдоним для concat
| Наследуется из | MapOps |
|---|
Источник@inline
Псевдоним для addAll
| Наследуется из | Growable |
|---|
Источник@inline
final def +=(elem: (Key, Value)): OpenHashMap[Key, Value]
Псевдоним для addOne
| Наследуется из | Growable |
|---|
Источник@inline
Псевдоним для subtractAll
| Наследуется из | Shrinkable |
|---|
Источник@inline
final def -=(elem: Key): OpenHashMap[Key, Value]
Псевдоним для subtractOne
| Наследуется из | Shrinkable |
|---|
Источник
Добавляет все элементы, полученные из IterableOnce, в это изменяемое множество.
| Параметры значений |
|
|---|---|
| Возвращает | само изменяемое множество. |
| Наследуется из | Growable |
Источник@inline
Добавляет все элементы этого множества в строковый буфер. Записываемый текст состоит из строковых представлений (относительно метода toString) всех элементов этого множества без разделительной строки.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> val h = a.addString(b) h: StringBuilder = 1234
| Параметры значений |
|
|---|---|
| Возвращает | строковый буфер |
| Наследуется из | IterableOnceOps |
Источник@inline
Добавляет все элементы этого множества в строковый буфер с использованием разделительной строки. Записываемый текст состоит из строковых представлений (относительно метода toString) всех элементов этого множества, разделенных строкой sep.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> a.addString(b, ", ") res0: StringBuilder = 1, 2, 3, 4
| Параметры значений |
|
|---|---|
| Возвращает | строковый буфер |
| Наследуется из | IterableOnceOps |
Источник
| Классы-определения | MapOps -> IterableOnceOps |
|---|---|
| Наследуется из | MapOps |
Источник
Компонует данную частичную функцию с другой частичной функцией, которая применяется к результатам данной частичной функции.
Обратите внимание, что вызов isDefinedAt на полученной частичной функции может применить первую частичную функцию и выполнить её побочный эффект. Для повышения эффективности рекомендуется вместо isDefinedAt или apply использовать applyOrElse.
| Параметры типов |
|
|---|---|
| Параметры значений |
|
| Возвращает | частичная функция с областью действия, суженной другой частичной функцией, которая отображает аргументы |
| Наследуется из | PartialFunction |
Источник
override def andThen[C](k: Value => C): PartialFunction[Key, C]
Компонует эту частичную функцию с функцией преобразования, которая применяется к результатам этой частичной функции.
Если тип выполнения функции — PartialFunction, то используется другой метод andThen (обратите внимание на его предостережения).
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения этой частичной функции, возможно, суженная указанной функцией, которая отображает аргументы |
| Классы определения | PartialFunction -> Function1 |
| Унаследовано от | PartialFunction |
Источник@throws(scala.throws.$lessinit$greater$default$1[scala.NoSuchElementException])
def apply(key: Key): Value
Возвращает значение, связанное с заданным ключом. Этот метод вызывает метод default карты, если нет сопоставления из заданного ключа со значением. Если не переопределено, метод default выбросит исключение NoSuchElementException.
| Параметры значения |
|
|---|---|
| Возвращает | значение, связанное с заданным ключом, или результат метода |
| Унаследовано от | MapOps |
Источник
override def applyOrElse[K1 <: Key, V1 >: Value](x: K1, default: K1 => V1): V1
| Классы определения | MapOps -> PartialFunction |
|---|---|
| Унаследовано от | MapOps |
Источник
| Унаследовано от | Map |
|---|
Источник
| Унаследовано от | MapOps |
|---|
Источник
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Создает новую коллекцию, применяя частичную функцию ко всем элементам этой карты, для которых она определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая карта, полученная в результате применения заданной частичной функции |
| Унаследовано от | MapOps |
Источник
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение Option, содержащее pf, применённую к первому значению, для которого она определена, или |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Компонует другую частичную функцию k с этой частичной функцией таким образом, что эта частичная функция применяется к результатам k.
Обратите внимание, что вызов isDefinedAt для результирующей частичной функции может применить первую частичную функцию и выполнить её побочное действие. Для эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения другой частичной функции, суженной этой частичной функцией, которая отображает аргументы |
| Унаследовано от | PartialFunction |
Источник@unspecialized
def compose[A](g: A => Key): A => Value
Компонует две инстанции Function1 в новую Function1, применяя эту функцию последней.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая функция |
| Унаследовано от | Function1 |
Источник
Возвращает новую коллекцию итератор, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элемента итератора — самый общий суперкласс, охватывающий типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итераторная коллекция, которая содержит все элементы этой итераторной коллекции, за которыми следуют все элементы |
| Унаследовано от | IterableOps |
Источник
Возвращает новую карту, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элемента карты — самый общий суперкласс, охватывающий типы элементов двух операндов.
| Параметры значения |
|
|---|---|
| Возвращает | новая карта, которая содержит все элементы этой карты, за которыми следуют все элементы |
| Унаследовано от | MapOps |
Источник
Проверяет, содержит ли эта карта привязку для ключа.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | MapOps |
Источник
def copyToArray[B >: (Key, Value)](xs: Массив[B], start: Целое число, len: Целое число): Целое число
Копирует элементы в массив, возвращая количество записанных элементов.
Заполняет указанный массив xs начиная с индекса start не более чем len элементами этой коллекции.
Копирование прекратится, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива, или len элементов будут скопированы.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода следует удалить вызываемый итератор. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
Копирует элементы в массив, возвращая количество записанных элементов.
Заполняет указанный массив xs начиная с индекса start значениями этой коллекции.
Копирование прекратится, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода следует удалить вызываемый итератор. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
Копирует элементы в массив, возвращая количество записанных элементов.
Заполняет указанный массив xs начиная с индекса start значениями этой коллекции.
Копирование прекратится, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода следует удалить вызываемый итератор. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, соответствуют ли каждый элемент итератора этой коллекции соответствующему элементу другой коллекции, удовлетворяя условию предиката.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Подсчитывает количество элементов в коллекции, удовлетворяющих предикату.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Источник@throws(scala.throws.$lessinit$greater$default$1[scala.NoSuchElementException])
def default(key: Key): Value
Определяет вычисление значения по умолчанию для карты, возвращаемое, когда ключ не найден. Реализованный здесь метод генерирует исключение, но может быть переопределен в подклассах.
| Параметры значения |
|
|---|---|
| Унаследовано от | MapOps |
Источник
| Унаследовано от | IterableOps |
|---|
Источник
Остаток коллекции без её n последних элементов. Для линейных неизменяемых коллекций это должно избегать создания копии.
Примечание: даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно вычислены.
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
| Унаследовано от | IterableOps |
|---|
Источник
def elementWise: ElementWiseExtractor[Key, Value]
Возвращает объект-экстрактор с методом unapplySeq, который извлекает каждый элемент данных последовательности.
| Пример |
val firstChar: String => Option[Char] = _.headOption
Seq("foo", "bar", "baz") match {
case firstChar.unlift.elementWise(c0, c1, c2) =>
println(s"$c0, $c1, $c2") // Output: f, b, b
}
|
|---|---|
| Унаследовано от | PartialFunction |
Источник
override def empty: OpenHashMap[Key, Value]
| Классы определения | MapFactoryDefaults -> IterableOps |
|---|---|
| Унаследовано от | MapFactoryDefaults |
Источник
Равенство словарей реализуется с помощью метода поиска get. Этот метод возвращает true, если
аргумент
oявляетсяMap,два словаря имеют одинаковый размер size, и
для каждой
(key, value)пары в этом словаре,other.get(key) == Some(value).
Реализация equals проверяет метод canEqual, поэтому подклассы Map могут сузить равенство до определенных типов словарей. Реализации Map в стандартной библиотеке могут быть сравнимы, их методы canEqual возвращают true.
Примечание: Метод equals соблюдает законы равенства (симметрия, транзитивность) только если оба словаря используют одну и ту же функцию эквивалентности ключей в операции поиска. Например, операция эквивалентности ключей в scala.collection.immutable.TreeMap определяется его порядком. Сравнение TreeMap с HashMap приводит к неожиданным результатам, если ordering.equiv(k1, k2) (используемая для поиска в TreeMap) отличается от k1 == k2 (используемая для поиска в HashMap).
scala> import scala.collection.immutable._
scala> val ord: Ordering[String] = _ compareToIgnoreCase _
scala> TreeMap("A" -> 1)(ord) == HashMap("a" -> 1)
val res0: Boolean = false
scala> HashMap("a" -> 1) == TreeMap("A" -> 1)(ord)
val res1: Boolean = true
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Классы определения | Map -> Equals -> Any |
| Унаследовано от | Map |
Источник
Проверяет, выполняется ли предикат хотя бы для одного элемента в этом наборе.
Примечание: может не завершиться для бесконечных наборов.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Находит первый элемент в наборе, удовлетворяющий предикату, если таковой существует.
Примечание: может не завершиться для бесконечных наборов.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение опционального типа, содержащее первый элемент в наборе, удовлетворяющий |
| Унаследовано от | IterableOnceOps |
Источник
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Создает новый словарь, применяя функцию ко всем элементам этого словаря и используя элементы полученных наборов.
| Параметры значения |
|
|---|---|
| Возвращает | новый словарь, полученный путём применения заданной функции, возвращающей набор, к каждому элементу этого словаря и конкатенацией результатов. |
| Унаследовано от | MapOps |
Источник
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
def fold[A1 >: (Key, Value)](z: A1)(op: (A1, A1) => A1): A1
Складывает элементы этого набора с помощью заданного ассоциативного бинарного оператора. Базовая реализация в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективных порядков обхода.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Примечание: не завершится для бесконечных наборов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат применения оператора fold |
| Унаследовано от | IterableOnceOps |
Источник
def foldLeft[B](z: B)(op: (B, (Key, Value)) => B): B
Применяет бинарный оператор к начальному значению и всем элементам этого набора слева направо.
Примечание: не завершится для бесконечных наборов.
Примечание: может возвращать разные результаты при разных запусках, если базовый тип набора упорядочен или оператор ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Источник
def foldRight[B](z: B)(op: ((Key, Value), B) => B): B
Применяет бинарный оператор ко всем элементам этого набора и начальному значению, двигаясь справа налево.
Примечание: не завершается для наборов бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, выполняется ли предикат для всех элементов этого набора.
Примечание: может не завершиться для наборов бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
| Классы определений | MapFactoryDefaults -> IterableOps |
|---|---|
| Унаследовано от | MapFactoryDefaults |
Источник
def getOrElse[V1 >: Value](key: Key, default: => V1): V1
Возвращает значение, связанное с ключом, или значение по умолчанию, если ключ не содержится в отображении.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение, связанное с |
| Унаследовано от | MapOps |
Источник
def getOrElseUpdate(key: Key, op: => Value): Value
Если заданный ключ уже находится в этом отображении, возвращает связанное значение.
В противном случае вычисляет значение из заданного выражения op, сохраняет его с ключом в отображении и возвращает это значение.
Реализации отображения с одновременным доступом могут оценивать выражение op несколько раз или могут оценить op без вставки результата.
| Параметры значения |
|
|---|---|
| Возвращает | значение, связанное с ключом (либо ранее, либо в результате выполнения метода). |
| Унаследовано от | MapOps |
Источник
Разделяет этот итерируемый набор на карту итерируемых наборов по некоторой функции-дискриминатору.
Примечание: даже при применении к представлению или ленивому набору элементы всегда будут принудительно вычисляться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
Карта от ключей к итерируемым наборам, которая соответствует следующему инварианту: (xs groupBy f)(k) = xs filter (x => f(x) == k) То есть, каждый ключ |
| Унаследовано от | IterableOps |
Источник
Разделяет эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с функцией-дискриминатором key. Каждый элемент в группе преобразуется в значение типа B с использованием функции value.
Это эквивалентно groupBy(key).mapValues(_.map(f)), но более эффективно.
case class User(name: String, age: Int) def namesByAge(users: Seq[User]): Map[Int, Seq[String]] = users.groupMap(_.age)(_.name)
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычислены.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Унаследовано от | IterableOps |
Источник
def groupMapReduce[K, B](key: (Key, Value) => K)(f: (Key, Value) => B)(reduce: (B, B) => B): Map[K, B]
Разделяет эту итерируемую коллекцию на карту в соответствии с функцией-дискриминатором key. Все значения с одинаковым дискриминатором затем преобразуются с помощью функции f и затем сводятся к одному значению с помощью функции reduce.
Это эквивалентно groupBy(key).mapValues(_.map(f).reduce(reduce)), но более эффективно.
def occurrences[A](as: Seq[A]): Map[A, Int] = as.groupMapReduce(identity)(_ => 1)(_ + _)
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычислены.
| Унаследовано от | IterableOps |
|---|
Источник
Разделяет элементы на итерируемые коллекции фиксированного размера.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые коллекции размером |
| См. также | scala.collection.Iterator, метод |
| Унаследовано от | IterableOps |
Источник
| Классы определения | Map -> Any |
|---|---|
| Унаследовано от | Map |
Источник
def head: (Key, Value)
Выбирает первый элемент этой итерируемой коллекции.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Возвращает | первый элемент этой итерируемой коллекции. |
|---|---|
| Исключения |
|
| Унаследовано от | IterableOps |
Источник
def headOption: Option[(Key, Value)]
Возвращает первый элемент, если он существует.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Возвращает | первый элемент этой итерируемой коллекции, если она непустая, |
|---|---|
| Унаследовано от | IterableOps |
Источник
def init: OpenHashMap[Key, Value]
Начальная часть коллекции без её последнего элемента.
Примечание: Даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно вычисляться.
| Унаследовано от | IterableOps |
|---|
Источник
Итерирует по начальным частям этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения — результатами последовательных применений init.
Примечание: Даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно вычисляться.
| Возвращает | итератор по всем начальным частям этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Источник
def isDefinedAt(key: Key): Boolean
Проверяет, содержит ли эта карта привязку для ключа. Этот метод, реализующий абстрактный метод тракта PartialFunction, эквивалентен contains.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | MapOps |
Источник
override def isTraversableAgain: Boolean
| Классы-определения | IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | IterableOps |
Источник
| Классы-определения | Iterable -> Iterable -> IterableOps |
|---|---|
| Унаследовано от | Iterable |
Источник
Собирает все ключи этой карты в множество.
| Возвращает | множество, содержащее все ключи этой карты. |
|---|---|
| Унаследовано от | MapOps |
Источник
Возвращает Stepper для ключей этой карты. См. метод stepper.
| Унаследовано от | MapOps |
|---|
Источник
Собирает все ключи этой карты в итерируемую коллекцию.
| Возвращает | ключи этой карты в качестве итерируемой коллекции. |
|---|---|
| Унаследовано от | MapOps |
Источник
def last: (Key, Value)
Выбирает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Возвращает | Последний элемент этой итерируемой коллекции. |
|---|---|
| Исключения |
|
| Унаследовано от | IterableOps |
Источник
def lastOption: Option[(Key, Value)]
Необязательно выбирает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Возвращает | последний элемент этой итерируемой коллекции, если она непустая, |
|---|---|
| Унаследовано от | IterableOps |
Источник
Аналогично zip за исключением того, что элементы в каждой коллекции не потребляются до тех пор, пока над возвращенным декоратором LazyZip2 не вызвана строгая операция.
Вызовы lazyZip могут быть объединены для поддержки более высоких арностей (до 4), не неся затрат на создание и деконструирование промежуточных кортежей.
val xs = List(1, 2, 3) val res = (xs lazyZip xs lazyZip xs lazyZip xs).map((a, b, c, d) => a + b + c + d) // res == List(4, 8, 12)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | декоратор |
| Унаследовано от | Iterable |
Источник
Преобразует эту частичную функцию в обычную функцию, возвращающую результат Option.
| Возвращает | функция, принимающая аргумент |
|---|---|
| См. также | Function.unlift |
| Унаследовано от | PartialFunction |
Источник
| Классы-определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
def map[K2, V2](f: (Key, Value) => (K2, V2)): OpenHashMap[K2, V2]
Создаёт новую карту, применяя функцию ко всем элементам этой карты.
| Параметры значения |
|
|---|---|
| Возвращает | новая карта, полученная путём применения заданной функции |
| Унаследовано от | MapOps |
Источник
Билдер, полученный из этого билдера, отображающий результат с помощью f.
| Унаследовано от | Builder |
|---|
Source
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | наибольший элемент этой коллекции относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который возвращает наибольшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | первый элемент этой коллекции с наибольшим значением, измеренным функцией f, относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который возвращает наибольшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | значение типа option, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f, относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Source
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | значение типа option, содержащее наибольший элемент этой коллекции относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Source
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | наименьший элемент этой коллекции относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который возвращает наименьшее значение, измеренное функцией f.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно порядка |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который возвращает наименьшее значение, измеренное функцией f.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа option, содержащее первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно порядка |
| Унаследовано от | IterableOnceOps |
Source
Находит наименьший элемент.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа option, содержащее наименьший элемент этой коллекции относительно порядка |
| Унаследовано от | IterableOnceOps |
Source@inline
Отображает все элементы этой коллекции в строке.
Делегирует addString, который может быть переопределен.
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
|---|---|
| Унаследовано от | IterableOnceOps |
Source@inline
Отображает все элементы этой коллекции в строке с использованием разделительной строки.
Делегирует addString, который может быть переопределен.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
Отображает все элементы этой коллекции в строке, используя строки start, end и разделитель.
Делегирует вызов методу addString, который может быть переопределен.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
| Классы определения | MapFactoryDefaults -> IterableOps |
|---|---|
| Унаследовано от | MapFactoryDefaults |
Source@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
Проверяет, не пуста ли коллекция.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Source
Комбинирует эту частичную функцию с резервной частичной функцией, которая применяется в тех случаях, когда эта частичная функция не определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция, область определения которой является объединением областей определения этой частичной функции и |
| Унаследовано от | PartialFunction |
Source
override def partition(p: (Key, Value) => Boolean): (OpenHashMap[Key, Value], OpenHashMap[Key, Value])
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Source
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Source
Перемножает элементы этой коллекции.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | произведение всех элементов этой коллекции относительно оператора |
| Унаследовано от | IterableOnceOps |
Source
def reduce[B >: (Key, Value)](op: (B, B) => B): B
Применяет заданный ассоциативный бинарный оператор к элементам этой коллекции.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Результат применения оператора reduce |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
def reduceLeft[B >: (Key, Value)](op: (B, (Key, Value)) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции слева направо.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
def reduceLeftOption[B >: (Key, Value)](op: (B, (Key, Value)) => B): Option[B]
Возможно применяет бинарный оператор ко всем элементам этой коллекции слева направо.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение option, содержащее результат |
| Унаследовано от | IterableOnceOps |
Source
def reduceOption[B >: (Key, Value)](op: (B, B) => B): Option[B]
Применяет ассоциативный бинарный оператор к элементам этой коллекции, если таковые имеются.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | Значение типа Option, содержащее результат применения оператора reduce |
| Унаследовано от | IterableOnceOps |
Исходный код
def reduceRight[B >: (Key, Value)](op: ((Key, Value), B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции, обрабатывая их справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип коллекции не упорядочен или оператор не ассоциативен и не коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | Результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Исходный код
def reduceRightOption[B >: (Key, Value)](op: ((Key, Value), B) => B): Option[B]
Применяет бинарный оператор ко всем элементам этой коллекции, обрабатывая их справа налево, опционально.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип коллекции не упорядочен или оператор не ассоциативен и не коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | значение типа Option, содержащее результат |
| Унаследовано от | IterableOnceOps |
Исходный код
def result(): OpenHashMap[Key, Value]
| Унаследовано от | MapOps |
|---|
Исходный код
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
Компонует эту частичную функцию с функцией действия, которая применяется к результатам этой частичной функции. Функция действия вызывается только для своих побочных эффектов; её результат игнорируется.
Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно
if(pf isDefinedAt x) { action(pf(x)); true } else false
за исключением того, что runWith реализована с помощью applyOrElse и, следовательно, потенциально более эффективна. Использование runWith избегает двойной оценки соответствий шаблонов и условий для литералов частичной функции.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | функция, которая отображает аргументы |
| См. также |
|
| Унаследовано от | PartialFunction |
Исходный код
Вычисляет префиксный сканирование элементов коллекции.
Примечание: нейтральный элемент z может применяться более одного раза.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | новая коллекция типа Iterable, содержащая префиксное сканирование элементов в этой коллекции типа Iterable |
| Унаследовано от | IterableOps |
Исходный код
| Классы-определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
Создает коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Голова коллекции — это последний кумулятивный результат.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип коллекции не упорядочен.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | коллекция с промежуточными результатами |
| Унаследовано от | IterableOps |
Исходный код
Сравнивает размер этой коллекции типа Iterable с размером другой Iterable.
| Параметры значения |
|
|---|---|
| Возвращаемое значение |
Значение x < 0 if this.size < that.size x == 0 if this.size == that.size x > 0 if this.size > that.size Метод в данной реализации не вызывает |
| Унаследовано от | IterableOps |
Исходный код
Сравнивает размер этой коллекции типа Iterable со значением-тестом.
| Параметры значения |
|
|---|---|
| Возвращаемое значение |
Значение x < 0 if this.size < otherSize x == 0 if this.size == otherSize x > 0 if this.size > otherSize Метод в данной реализации не вызывает |
| См. также | |
| Унаследовано от | IterableOps |
Исходный код
Подсказывает, что ожидается, что result этого билдера будет иметь тот же размер, что и заданная коллекция, плюс некоторая дельта. Это будет подсказкой только в том случае, если коллекция имеет известный размер. Некоторые классы билдеров будут оптимизировать свою структуру на основе подсказки. Однако реализации билдеров все равно должны работать правильно, даже если подсказка неверна, т. е. добавляется другое количество элементов.
| Параметры значения |
|
|---|---|
| Унаследовано от | Builder |
Источник
Подсказывает, сколько элементов ожидается добавить, когда вызывается следующий result. Некоторые классы билдеров будут оптимизировать свою структуру на основе подсказки. Однако реализации билдеров все равно должны работать правильно, даже если подсказка неверна, т. е. добавляется другое количество элементов.
| Параметры значения |
|
|---|---|
| Унаследовано от | Builder |
Источник
Подсказывает, сколько элементов ожидается добавить при вызове следующего result, вместе с верхней границей, заданной размером другой коллекции. Некоторые классы билдеров будут оптимизировать свою структуру на основе подсказки. Однако реализации билдеров все равно должны работать правильно, даже если подсказка неверна, т. е. добавляется другое количество элементов.
| Параметры значения |
|
|---|---|
| Унаследовано от | Builder |
Источник@inline
final def sizeIs: SizeCompareOps
Возвращает значение класса, содержащего операции для сравнения размера этой итерируемой коллекции со значением теста.
Эти операции реализованы с помощью sizeCompare(Int) и позволяют использовать следующие более читаемые выражения:
this.sizeIs < size // this.sizeCompare(size) < 0 this.sizeIs <= size // this.sizeCompare(size) <= 0 this.sizeIs == size // this.sizeCompare(size) == 0 this.sizeIs != size // this.sizeCompare(size) != 0 this.sizeIs >= size // this.sizeCompare(size) >= 0 this.sizeIs > size // this.sizeCompare(size) > 0
| Унаследовано от | IterableOps |
|---|
Источник
| Унаследовано от | IterableOps |
|---|
Источник
Группирует элементы в блоки фиксированного размера, передавая «скользящее окно» по ним (в отличие от разделения их, как это делается в grouped.)
Возвращаемый итератор будет пустым при вызове на пустой коллекции. Последний элемент, который производит итератор, может быть меньше размера окна, когда исходная коллекция не исчерпывается окном до его конца, и его последний элемент не пропускается шагом до его конца.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, производящий итерируемые коллекции размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Группирует элементы в блоки фиксированного размера, передавая «скользящее окно» по ним (в отличие от разделения их, как это делается в grouped.)
Пустая коллекция возвращает пустой итератор, а непустая коллекция, содержащая меньше элементов, чем размер окна, возвращает итератор, который произведет исходную коллекцию в качестве своего единственного элемента.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, производящий итерируемые коллекции размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Источник
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
| Классы определений | IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | IterableOps |
Источник
Возвращает scala.collection.Stepper для элементов этой коллекции.
Stepper позволяет создавать поток Java для работы с коллекцией, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, Stepper может использоваться как итератор, который не упаковывает элементы.
Неявный параметр scala.collection.StepperShape определяет тип возвращаемого Stepper в соответствии с типом элемента этой коллекции.
Для коллекций
Int,Short,ByteилиChar, возвращается scala.collection.IntStepperДля коллекций
DoubleилиFloat, возвращается scala.collection.DoubleStepperДля коллекций
Longвозвращается scala.collection.LongStepperДля любого другого типа элемента возвращается scala.collection.AnyStepper
Обратите внимание, что этот метод переопределен в подклассах, и тип возвращаемого значения уточняется до S with EfficientSplit, например, scala.collection.IndexedSeqOps.stepper. Для Stepper, помеченных scala.collection.Stepper.EfficientSplit, преобразователи в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Stepper могут быть преобразованы только в последовательные потоки.
| Унаследовано от | IterableOnce |
|---|
Источник
Удаляет все элементы, производимые итератором, из этой сжимаемой коллекции.
END_OF_DOCUMENT_MARKER| Параметры значения |
|
|---|---|
| Возвращает | сам уменьшаемый набор |
| Унаследовано от | Shrinkable |
Источник
Суммирует элементы этого набора.
Примечание: не будет завершаться для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | сумма всех элементов этого набора относительно оператора |
| Унаследовано от | IterableOnceOps |
Источник
def tail: OpenHashMap[Key, Value]
Остальная часть набора без его первого элемента.
| Унаследовано от | IterableOps |
|---|
Источник
Перебирает хвосты этого итерируемого набора. Первое значение будет этим итерируемым набором, а последнее — пустым итерируемым набором, промежуточные значения — результаты последовательных применений tail.
| Возвращает | итератор по всем хвостам этого итерируемого набора |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Источник
| Унаследовано от | IterableOps |
|---|
Источник
Набор, содержащий последние n элементов этого набора.
Примечание: даже при применении к представлению или ленивому набору элементы всегда будут принудительно вычисляться.
| Классы-определения | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Извлекает самое длинное префиксное подмножество элементов, удовлетворяющих предикату.
Примечание: результаты могут отличаться при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | самое длинное префиксное подмножество этого итерируемого набора, все элементы которого удовлетворяют предикату |
| Унаследовано от | IterableOps |
Источник
override def tapEach[U](f: (Key, Value) => U): OpenHashMap[Key, Value]
| Классы-определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Преобразовать этот набор в соответствующее представление для текущего типа элемента, используя фабрику наборов factory. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
| Унаследовано от | IterableOnceOps |
|---|
Источник
Преобразовать набор в массив.
Примечание: НЕ вызывайте Array.from из этого метода.
| Унаследовано от | IterableOnceOps |
|---|
Источник@inline
| Унаследовано от | IterableOnceOps |
|---|
Источник
def toIndexedSeq: IndexedSeq[(Key, Value)]
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Возвращает | Этот набор в виде |
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Классы-определения | Map -> Function1 -> Iterable -> Any |
|---|---|
| Унаследовано от | Map |
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
Транспонирует этот итерируемый набор итерируемых наборов в итерируемый набор итерируемых наборов.
Тип результирующего набора будет зависеть от статического типа итерируемого набора. Например:
val xs = List(
Set(1, 2, 3),
Set(4, 5, 6)).transpose
// xs == List(
// List(1, 4),
// List(2, 5),
// List(3, 6))
val ys = Vector(
List(1, 2, 3),
List(4, 5, 6)).transpose
// ys == Vector(
// Vector(1, 4),
// Vector(2, 5),
// Vector(3, 6))
Примечание: Даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно обрабатываться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | двумерная итерируемая коллекция итерируемых коллекций, у которой n-я строка содержит n-й столбец этой итерируемой коллекции. |
| Исключения |
|
| Унаследовано от | IterableOps |
Источник
Попытка извлечь B из A в выражении сопоставления с образцом.
| Унаследовано от | PartialFunction |
|---|
Источник
| Классы определений | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
| Классы определений | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Обновление отображения для указанного ключа и его текущего, возможно, сопоставленного значения (Some если существует текущее отображение, None если нет).
Если функция переназначения возвращает Some(v), отображение обновляется с новым значением v. Если функция переназначения возвращает None, отображение удаляется (или остается отсутствующим, если оно изначально отсутствовало). Если сама функция вызывает исключение, исключение перебрасывается, а текущее отображение остается неизменным.
| Параметры значения |
|
|---|---|
| Возвращает | новое значение, связанное с указанным ключом |
| Унаследовано от | MapOps |
Источник
Возвращает Stepper для значений этой карты. См. метод stepper.
| Унаследовано от | MapOps |
|---|
Источник
Собирает все значения этой карты в итерируемую коллекцию.
| Возвращает | значения этой карты в виде итерируемой коллекции. |
|---|---|
| Унаследовано от | MapOps |
Источник
| Классы определений | MapOps -> IterableOps |
|---|---|
| Унаследовано от | MapOps |
Источник
def withDefault(d: Key => Value): Map[Key, Value]
Та же карта с заданной функцией по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т. д., не затрагиваются withDefaultValue.
Вызов методов преобразования (например, map) не сохранит значение по умолчанию.
| Параметры значения |
|
|---|---|
| Возвращает | обертка над картой с значением по умолчанию |
| Унаследовано от | Map |
Источник
def withDefaultValue(d: Value): Map[Key, Value]
Та же карта с заданным значением по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т. д., не затрагиваются withDefaultValue.
Вызов методов преобразования (например, map) не сохранит значение по умолчанию.
| Параметры значения |
|
|---|---|
| Возвращает | обертка над картой со значением по умолчанию |
| Унаследовано от | Map |
Источник
| Классы определений | MapFactoryDefaults -> IterableOps |
|---|---|
| Унаследовано от | MapFactoryDefaults |
Источник
| Классы определений | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Возвращает итерируемую коллекцию, образованную из этой итерируемой коллекции и другой итерируемой коллекции, объединяя соответствующие элементы парами. Если одна из двух коллекций короче другой, элементы-заполнители используются для расширения более короткой коллекции до длины более длинной.
| Параметры значения |
|
|---|---|
| Возвращает | новая коллекция типа |
| Унаследовано от | IterableOps |
Исходный код
| Классы-определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/collection/mutable/OpenHashMap.html