Класс OpenHashMap.OpenHashMap
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.
Конкретные методы
Исходный код
def addOne(kv: (Key, Value)): OpenHashMap.this.type
Добавляет один элемент в эту карту открытого хеширования.
| Параметры значения |
|
|---|---|
| Возвращает | сама карта открытого хеширования |
Исходный код
override def clone(): OpenHashMap[Key, Value]
Создаёт копию объекта-приёмника.
Реализация метода clone по умолчанию зависит от платформы.
| Возвращает | копия объекта-приёмника. |
|---|---|
| Примечание | не указано в SLS как член AnyRef |
| Классы определения | MapOps -> Cloneable -> Object |
Исходный код
Оставляет только те отображения, для которых предикат p возвращает значение true.
| Параметры значения |
|
|---|---|
| Классы определения | MapOps |
Исходный код
Перебирает пары ключ-значение этой карты.
Поведение при модификации карты во время итерации: - Удаление отображения всегда разрешено. - Изменение значения уже существующего отображения разрешено. - Любое другое действие не разрешено. Обычно, но не всегда, это приведёт к исключению.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Классы определения | IterableOnceOps |
Исходный код
override def foreachEntry[U](f: (Key, Value) => U): Unit
Применяет f к каждой паре ключ/значение для побочных эффектов. Примечание: параметр [U] нужен для помощи в инференции типов scalac.
| Классы определения | MapOps |
|---|
Исходный код
Возвращает значение, связанное с ключом (необязательно).
| Параметры значения |
|
|---|---|
| Возвращает | значение-опцию, содержащую значение, связанное с |
Исходный код
Проверяет, пуста ли карта открытого хеширования.
Примечание: Реализации в подклассах, которые не являются многократно проходимыми, должны позаботиться о том, чтобы не потреблять элементы, когда isEmpty вызывается.
| Возвращает |
|
|---|---|
| Классы определения | IterableOnceOps |
Исходный код
Итератор по элементам этой карты. Использование этого итератора подчиняется тому же контракту одновременной модификации, что и метод foreach.
| Возвращает | итератор |
|---|
Исходный код
override def keysIterator: Iterator[Key]
Создаёт итератор для всех ключей.
| Возвращает | итератор по всем ключам. |
|---|---|
| Классы определения | MapOps |
Source
| Возвращает | Количество элементов в собираемой коллекции, если его можно вычислить с небольшой затратой, иначе -1. Базовое реализация всегда возвращает -1. |
|---|---|
| Классы-определения | MapOps -> Growable -> IterableOnce |
Source
Объект-компаньон этой карты, предоставляющий различные методы фабрики.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Классы-определения | Map -> Map -> MapOps |
Source
override def mapValuesInPlace(f: (Key, Value) => Value): OpenHashMap.this.type
Применяет функцию преобразования ко всем значениям, содержащимся в этой карте. Функция преобразования создает новые значения из существующих значений ключей.
| Параметры значений |
|
|---|---|
| Возвращает | сама карта. |
| Классы-определения | MapOps |
Source
Добавляет новую пару ключ/значение в эту карту и необязательно возвращает ранее привязанное значение. Если в карте уже есть отображение для ключа, оно будет перезаписано новым значением.
| Параметры значений |
|
|---|---|
| Возвращает | объект Option, содержащий значение, связанное с ключом до выполнения операции |
| Классы-определения | MapOps |
Source
Удаляет ключ из этой карты, возвращая значение, ранее связанное с этим ключом, в виде объекта Option.
| Параметры значений |
|
|---|---|
| Возвращает | объект Option, содержащий значение, ранее связанное с |
| Классы-определения | MapOps |
Source
Размер этой открытой хэш-карты.
| Возвращает | количество элементов в этой открытой хэш-карте. |
|---|---|
| Классы-определения | IterableOnceOps |
Source
def subtractOne(key: Key): OpenHashMap.this.type
Удаляет один элемент из этой открытой хэш-карты.
| Параметры значений |
|
|---|---|
| Возвращает | сама открытая хэш-карта |
Source
Добавляет новую пару ключ/значение в эту карту. Если в карте уже есть отображение для ключа, оно будет перезаписано новым значением.
| Параметры значений |
|
|---|---|
| Классы-определения | MapOps |
Source
override def valuesIterator: Iterator[Value]
Создаёт итератор для всех значений в этой карте.
| Возвращает | итератор по всем значениям, связанным с некоторым ключом в этой карте. |
|---|---|
| Классы-определения | MapOps |
Наследованные методы
Source
final def ++[B >: (Key, Value)](suffix: IterableOnce[B]): CC[B]
Псевдоним для concat
| Наследуется от | IterableOps |
|---|
Source
def ++[V2 >: Value](xs: IterableOnce[(Key, V2)]): CC[K, V2]
Псевдоним для concat
| Наследуется от | MapOps |
|---|
Source
Псевдоним для addAll
| Наследуется от | Growable |
|---|
Source
Псевдоним для addOne
| Наследуется от | Growable |
|---|
Source
Псевдоним для subtractAll
| Наследуется от | Shrinkable |
|---|
Source
final def -=(elem: Key): Shrinkable.this.type
Псевдоним для subtractOne
| Наследуется от | Shrinkable |
|---|
Source
Добавляет все элементы, произведённые IterableOnce, в эту изменяемую коллекцию.
| Параметры значений |
|
|---|---|
| Возвращает | сама изменяемая коллекция. |
| Наследуется от | Growable |
Source
Добавляет все элементы этой коллекции в строку StringBuilder. Записываемый текст состоит из строковых представлений (относительно метода 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
| Параметры значений |
|
|---|---|
| Возвращает | StringBuilder |
| Наследуется от | IterableOnceOps |
Source
Добавляет все элементы этой коллекции в строковый билдер с использованием разделителя. Записанный текст состоит из строковых представлений (относительно метода 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 |
Источник
Добавляет все элементы этой карты в строковый билдер, используя начальную, конечную и разделительные строки. Записанный текст начинается со строки start и заканчивается строкой end. Внутри строковые представления (относительно метода 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 , "List(" , ", " , ")")
res5: StringBuilder = List(1, 2, 3, 4)
| Параметры значения |
|
|---|---|
| Возвращает | строковый билдер |
| Определяющие классы | MapOps -> IterableOnceOps |
| Унаследовано от | MapOps |
Источник
Компонует эту частичную функцию с другой частичной функцией, которая применяется к результатам этой частичной функции.
Обратите внимание, что вызов isDefinedAt для полученной частичной функции может применить первую частичную функцию и выполнить её побочное действие. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения этой частичной функции, суженной другой частичной функцией, которая отображает аргументы |
| Унаследовано от | PartialFunction |
Источник
override def andThen[C](k: Value => C): PartialFunction[A, C]
Компонует эту частичную функцию с функцией преобразования, которая применяется к результатам этой частичной функции.
Если тип времени выполнения функции является PartialFunction, используется другой метод andThen (обратите внимание на его предостережения).
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения этой частичной функции, возможно, суженной указанной функцией, которая отображает аргументы |
| Определяющие классы | PartialFunction -> Function1 |
| Унаследовано от | PartialFunction |
Источник
def apply(key: Key): V
Возвращает значение, связанное с заданным ключом. Этот метод вызывает метод default карты, если нет отображения заданного ключа на значение. Если не переопределено, метод default выбрасывает исключение NoSuchElementException.
| Параметры значения |
|
|---|---|
| Возвращает | значение, связанное с заданным ключом, или результат метода |
| Унаследовано от | MapOps |
Источник
override def applyOrElse[K1 <: Key, V1 >: Value](x: K1, default: K1 => V1): V1
Применяет эту частичную функцию к заданному аргументу, если он содержится в области определения функции. Применяет функцию по умолчанию, если эта частичная функция не определена.
Обратите внимание, что выражение pf.applyOrElse(x, default) эквивалентно
if(pf isDefinedAt x) pf(x) else default(x)
за исключением того, что метод applyOrElse может быть реализован более эффективно. Для всех литералов частичных функций компилятор генерирует реализацию applyOrElse, которая избегает двойной оценки предикатных выражений и условий. Это делает applyOrElse основой для эффективной реализации многих операций и сценариев, таких как:
- объединение частичных функций в цепочки orElse/andThen не приводит к чрезмерной apply/isDefinedAt оценке - lift и unlift не оценивают исходные функции дважды при каждом вызове - runWith позволяет эффективно объединять частичные функции в императивном стиле с условными действиями
Для классов частичных функций, не являющихся литералами, с нетривиальным методом isDefinedAt, рекомендуется переопределить метод applyOrElse пользовательской реализацией, которая избегает двойной isDefinedAt оценки. Это может привести к лучшей производительности и более предсказуемому поведению относительно побочных эффектов.
| Параметры значения |
|
|---|---|
| Возвращает | результат применения этой функции или функции по умолчанию. |
| Определяющие классы | MapOps -> PartialFunction |
| Унаследовано от | MapOps |
Источник
Метод, который должен вызываться из каждой хорошо спроектированной функции equals, которая открыта для переопределения в подклассе. См. Программирование на Scala, Глава 28 для обсуждения и проектирования.
| Параметры значения |
|
|---|---|
| Возвращает | true, если этот экземпляр может быть равен |
| Унаследовано от | Map |
Источник
Очищает содержимое этого билдера. После выполнения этого метода билдер не будет содержать элементов.
| Унаследовано от | MapOps |
|---|
Источник
override def collect[B](pf: PartialFunction[(Key, Value), B]): CC[B]
Создает новую коллекцию итерируемых элементов, применяя частичную функцию ко всем элементам этой итерируемой коллекции, для которых функция определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, полученная путем применения заданной частичной функции |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
def collect[K2, V2](pf: PartialFunction[(Key, Value), (K2, V2)]): CC[K2, V2]
Создаёт новую коллекцию, применяя частичную функцию ко всем элементам этой карты, для которых функция определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая карта, полученная в результате применения заданной частичной функции |
| Унаследовано от | MapOps |
Источник
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение option, содержащее результат применения pf к первому значению, для которого оно определено, или |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Компонует другую частичную функцию k с этой частичной функцией так, что эта частичная функция применяется к результатам k.
Обратите внимание, что вызов isDefinedAt на полученной частичной функции может применить первую частичную функцию и выполнить её побочные эффекты. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения другой частичной функции, суженной этой частичной функцией, которая отображает аргументы |
| Унаследовано от | PartialFunction |
Источник
def compose[A](g: A => Key): A => R
Компонует две экземпляры Function1 в новую Function1, применяя эту функцию последней.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая функция |
| Унаследовано от | Function1 |
Источник
def concat[B >: (Key, Value)](suffix: IterableOnce[B]): CC[B]
Возвращает новую итерируемую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элемента итерируемой коллекции — это наиболее общий суперкласс, охватывающий типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, которая содержит все элементы этой итерируемой коллекции, за которыми следуют все элементы |
| Унаследовано от | IterableOps |
Источник
def concat[V2 >: Value](suffix: IterableOnce[(Key, V2)]): CC[K, V2]
Возвращает новую карту, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элемента карты — это наиболее общий суперкласс, охватывающий типы элементов двух операндов.
| Параметры значения |
|
|---|---|
| Возвращает | новая карта, которая содержит все элементы этой карты, за которыми следуют все элементы |
| Унаследовано от | MapOps |
Источник
Проверяет, содержит ли эта карта привязку для ключа.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | MapOps |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет указанный массив xs начиная с индекса start не более чем len элементами этой коллекции.
Копирование прекращается, когда скопированы все элементы этой коллекции, достигнут конец массива или скопировано len элементов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода итератор, на котором он был вызван, следует утилизировать. Использование итератора после вызова этого метода является неопределённым и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет указанный массив xs начиная с индекса start значениями этой коллекции.
Копирование прекращается, когда скопированы все элементы этой коллекции или достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода итератор, на котором он был вызван, следует утилизировать. Использование итератора после вызова этого метода является неопределённым и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет указанный массив xs начиная с индекса start значениями этой коллекции.
Копирование прекращается, когда скопированы все элементы этой коллекции или достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода итератор, на котором он был вызван, следует утилизировать. Использование итератора после вызова этого метода является неопределённым и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, соответствует ли каждый элемент итератора этого набора соответствующему элементу другого набора, удовлетворяя предикату проверки.
Примечание: не будет завершаться для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Подсчитывает количество элементов в наборе, удовлетворяющих предикату.
Примечание: не будет завершаться для наборов бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Источник
def default(key: Key): V
Определяет вычисление значения по умолчанию для карты, возвращаемое, когда ключ не найден. Реализованный здесь метод выбрасывает исключение, но может быть переопределён в подклассах.
| Параметры значения |
|
|---|---|
| Унаследовано от | MapOps |
Источник
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемый набор, состоящий из всех элементов этого итерируемого набора, кроме первых |
| Унаследовано от | IterableOps |
Источник
Остальная часть набора без его n последних элементов. Для линейных неизменяемых наборов это должно предотвратить создание копии.
Примечание: Даже при применении к представлению или ленивому набору, элементы всегда будут принудительно вычисляться.
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Удаляет самый длинный префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | самый длинный суффикс этого итерируемого набора, первый элемент которого не удовлетворяет предикату |
| Унаследовано от | IterableOps |
Источник
def elementWise: ElementWiseExtractor[A, B]
Возвращает объект-экстрактор с методом 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: CC[K, V]
Пустой итерируемый набор того же типа, что и этот итерируемый набор
| Возвращает | пустой итерируемый набор типа |
|---|---|
| Определяющие классы | 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 |
Source
Выбирает все элементы этого итерируемого набора коллекций, которые не удовлетворяют предикату.
| Параметры значений |
|
|---|---|
| Возвращает | новый итерируемый набор коллекций, состоящий из всех элементов этого итерируемого набора коллекций, которые не удовлетворяют заданному предикату |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследованное от | StrictOptimizedIterableOps |
Source
Ищет первый элемент коллекции, удовлетворяющий предикату, если таковой имеется.
Примечание: может не завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значений |
|
|---|---|
| Возвращает | значение типа Option, содержащее первый элемент в коллекции, который удовлетворяет |
| Унаследованное от | IterableOnceOps |
Source
override def flatMap[B](f: ((Key, Value)) => IterableOnce[B]): CC[B]
Строит новый итерируемый набор коллекций, применяя функцию ко всем элементам этого итерируемого набора коллекций и используя элементы полученных коллекций.
Например:
def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")
Тип результирующей коллекции определяется статическим типом итерируемой коллекции. Это может иногда приводить к неожиданным результатам. Например:
// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)
// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap ((word: String) => word.toSeq)
// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)
// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
| Параметры типов |
|
|---|---|
| Параметры значений |
|
| Возвращает | новый итерируемый набор коллекций, полученный путём применения заданной функции, возвращающей коллекцию |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследованное от | StrictOptimizedIterableOps |
Source
def flatMap[K2, V2](f: ((Key, Value)) => IterableOnce[(K2, V2)]): CC[K2, V2]
Строит новую карту, применяя функцию ко всем элементам этой карты и используя элементы полученных коллекций.
| Параметры значений |
|
|---|---|
| Возвращает | новая карта, полученная путём применения заданной функции, возвращающей коллекцию |
| Унаследованное от | MapOps |
Source
override def flatten[B](implicit toIterableOnce: ((Key, Value)) => IterableOnce[B]): CC[B]
Преобразует этот итерируемый набор коллекций перечислимых коллекций в итерируемый набор, образованный элементами этих перечислимых коллекций.
Тип результирующей коллекции будет определяться типом итерируемой коллекции. Например:
val xs = List(
Set(1, 2, 3),
Set(1, 2, 3)
).flatten
// xs == List(1, 2, 3, 1, 2, 3)
val ys = Set(
List(1, 2, 3),
List(3, 2, 1)
).flatten
// ys == Set(1, 2, 3)
| Параметры типов |
|
|---|---|
| Параметры значений |
|
| Возвращает | новый итерируемый набор коллекций, полученный путем конкатенации всех коллекций элементов. |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследованное от | StrictOptimizedIterableOps |
Source
def fold[A1 >: (Key, Value)](z: A1)(op: (A1, A1) => A1): A1
Складывает элементы этой коллекции с использованием указанного ассоциативного бинарного оператора. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективного порядка обхода.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типов |
|
|---|---|
| Параметры значений |
|
| Возвращает | результат применения оператора fold |
| Унаследованное от | IterableOnceOps |
Source
def foldLeft[B](z: B)(op: (B, (Key, Value)) => B): B
Применяет бинарный оператор к начальному значению и всем элементам этой коллекции, слева направо.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если базовый тип коллекции упорядочен или оператор ассоциативен и коммутативен.
| Параметры типов |
|
|---|---|
| Параметры значений |
|
| Возвращает | результат вставки |
| Унаследованное от | IterableOnceOps |
Source
def foldRight[B](z: B)(op: ((Key, Value), B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции и начальному значению, справа налево.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если базовый тип коллекции упорядочен или оператор ассоциативен и коммутативен.
| Параметры типов |
|
|---|---|
| Параметры значений |
|
| Возвращает | результат вставки |
| Унаследованное от | IterableOnceOps |
Source
Проверяет, выполняется ли предикат для всех элементов этой коллекции.
Примечание: может не завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
override protected def fromSpecific(coll: IterableOnce[(Key, Value)]): CC[K, V]
Определяет, как преобразовать заданный Iterable[A] в коллекцию типа C.
Этот процесс может быть выполнен строго или нестрого (т.е. без оценки элементов результирующих коллекций). Другими словами, этот метод определяет модель оценки коллекции.
| Примечание |
При реализации пользовательского типа коллекции и уточнении Как видно из аннотации |
|---|---|
| Классы определения | MapFactoryDefaults -> IterableOps |
| Унаследовано от | MapFactoryDefaults |
Источник
def getOrElse[V1 >: Value](key: Key, default: => V1): V1
Возвращает значение, связанное с ключом, или значение по умолчанию, если ключ не содержится в карте.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение, связанное с |
| Унаследовано от | MapOps |
Источник
def getOrElseUpdate(key: Key, op: => Value): V
Если заданный ключ уже существует в этой карте, возвращает связанное значение.
В противном случае вычисляет значение из заданного выражения 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 |
Источник
Вычисление значения хэш-кода для объекта.
Стандартный алгоритм хэширования зависит от платформы.
Обратите внимание, что для двух объектов могут быть одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)) но они могут не быть равны (o1.equals(o2) возвращает false). Вырожденная реализация может всегда возвращать 0. Однако, требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true), у них были идентичные хэш-коды (o1.hashCode.equals(o2.hashCode)). Поэтому, при переопределении этого метода, убедитесь, что поведение согласуется с методом equals.
| Возвращает | значение хэш-кода для этого объекта. |
|---|---|
| Классы определения | Map -> Any |
| Унаследовано от | Map |
Источник
def head: A
Выбирает первый элемент этой итерируемой коллекции.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Возвращает | первый элемент этой итерируемой коллекции. |
|---|---|
| Исключения |
|
| Унаследовано от | IterableOps |
Источник
def headOption: Option[A]
Необязательно выбирает первый элемент.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Возвращает | первый элемент этой итерируемой коллекции, если она непустая, |
|---|---|
| Унаследовано от | IterableOps |
Источник
def init: C
Начальная часть коллекции без последнего элемента.
Примечание: даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно вычисляться.
| Унаследовано от | IterableOps |
|---|
Источник
Итерируется по начальным частям этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, промежуточные значения — результат последовательных применений init.
Примечание: даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно вычисляться.
| Возвращает | итератор по всем начальным частям этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Источник
def isDefinedAt(key: Key): Boolean
Проверяет, содержит ли эта карта привязку для ключа. Этот метод, реализующий абстрактный метод тракта PartialFunction, эквивалентен contains.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | MapOps |
Источник
override def isTraversableAgain: Boolean
Проверяет, можно ли повторно пройти по этой итерируемой коллекции. Всегда истинно для Iterable и ложно для Iterators, если не переопределено.
| Возвращает |
|
|---|---|
| Определяющие классы | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Источник
Компаньон-объект этой итерируемой коллекции, предоставляющий различные фабричные методы.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Определяющие классы | Iterable -> Iterable -> IterableOps |
| Унаследовано от | Iterable |
Источник
Собирает все ключи этой карты в множестве.
| Возвращает | множество, содержащее все ключи этой карты. |
|---|---|
| Унаследовано от | MapOps |
Источник
Возвращает Stepper для ключей этой карты. См. метод stepper.
| Унаследовано от | MapOps |
|---|
Источник
Собирает все ключи этой карты в итерируемую коллекцию.
| Возвращает | ключи этой карты в виде итерируемой коллекции. |
|---|---|
| Унаследовано от | MapOps |
Источник
def last: A
Выбирает последний элемент.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Возвращает | Последний элемент этой итерируемой коллекции. |
|---|---|
| Исключения |
|
| Унаследовано от | IterableOps |
Источник
def lastOption: Option[A]
Возвращает необязательный последний элемент.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Возвращает | последний элемент этой итерируемой коллекции, если она непустая, |
|---|---|
| Унаследовано от | 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 |
Источник
override def map[B](f: ((Key, Value)) => B): CC[B]
Создаёт новую итерируемую коллекцию, применяя функцию ко всем элементам этой итерируемой коллекции.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, полученная путём применения заданной функции |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
def map[K2, V2](f: ((Key, Value)) => (K2, V2)): CC[K2, V2]
Создаёт новую карту, применяя функцию ко всем элементам этой карты.
| Параметры значения |
|
|---|---|
| Возвращает | новая карта, полученная в результате применения заданной функции |
| Унаследовано от | MapOps |
Источник
Библиотека, полученная из этой библиотеки, для сопоставления результата с помощью f.
| Унаследовано от | Builder |
|---|
Источник
Находит наибольший элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наибольший элемент этой коллекции относительно упорядочения |
| Исключение |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наибольшим значением, измеренным функцией f, относительно упорядочения |
| Исключение |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение option, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f, относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Источник
Находит наибольший элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение option, содержащее наибольший элемент этой коллекции относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наименьший элемент этой коллекции относительно упорядочения |
| Исключение |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наименьшим значением, измеренным функцией f, относительно упорядочения |
| Исключение |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение option, содержащее первый элемент этой коллекции с наименьшим значением, измеренным функцией f, относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение option, содержащее наименьший элемент этой коллекции относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этой коллекции в строке.
Делегирует addString, который можно переопределить.
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (с помощью метода |
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этой коллекции в строке с использованием разделительной строки.
Делегирует addString, который можно переопределить.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этого набора. В результирующей строке строковые представления (согласно методу |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этого набора в строку, используя начальную, конечную и разделительные строки.
Делегирует addString, который может быть переопределен.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этого набора. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
override protected def newSpecificBuilder: Builder[(K, V), CC[K, V]]
| Возвращает | строгий билдер для того же типа коллекции. Обратите внимание, что в случае ленивых коллекций (например, scala.collection.View или scala.collection.immutable.LazyList), реализовать этот метод возможно, но полученный |
|---|---|
| Примечание |
При реализации пользовательского типа коллекции и уточнении Как свидетельствует аннотация |
| Классы определения | MapFactoryDefaults -> IterableOps |
| Унаследовано от | MapFactoryDefaults |
Источник
Проверяет, пуста ли коллекция.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Компонует данную частичную функцию с резервной частичной функцией, которая применяется там, где данная частичная функция не определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция, у которой область определения является объединением областей определения данной частичной функции и |
| Унаследовано от | PartialFunction |
Источник
Пара коллекций: первая — все элементы, удовлетворяющие предикату p, вторая — все элементы, которые не удовлетворяют ему. Интересно, потому что разделяет коллекцию на две.
Указанная здесь реализация требует два прохода по коллекции. Строгие коллекции имеют переопределённую версию partition в StrictOptimizedIterableOps, которая требует только одного прохода.
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
override def partitionMap[A1, A2](f: ((Key, Value)) => Either[A1, A2]): (CC[A1], CC[A2])
Применяет функцию f к каждому элементу итерируемой коллекции и возвращает пару итерируемых коллекций: первая — значения, возвращённые f и заключённые в scala.util.Left, вторая — заключённые в scala.util.Right.
Пример:
val xs = Iterable(1, "one", 2, "two", 3, "three") partitionMap {
case i: Int => Left(i)
case s: String => Right(s)
}
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | пару итерируемых коллекций: первая — значения, возвращённые |
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Произведение элементов этой коллекции.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | произведение всех элементов этой коллекции относительно оператора |
| Унаследовано от | IterableOnceOps |
Источник
def reduce[B >: (Key, Value)](op: (B, B) => B): B
Сводит элементы этой коллекции, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Результат применения оператора reduce |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceLeft[B >: (Key, Value)](op: (B, (Key, Value)) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции слева направо.
Примечание: не завершит работу для коллекций бесконечного размера.
END_OF_DOCUMENT_MARKERПримечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceLeftOption[B >: (Key, Value)](op: (B, (Key, Value)) => B): Option[B]
Применяет бинарный оператор ко всем элементам этой коллекции слева направо (необязательно).
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции упорядочен или оператор является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение опционального типа, содержащее результат |
| Унаследовано от | IterableOnceOps |
Источник
def reduceOption[B >: (Key, Value)](op: (B, B) => B): Option[B]
Сводит элементы этой коллекции, если таковые имеются, с использованием указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение опционального типа, содержащее результат применения оператора 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]
Необязательно применяет бинарный оператор ко всем элементам этой коллекции справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции упорядочен или оператор является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение опционального типа, содержащее результат |
| Унаследовано от | IterableOnceOps |
Источник
def result(): C
Коллекция результатов, состоящая из всех элементов, добавленных до сих пор.
| Унаследовано от | MapOps |
|---|
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
Компонует эту частичную функцию с функцией действия, которая применяется к результатам этой частичной функции. Функция действия вызывается только для побочных эффектов; её результат игнорируется.
Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно
if(pf isDefinedAt x) { action(pf(x)); true } else false
за исключением того, что runWith реализована через applyOrElse и, следовательно, потенциально более эффективна. Использование runWith позволяет избежать двойной оценки совпадений с шаблонами и условий для литералов частичной функции.
| Параметры значения |
|
|---|---|
| Возвращает | функция, которая отображает аргументы |
| См. также |
|
| Унаследовано от | PartialFunction |
Источник
def scan[B >: (Key, Value)](z: B)(op: (B, B) => B): CC[B]
Вычисляет префиксную развертку элементов коллекции.
Примечание: Нейтральный элемент z может применяться более одного раза.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, содержащая префиксную развертку элементов в этой итерируемой коллекции |
| Унаследовано от | IterableOps |
Источник
override def scanLeft[B](z: B)(op: (B, (Key, Value)) => B): CC[B]
Создаёт итерируемую коллекцию, содержащую кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если базовая коллекция упорядочена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | коллекция с промежуточными результатами |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
def scanRight[B](z: B)(op: ((Key, Value), B) => B): CC[B]
Создаёт коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Головка коллекции — последний кумулятивный результат.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если базовая коллекция упорядочена.
Примечание: Даже при применении к представлению или ленивой коллекции, элементы будут всегда принудительно вычисляться.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | набор с промежуточными результатами |
| Унаследовано от | IterableOps |
Источник
Сравнивает размер этого итерируемого набора с размером другого Iterable.
| Параметры значения |
|
|---|---|
| Возвращаемое значение |
Значение x < 0 if this.size < that.size x == 0 if this.size == that.size x > 0 if this.size > that.size Реализация этого метода не вызывает |
| Унаследовано от | IterableOps |
Источник
Сравнивает размер этого итерируемого набора со значением.
| Параметры значения |
|
|---|---|
| Возвращаемое значение |
Значение x < 0 if this.size < otherSize x == 0 if this.size == otherSize x > 0 if this.size > otherSize Реализация этого метода не вызывает |
| См. также | |
| Унаследовано от | IterableOps |
Источник
Указывает, что ожидается, что размер этого билдера будет таким же, как и у данного набора, плюс некоторая дельта. Это будет указано только если у набора известен размер. Некоторые классы билдеров оптимизируют свою структуру на основе подсказки. Однако реализации билдеров все равно должны работать правильно, даже если подсказка неверна, то есть добавленное количество элементов отличается.
| Параметры значения |
|
|---|---|
| Унаследовано от | Builder |
Источник
Указывает, сколько элементов ожидается добавить при вызове следующего result. Некоторые классы билдеров оптимизируют свою структуру на основе подсказки. Однако реализации билдеров все равно должны работать правильно, даже если подсказка неверна, то есть добавленное количество элементов отличается.
| Параметры значения |
|
|---|---|
| Унаследовано от | Builder |
Источник
Указывает, сколько элементов ожидается добавить при вызове следующего result вместе с верхней границей, заданной размером другого набора. Некоторые классы билдеров оптимизируют свою структуру на основе подсказки. Однако реализации билдеров все равно должны работать правильно, даже если подсказка неверна, то есть добавленное количество элементов отличается.
| Параметры значения |
|
|---|---|
| Унаследовано от | Builder |
Источник
final def sizeIs: SizeCompareOps
Возвращает класс значений, содержащий операции для сравнения размера этого итерируемого набора со значением.
END_OF_DOCUMENT_MARKERЭти операции реализуются с использованием 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 |
|---|
Source
Выбирает интервал элементов. Возвращаемое итерируемое множество состоит из всех элементов x, которые удовлетворяют инварианту:
from <= indexOf(x) < until
Примечание: могут быть получены разные результаты для разных запусков, если только тип базового множества не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемое множество, содержащее элементы, большие или равные индексу |
| Унаследовано от | IterableOps |
Source
Группирует элементы в блоки фиксированного размера, пропуская "скользящее окно" над ними (в отличие от разбиения их, как это делается в grouped.)
Возвращаемый итератор будет пустым при вызове на пустом множестве. Последний элемент, который итератор генерирует, может быть меньше размера окна, если исходное множество не исчерпано окном до него, и его последний элемент не пропущен шагом до него.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые множества размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Source
Группирует элементы в блоки фиксированного размера, пропуская "скользящее окно" над ними (в отличие от разбиения их, как это делается в grouped.)
Пустое множество возвращает пустой итератор, а непустое множество, содержащее меньше элементов, чем размер окна, возвращает итератор, который сгенерирует исходное множество как единственный элемент.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые множества размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Source
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значений |
|
|---|---|
| Возвращает | пару, состоящую из самого длинного префикса этой итерируемой коллекции, элементы которой все удовлетворяют |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в заданной позиции.
Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значений |
|
|---|---|
| Возвращает | пару итерируемых коллекций, состоящую из первых |
| Определяющие классы | 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. Для Steppers, помеченных scala.collection.Stepper.EfficientSplit, преобразователи в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Steppers могут быть преобразованы только в последовательные потоки.
| Унаследовано от | IterableOnce |
|---|
Исходный код
Удаляет все элементы, производимые итератором, из этой сжимаемой коллекции.
| Параметры значений |
|
|---|---|
| Возвращает | сама сжимаемая коллекция |
| Унаследовано от | Shrinkable |
Исходный код
Суммирует элементы этой коллекции.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типов |
|
|---|---|
| Параметры значений |
|
| Возвращает | сумма всех элементов этой коллекции относительно оператора |
| Унаследовано от | IterableOnceOps |
Исходный код
def tail: C
Остальная часть коллекции без ее первого элемента.
| Унаследовано от | IterableOps |
|---|
Исходный код
Перебирает хвосты этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения — результатами последовательного применения tail.
| Возвращает | итератор по всем хвостам этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Исходный код
Выбирает первые n элементов.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значений |
|
|---|---|
| Возвращает | итерируемая коллекция, содержащая только первые |
| Унаследовано от | IterableOps |
Исходный код
Коллекция, содержащая последние n элементы этой коллекции.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
Возвращает самый длинный префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значений |
|
|---|---|
| Возвращает | самый длинный префикс этой итерируемой коллекции, элементы которой все удовлетворяют предикату |
| Унаследовано от | IterableOps |
Исходный код
override def tapEach[U](f: ((Key, Value)) => U): C
Применяет функцию побочного эффекта к каждому элементу в этой коллекции. Строгие коллекции немедленно применят f к своим элементам, в то время как ленивые коллекции, такие как представления и LazyLists, будут применять f к каждому элементу только при и в каждый раз при его оценке.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | тот же логический набор, что и этот |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
При заданном фабрике набора factory, преобразуйте этот набор в соответствующее представление для текущего типа элемента A. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
| Унаследовано от | IterableOnceOps |
|---|
Источник
Преобразование набора в массив.
Примечание к реализации: НЕ вызывайте Array.from из этого метода.
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
def toIndexedSeq: IndexedSeq[A]
| Унаследовано от | 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 |
|---|
Источник
override def unzip[A1, A2](implicit asPair: ((Key, Value)) => (A1, A2)): (CC[A1], CC[A2])
Преобразует этот итерируемый набор пар в два набора первой и второй половины каждой пары.
val xs = Iterable(
(1, "one"),
(2, "two"),
(3, "three")).unzip
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | пара итерируемых наборов, содержащих первую, соответственно вторую половину каждой пары элементов этого итерируемого набора. |
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
override def unzip3[A1, A2, A3](implicit asTriple: ((Key, Value)) => (A1, A2, A3)): (CC[A1], CC[A2], CC[A3])
Преобразует этот итерируемый набор троек в три набора первого, второго и третьего элемента каждой тройки.
val xs = Iterable(
(1, "one", '1'),
(2, "two", '2'),
(3, "three", '3')).unzip3
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three),
// Iterable(1, 2, 3))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | тройка итерируемых наборов, содержащих первый, второй, соответственно третий член каждой тройки элементов этого итерируемого набора. |
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Обновить отображение для указанного ключа и его текущего значения, которое может быть отображено (Some если есть текущее отображение, None если нет).
Если функция переназначения возвращает Some(v), отображение обновляется новым значением v. Если функция переназначения возвращает None, отображение удаляется (или остается отсутствующим, если изначально отсутствовало). Если сама функция вызывает исключение, исключение перебрасывается, а текущее отображение остается неизменным.
| Параметры значения |
|
|---|---|
| Возвращает | новое значение, связанное с указанным ключом |
| Унаследовано от | MapOps |
Источник
Возвращает Stepper для значений этого отображения. См. метод stepper.
| Унаследовано от | MapOps |
|---|
Источник
Собирает все значения этого отображения в итерируемое коллекцию.
| Возвращает | значения этого отображения в виде итерируемого объекта. |
|---|---|
| Унаследовано от | MapOps |
Источник
Вид на элементы этой коллекции.
| Классы определения | MapOps -> IterableOps |
|---|---|
| Унаследовано от | MapOps |
Источник
def withDefault(d: Key => Value): Map[K, V]
Такое же отображение с заданной функцией по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т. д., не затрагиваются withDefaultValue.
Вызов методов преобразования (например, map) не сохранит значение по умолчанию.
| Параметры значения |
|
|---|---|
| Возвращает | обёртка отображения со значением по умолчанию |
| Унаследовано от | Map |
Источник
def withDefaultValue(d: Value): Map[K, V]
То же отображение со заданным значением по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т. д., не затрагиваются withDefaultValue.
Вызов методов преобразования (например, map) не сохранит значение по умолчанию.
| Параметры значения |
|
|---|---|
| Возвращает | обёртка отображения со значением по умолчанию |
| Унаследовано от | Map |
Источник
Создает нестрогий фильтр этого отображения.
Примечание: различие между c filter p и c withFilter p заключается в том, что первый создаёт новую коллекцию, а второй только ограничивает область последующих map, flatMap, foreach, и withFilter операций.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | объект класса |
| Классы определения | MapFactoryDefaults -> IterableOps |
| Унаследовано от | MapFactoryDefaults |
Источник
override def zip[B](that: IterableOnce[B]): CC[(A, B)]
Возвращает итерируемую коллекцию, образованную из этой итерируемой коллекции и другой итерируемой коллекции путём объединения соответствующих элементов в пары. Если одна из двух коллекций длиннее другой, оставшиеся её элементы игнорируются.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, содержащая пары, состоящие из соответствующих элементов этой итерируемой коллекции и |
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Возвращает итерируемую коллекцию, образованную из этой итерируемой коллекции и другой итерируемой коллекции путём объединения соответствующих элементов в пары. Если одна из двух коллекций короче другой, для доведения её длины до длины более длинной используется заполняющий элемент.
| Параметры значения |
|
|---|---|
| Возвращает | новая коллекция типа |
| Унаследовано от | IterableOps |
Источник
override def zipWithIndex: CC[(A, Int)]
Объединяет эту итерируемую коллекцию со своими индексами.
| Возвращает | новая итерируемая коллекция, содержащая пары, состоящие из всех элементов этой итерируемой коллекции, соединённых с их индексом. Индексы начинаются с |
|---|---|
| Пример | |
| Классы определения | 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.2.0/scala/collection/mutable/OpenHashMap.html