(Changed in version 2.8.0) +
creates a new map. Use +=
to add an element to this map and return that map itself.
(Changed in version 2.8.0) +
creates a new map. Use +=
to add an element to this map and return that map itself.
(Changed in version 2.8.0) ++
creates a new map. Use ++=
to add an element to this map and return that map itself.
(Changed in version 2.8.0) -
creates a new map. Use -=
to remove an element from this map and return that map itself.
(Changed in version 2.8.0) -
creates a new map. Use -=
to remove an element from this map and return that map itself.
(Changed in version 2.8.0) --
creates a new map. Use --=
to remove an element from this map and return that map itself.
функция возвращает true если данная коллекция содержит ключ key, иначе false сложность операции O(n), где n -- длина ключа
функция возвращает true если данная коллекция содержит ключ key, иначе false сложность операции O(n), где n -- длина ключа
ключ для поиска
true если данная коллекция содержит ключ key, иначе false
функция возвращает Some(...) c значеним с данным ключем если найдено, либо None сложность операции O(n), где n -- длина ключа
функция возвращает Some(...) c значеним с данным ключем если найдено, либо None сложность операции O(n), где n -- длина ключа
ключ для поиска
Some(...) c значеним с данным ключем если найдено, либо None
функция возвращает значение с данным ключем если найдено, либо null сложность операции O(n), где n -- длина ключа
функция возвращает значение с данным ключем если найдено, либо null сложность операции O(n), где n -- длина ключа
ключ для поиска
значение с данным ключем если найдено, либо null
(Changed in version 2.8.0) keys
returns Iterable[A]
rather than Iterator[A]
.
(Changed in version 2.9.0) The behavior of scanRight
has changed. The previous behavior can be reproduced with scanRight.reverse.
(Changed in version 2.9.0) transpose
throws an IllegalArgumentException
if collections are not uniformly sized.
(Changed in version 2.8.0) values
returns Iterable[B]
rather than Iterator[B]
.
коллекция оптимизированная для работы со строками. При создании за основу было взято префиксное дерево Trie. в каждом узле которого находится mut.IntMap. Таким образом худшее время поиска, добавления, удаления элементов не зависит от числа элементов будет занимать O(n * log16(k)) n -- длина строки, k - размер алфавита. Так как размер алфавита в нашем случае 256, то имеем сложность 2 * O(n) для худшего случае, зависящую только от длины строки. Более точным будет вместо длины строки принимать количество коллизий для ключа, что обычно значительно меньше чем длинна строки. в лучшем случае, когда нет ни одного другого ключа, начинающегося на ту же букву, сложность большинства операций будет занимать 2 * O(1), что примерно равно сложности работы с IntMap, когда максимальное число 256. для удобства поиска пустых строк был добавлен новый номер индекса 0xFF + 1 = 256 для пустых строк =)
в описании данной стрктуры термины ключ и строка применяются в одном смысле
тип значений в коллекции