Spec-Zone.ru › Scala 3.1

Трейт scala.collection.mutable.SortedMap

Объект компаньона • Исходный код

Трейт SortedMap[K, V] extends SortedMap[K, V] с Map[K, V] с SortedMapOps[K, V, SortedMap, SortedMap[K, V]] с SortedMapFactoryDefaults[K, V, SortedMap, Iterable, Map]

Базовый тип для изменяемых отсортированных коллекций map

Суперайпы
28 типов
Трейт SortedMapOps[K, V, SortedMap, SortedMap[K, V]]
Трейт Map[K, V]
Трейт MapOps[K, V, Map, SortedMap[K, V]]
Трейт Shrinkable[K]
Трейт Builder[(K, V), SortedMap[K, V]]
Трейт Growable[(K, V)]
Трейт Clearable
Трейт Cloneable[SortedMap[K, V]]
Трейт Cloneable
Трейт Iterable[(K, V)]
Трейт SortedMap[K, V]
Трейт SortedMapFactoryDefaults[K, V, SortedMap, Iterable, Map]
Трейт SortedMapOps[K, V, SortedMap, SortedMap[K, V]]
Трейт SortedOps[K, SortedMap[K, V]]
Трейт Map[K, V]
Трейт Equals
Трейт MapFactoryDefaults[K, V, Map, Iterable]
Трейт MapOps[K, V, Map, SortedMap[K, V]]
Трейт PartialFunction[K, V]
Трейт K => V
Трейт Iterable[(K, V)]
Трейт IterableFactoryDefaults[(K, V), Iterable]
Трейт IterableOps[(K, V), Iterable, SortedMap[K, V]]
Трейт IterableOnceOps[(K, V), Iterable, SortedMap[K, V]]
Трейт IterableOnce[(K, V)]
Класс Object
Трейт Matchable
Класс Any
Известные подтипы
Класс WithDefault[K, V]
Класс TreeMap[K, V]

Конкретные методы

Исходный код
переопределение def sortedMapFactory: SortedMapFactory[SortedMap]

Классы определения SortedMap -> SortedMapOps

Исходный код
переопределение def unsorted: Map[K, V]

Классы определения SortedMapOps -> SortedMap -> SortedMapOps

Исходный код
переопределение def withDefault(d: K => V): SortedMap[K, V]

Такая же отсортированная карта с заданной функцией по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т.д., не затронуты withDefault.

Вызов методов преобразования (например, map) не сохранит значение по умолчанию.

Параметры значения
d

функция, отображающая ключи в значения, используемая для отсутствующих ключей

Возвращает

обёртка карты с значением по умолчанию

Классы определения Map

Исходный код
переопределение def withDefaultValue(d: V): SortedMap[K, V]

Такая же карта с заданным значением по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т.д., не затронуты withDefaultValue.

Вызов методов преобразования (например, map) не сохранит значение по умолчанию.

Параметры значения
d

значение по умолчанию, используемое для отсутствующих ключей

Возвращает

обёртка карты со значением по умолчанию

Классы определения Map

Наследованные методы

Исходный код@inline
final переопределение def ++[V2 >: V](xs: IterableOnce[(K, V2)]): SortedMap[K, V2]

Псевдоним для concat

Классы определения SortedMapOps -> MapOps
Наследованный от SortedMapOps

Исходный код@inline
final def ++[B >: (K, V)](suffix: IterableOnce[B]): Iterable[B]

Псевдоним для concat

Наследованный от IterableOps

Исходный код@inline
final def ++=(xs: IterableOnce[(K, V)]): SortedMap[K, V]

Псевдоним для addAll

Наследованный от Growable

Исходный код@inline
final def +=(elem: (K, V)): SortedMap[K, V]

Псевдоним для addOne

Наследованный от Growable

Исходный код@inline
final def --=(xs: IterableOnce[K]): SortedMap[K, V]

Псевдоним для subtractAll

Наследованный от Shrinkable

Исходный код@inline
final def -=(elem: K): SortedMap[K, V]

Псевдоним для subtractOne

Наследованный от Shrinkable

Исходный код
def addAll(xs: IterableOnce[(K, V)]): SortedMap[K, V]

Добавляет все элементы, полученные от IterableOnce, в эту коллекцию growable.

Параметры значения
xs

IterableOnce, производящий добавляемые элементы.

Возвращает

сама изменяемая коллекция.

Наследованный от Growable

Исходный код
def addOne(elem: (K, V)): SortedMap[K, V]

Добавляет один элемент в это изменяемый коллекцию.

Параметры значения
elem

элемент для добавления.

Возвращает

изменяемый коллекцию само по себе

Унаследовано от Growable

Источник
override def addString(sb: StringBuilder, start: String, sep: String, end: String): StringBuilder

Классы-предки MapOps -> IterableOnceOps
Унаследовано от MapOps

Источник@inline
final def addString(b: StringBuilder): 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
Параметры значения
b

строковый буфер, в который добавляются элементы.

Возвращает

строковый буфер b, в который были добавлены элементы.

Унаследовано от IterableOnceOps

Источник@inline
final def addString(b: StringBuilder, sep: String): StringBuilder

Добавляет все элементы этого набора в строку-построитель, используя разделительную строку. Записываемый текст состоит из строковых представлений (относительно метода 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
Параметры значения
b

строковый буфер, в который добавляются элементы.

sep

разделительная строка.

Возвращает

строковый буфер b, в который были добавлены элементы.

Унаследовано от IterableOnceOps

Источник
def andThen[C](k: PartialFunction[V, C]): PartialFunction[K, C]

Компонует эту частичную функцию с другой частичной функцией, которая применяется к результатам этой частичной функции.

Обратите внимание, что вызов isDefinedAt для получившейся частичной функции может применить первую частичную функцию и выполнить ее побочное действие. Для повышения эффективности рекомендуется вызывать applyOrElse вместо isDefinedAt или apply.

Параметры типа
C

тип результата функции преобразования.

Параметры значения
k

функция преобразования

Возвращает

частичная функция с областью определения этой частичной функции, суженной другой частичной функцией, которая отображает аргументы x в k(this(x)).

Унаследовано от PartialFunction

Источник
override def andThen[C](k: V => C): PartialFunction[K, C]

Компонует эту частичную функцию с функцией преобразования, которая применяется к результатам этой частичной функции.

Если тип времени выполнения функции PartialFunction, используется другой метод andThen (обратите внимание на его предостережения).

Параметры типа
C

тип результата функции преобразования.

Параметры значения
k

функция преобразования

Возвращает

частичная функция с областью определения этой частичной функции, возможно, суженной указанной функцией, которая отображает аргументы x в k(this(x)).

Классы-предки PartialFunction -> Function1
Унаследовано от PartialFunction

Источник@throws(scala.throws.$lessinit$greater$default$1[scala.NoSuchElementException])
def apply(key: K): V

Возвращает значение, связанное с заданным ключом. Этот метод вызывает метод default карты, если нет сопоставления от заданного ключа к значению. Если не переопределено, метод default выбрасывает NoSuchElementException.

Параметры значения
key

ключ

Возвращает

значение, связанное с заданным ключом, или результат метода default карты, если такового нет.

Унаследовано от MapOps

Источник
override def applyOrElse[K1 <: K, V1 >: V](x: K1, default: K1 => V1): V1

Классы-предки MapOps -> PartialFunction
Унаследовано от MapOps

Источник
def canEqual(that: Any): Boolean

Унаследовано от Map

Источник
def clear(): Unit

Унаследовано от MapOps

Источник
override def clone(): SortedMap[K, V]

Классы-предки MapOps -> Cloneable -> Object
Унаследовано от MapOps

Источник
def collect[K2, V2](pf: PartialFunction[(K, V), (K2, V2)]): Map[K2, V2]

Создаёт новый набор, применяя частичную функцию ко всем элементам этой карты, для которых она определена.

Параметры типа
K2

тип ключа возвращаемой карты.

V2

тип значения возвращаемой карты.

Параметры значения
pf

частичная функция, которая фильтрует и отображает карту.

Возвращает

новая карта, полученная в результате применения заданной частичной функции pf к каждому элементу, для которого она определена, и сбора результатов. Порядок элементов сохраняется.

Унаследовано от MapOps

Источник
def collect[B](pf: PartialFunction[(K, V), B]): Iterable[B]

Унаследовано от IterableOps

Источник
def collect[K2, V2](pf: PartialFunction[(K, V), (K2, V2)])(implicit @implicitNotFound ordering: Ordering[K2]): SortedMap[K2, V2]

Создаёт новую отсортированную карту, применяя частичную функцию ко всем элементам этой карты, для которых она определена.

Параметры значения
pf

частичная функция, которая фильтрует и отображает карту.

Возвращает

новая карта, полученная в результате применения заданной частичной функции pf к каждому элементу, для которого она определена, и сбора результатов. Порядок элементов сохраняется.

Унаследовано от SortedMapOps

Исходный код
def collectFirst[B](pf: PartialFunction[(K, V), B]): Option[B]

Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.

Примечание: может не завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

Параметры значения
pf

частичная функция

Возвращает

значение опции, содержащее pf, применённую к первому значению, для которого она определена, или None , если такового нет.

Пример

Seq("a", 1, 5L).collectFirst({ case x: Int => x*10 }) = Some(10)

Унаследовано от IterableOnceOps

Исходный код
def compose[R](k: PartialFunction[R, K]): PartialFunction[R, V]

Компонует другую частичную функцию k с этой частичной функцией таким образом, что эта частичная функция применяется к результатам k.

Обратите внимание, что вызов isDefinedAt для результирующей частичной функции может применить первую частичную функцию и выполнить её побочное действие. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.

Параметры типа
R

тип параметра функции преобразования.

Параметры значения
k

функция преобразования

Возвращает

частичная функция с областью определения другой частичной функции, суженной этой частичной функцией, которая отображает аргументы x в this(k(x)).

Унаследовано от PartialFunction

Исходный код@unspecialized
def compose[A](g: A => K): A => V

Компонует две экземпляры Function1 в новую Function1, при этом эта функция применяется в последнюю очередь.

Параметры типа
A

тип, к которому можно применить функцию g

Параметры значения
g

функция A => T1

Возвращает

новая функция f такая, что f(x) == apply(g(x))

Унаследовано от Function1

Исходный код
override def concat[V2 >: V](suffix: IterableOnce[(K, V2)]): SortedMap[K, V2]

Классы определения SortedMapOps -> MapOps
Унаследовано от SortedMapOps

Исходный код
def concat[B >: (K, V)](suffix: IterableOnce[B]): Iterable[B]

Возвращает новую коллекцию итерируемых элементов, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элементов коллекции итерируемых элементов — это самый специфичный суперкласс, охватывающий типы элементов двух операндов.

Параметры типа
B

тип элемента возвращаемой коллекции.

Параметры значения
suffix

итерируемый элемент для добавления.

Возвращает

новая итерируемая коллекция, содержащая все элементы этой коллекции итерируемых элементов, за которыми следуют все элементы suffix.

Унаследовано от IterableOps

Исходный код
def contains(key: K): Boolean

Проверяет, содержит ли эта карта привязку для ключа.

Параметры значения
key

ключ

Возвращает

true , если в этой карте существует привязка для key , false в противном случае.

Унаследовано от MapOps

Исходный код
def copyToArray[B >: (K, V)](xs: Array[B], start: Int, len: Int): Int

Копирует элементы в массив, возвращая количество скопированных элементов.

Заполняет заданный массив xs начиная с индекса start не более чем len элементами этой коллекции.

Копирование прекращается, как только скопированы все элементы этой коллекции, или достигнут конец массива, или len элементов были скопированы.

Параметры типа
B

тип элементов массива.

Параметры значения
len

максимальное количество копируемых элементов.

start

начальный индекс xs.

xs

массив для заполнения.

Возвращает

количество элементов, записанных в массив

Примечание

Переиспользование: после вызова этого метода итерируемый объект, на котором он был вызван, следует утилизировать. Использование итерируемого объекта после вызова этого метода не определено и может быть изменено.

Унаследовано от IterableOnceOps

Исходный код@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
def copyToArray[B >: (K, V)](xs: Array[B], start: Int): Int

Копирует элементы в массив, возвращая количество скопированных элементов.

Заполняет заданный массив xs начиная с индекса start значениями этой коллекции.

Копирование прекращается, как только скопированы все элементы этой коллекции или достигнут конец массива.

Параметры типа
B

тип элементов массива.

Параметры значения
start

начальный индекс xs.

xs

массив для заполнения.

Возвращает

количество элементов, записанных в массив

Примечание

Переиспользование: после вызова этого метода итерируемый объект, на котором он был вызван, следует утилизировать. Использование итерируемого объекта после вызова этого метода не определено и может быть изменено.

Унаследовано от IterableOnceOps

Исходный код@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
def copyToArray[B >: (K, V)](xs: Array[B]): Int

Копирует элементы в массив, возвращая количество скопированных элементов.

Заполняет заданный массив xs начиная с индекса start значениями этой коллекции.

Копирование прекращается, как только скопированы все элементы этой коллекции или достигнут конец массива.

Параметры типа
B

тип элементов массива.

Параметры значения
xs

массив для заполнения.

Возвращает

количество элементов, записанных в массив

Примечание

Переиспользование: после вызова этого метода итерируемый объект, на котором он был вызван, следует утилизировать. Использование итерируемого объекта после вызова этого метода не определено и может быть изменено.

Унаследовано от IterableOnceOps

Source
def corresponds[B](that: IterableOnce[B])(p: ((K, V), B) => Boolean): Boolean

Проверяет, соответствует ли каждый элемент итератора этого набора элементов соответствующему элементу другого набора данных, удовлетворяя условию предиката.

Примечание: не будет завершаться для коллекций бесконечного размера.

Параметры типа
B

тип элементов that

Параметры значения
p

предикат проверки, связывающий элементы из обеих коллекций

that

другая коллекция

Возвращает

true если обе коллекции имеют одинаковую длину и p(x, y) является true для всех соответствующих элементов x этого итератора и y that, в противном случае false

Унаследовано от IterableOnceOps

Source
def count(p: (K, V) => Boolean): Int

Подсчитывает количество элементов в коллекции, которые удовлетворяют предикату.

Примечание: не будет завершаться для коллекций бесконечного размера.

Параметры значения
p

предикат, используемый для проверки элементов.

Возвращает

количество элементов, удовлетворяющих предикату p.

Унаследовано от IterableOnceOps

Source@throws(scala.throws.$lessinit$greater$default$1[scala.NoSuchElementException])
def default(key: K): V

Определяет вычисление значения по умолчанию для карты, возвращаемое, когда ключ не найден. Реализованный здесь метод генерирует исключение, но может быть переопределен в подклассах.

Параметры значения
key

значение заданного ключа, для которого отсутствует привязка.

Унаследовано от MapOps

Source
def drop(n: Int): SortedMap[K, V]

Унаследовано от IterableOps

Source
def dropRight(n: Int): SortedMap[K, V]

Выбирает все элементы, кроме последних n.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

Параметры значения
n

количество элементов, которые нужно удалить из этой коллекции.

Возвращает

коллекция элементов, состоящая из всех элементов этой коллекции, кроме последних n элементов, или пустая коллекция, если в этой коллекции меньше n элементов. Если n отрицательно, не удалять никаких элементов.

Унаследовано от IterableOps

Source
def dropWhile(p: (K, V) => Boolean): SortedMap[K, V]

Унаследовано от IterableOps

Source
def elementWise: ElementWiseExtractor[K, V]

Возвращает объект извлекателя с методом 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

Source
override def empty: SortedMap[K, V]

Классы определений SortedMapFactoryDefaults -> IterableOps
Унаследовано от SortedMapFactoryDefaults

Source
override def equals(that: Any): Boolean

Классы определений SortedMap -> Map -> Equals -> Any
Унаследовано от SortedMap

Source
def exists(p: (K, V) => Boolean): Boolean

Проверяет, выполняется ли предикат для хотя бы одного элемента этой коллекции.

Примечание: может не завершаться для коллекций бесконечного размера.

Параметры значения
p

предикат, используемый для проверки элементов.

Возвращает

true если заданный предикат p выполняется хотя бы для одного элемента этой коллекции, в противном случае false

Унаследовано от IterableOnceOps

Source
def filter(pred: (K, V) => Boolean): SortedMap[K, V]

Унаследовано от IterableOps

Source
def filterInPlace(p: (K, V) => Boolean): SortedMap[K, V]

Сохраняет только те отображения, для которых предикат p возвращает true.

Параметры значения
p

предикат проверки

Унаследовано от MapOps

Source
def filterNot(pred: (K, V) => Boolean): SortedMap[K, V]

Унаследовано от IterableOps

Source
def find(p: (K, V) => Boolean): Option[(K, V)]

Находит первый элемент коллекции, удовлетворяющий предикату, если таковой есть.

Примечание: может не завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.

Параметры значения
p

предикат, используемый для проверки элементов.

Возвращает

значение типа Option, содержащее первый элемент в коллекции, удовлетворяющий p, или None , если таковой не существует.

Унаследовано от IterableOnceOps

Source
def firstKey: K

Унаследовано от SortedMapOps

Source
def flatMap[K2, V2](f: (K, V) => IterableOnce[(K2, V2)]): Map[K2, V2]

Создаёт новую карту, применяя функцию ко всем элементам этой карты и используя элементы полученных коллекций.

Параметры значения
f

функция, применяемая к каждому элементу.

Возвращает

новая карта, полученная в результате применения заданной функции с коллекцией значений f к каждому элементу этой карты и конкатенации результатов.

Унаследовано от MapOps

Источник
def flatMap[B](f: (K, V) => IterableOnce[B]): Iterable[B]

Унаследовано от IterableOps

Источник
def flatMap[K2, V2](f: (K, V) => IterableOnce[(K2, V2)])(implicit @implicitNotFound ordering: Ordering[K2]): SortedMap[K2, V2]

Создаёт новую сортированную карту, применяя функцию ко всем элементам этой карты и используя элементы полученных коллекций.

Параметры значения
f

функция, применяемая к каждому элементу.

Возвращает

новая карта, полученная в результате применения заданной функции с коллекцией значений f к каждому элементу этой карты и конкатенации результатов.

Унаследовано от SortedMapOps

Источник
def flatten[B](implicit asIterable: (K, V) => IterableOnce[B]): Iterable[B]

Унаследовано от IterableOps

Источник
def fold[A1 >: (K, V)](z: A1)(op: (A1, A1) => A1): A1

Выполняет свертку элементов этой коллекции, используя заданный ассоциативный бинарный оператор. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективных порядков обхода.

Порядок выполнения операций над элементами не определён и может быть не детерминированным.

Примечание: не завершится для коллекций бесконечного размера.

Параметры типа
A1

параметр типа для бинарного оператора, надтип A.

Параметры значения
op

бинарный оператор, который должен быть ассоциативным.

z

нейтральный элемент для операции свертки; может быть добавлен к результату произвольное количество раз, и не должен изменять результат (например, Nil для конкатенации списков, 0 для сложения или 1 для умножения).

Возвращает

результат применения оператора свертки op между всеми элементами и z, или z если эта коллекция пуста.

Унаследовано от IterableOnceOps

Источник
def foldLeft[B](z: B)(op: (B, (K, V)) => B): B

Применяет бинарный оператор к начальному значению и всем элементам этой коллекции слева направо.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.

Параметры типа
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

z

начальное значение.

Возвращает

результат вставки op между последовательными элементами этой коллекции слева направо с начальным значением z слева: op(...op(z, x1), x2, ..., xn), где x1, ..., xn — элементы этой коллекции. Возвращает z если эта коллекция пуста.

Унаследовано от IterableOnceOps

Источник
def foldRight[B](z: B)(op: ((K, V), B) => B): B

Применяет бинарный оператор ко всем элементам этой коллекции и начальному значению, справа налево.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.

Параметры типа
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

z

начальное значение.

Возвращает

результат вставки op между последовательными элементами этой коллекции справа налево с начальным значением z справа: op(x1, op(x2, ... op(xn, z)...)), где x1, ..., xn — элементы этой коллекции. Возвращает z если эта коллекция пуста.

Унаследовано от IterableOnceOps

Источник
def forall(p: (K, V) => Boolean): Boolean

Проверяет, выполняется ли предикат для всех элементов этой коллекции.

Примечание: может не завершиться для коллекций бесконечного размера.

Параметры значения
p

предикат, используемый для проверки элементов.

Возвращает

true если эта коллекция пуста или заданный предикат p выполняется для всех элементов этой коллекции, в противном случае false.

Унаследовано от IterableOnceOps

Источник
def foreach[U](f: (K, V) => U): Unit

Применяет f к каждому элементу для его побочных эффектов. Примечание: параметр [U] необходим для помощи в инференции типов scalac.

Унаследовано от IterableOnceOps

Источник
def foreachEntry[U](f: (K, V) => U): Unit

Применяет f к каждой паре ключ/значение для её побочных эффектов. Примечание: параметр [U] необходим для помощи в инференции типов scalac.

Унаследовано от MapOps

Источник
override protected def fromSpecific(coll: IterableOnce[(K, V)]): SortedMap[K, V]

Классы определения SortedMapFactoryDefaults -> IterableOps
Унаследовано от SortedMapFactoryDefaults

Источник
def get(key: K): Option[V]

Возвращает значение, связанное с ключом.

Параметры значения
key

значение ключа

Возвращает

значение option, содержащее значение, связанное с key в этой карте, или None если оно не существует.

Унаследовано от MapOps

Источник
def getOrElse[V1 >: V](key: K, default: => V1): V1

Возвращает значение, связанное с ключом, или значение по умолчанию, если ключ не содержится в карте.

Параметры типа
V1

тип результата вычисления по умолчанию.

Параметры значения
default

вычисление, которое возвращает значение по умолчанию в случае отсутствия привязки для key в карте.

key

ключ.

Возвращает

значение, связанное с key если оно существует, в противном случае результат вычисления default.

Унаследовано от MapOps
END_OF_DOCUMENT_MARKER

Source
def getOrElseUpdate(key: K, op: => V): V

Если заданный ключ уже есть в этой карте, возвращает связанное значение.

В противном случае вычисляет значение из данного выражения op, сохраняет его с ключом в карте и возвращает это значение.

Реализации конкурирующей карты могут вычислять выражение op несколько раз или могут вычислить op без вставки результата.

Параметры значения
key

ключ для проверки

op

вычисление, возвращающее значение для связывания с key, если key ранее не определено.

Возвращает

значение, связанное с ключом (либо ранее, либо в результате выполнения метода).

Унаследовано от MapOps

Source
def groupBy[K](f: (K, V) => K): Map[K, SortedMap[K, V]]

Разделяет эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с некоторой функцией-дискриминатором.

Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.

Параметры типа
K

тип ключей, возвращаемых функцией-дискриминатором.

Параметры значения
f

функция-дискриминатор.

Возвращает

Карта от ключей к итерируемым коллекциям, такая что выполняется следующее инвариантное свойство:

(xs groupBy f)(k) = xs filter (x => f(x) == k)

То есть каждый ключ k связан с итерируемой коллекцией тех элементов x, для которых f(x) равно k.

Унаследовано от IterableOps

Source
def groupMap[K, B](key: (K, V) => K)(f: (K, V) => B): Map[K, Iterable[B]]

Разделяет эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с функцией-дискриминатором 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)

Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.

Параметры типа
B

тип значений, возвращаемых функцией преобразования

K

тип ключей, возвращаемых функцией-дискриминатором

Параметры значения
f

функция преобразования элемента

key

функция-дискриминатор

Унаследовано от IterableOps

Source
def groupMapReduce[K, B](key: (K, V) => K)(f: (K, V) => 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

Source
def grouped(size: Int): Iterator[SortedMap[K, V]]

Разделяет элементы на итерируемые коллекции фиксированного размера.

Параметры значения
size

количество элементов в каждой группе

Возвращает

Итератор, производящий итерируемые коллекции размером size, за исключением последней, которая будет меньше размера size, если элементы не делятся на размер без остатка.

См. также

scala.collection.Iterator, метод grouped

Унаследовано от IterableOps

Source
override def hashCode(): Int

Классы определения Map -> Any
Унаследовано от Map

Source
def head: (K, V)

Выбирает первый элемент этой итерируемой коллекции.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

Возвращает

первый элемент этой итерируемой коллекции.

Исключения
NoSuchElementException

если итерируемая коллекция пуста.

Унаследовано от IterableOps

Source
def headOption: Option[(K, V)]

Возвращает опционально первый элемент.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

Возвращает

первый элемент этой итерируемой коллекции, если она не пуста, None если она пуста.

Унаследовано от IterableOps

Source
def init: SortedMap[K, V]

Начальная часть коллекции без её последнего элемента.

Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.

Унаследовано от IterableOps

Source
def inits: Iterator[SortedMap[K, V]]

Итерируется по начальным частям этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, промежуточные значения будут результатами последовательных применений init.

Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.

Возвращает

итератор по всем начальным частям этой итерируемой коллекции

Пример

List(1,2,3).inits = Iterator(List(1,2,3), List(1,2), List(1), Nil)

Унаследовано от IterableOps

Source
def isDefinedAt(key: K): Boolean

Проверяет, содержит ли эта карта привязку для ключа. Этот метод, реализующий абстрактный метод трейта PartialFunction, эквивалентен contains.

Параметры значения
key

ключ

Возвращает

true если для key есть привязка в этой карте, false в противном случае.

Унаследовано от MapOps

Source
def isEmpty: Boolean

Проверяет, является ли коллекция пустой.

Примечание: реализации в подклассах, которые не являются многократно проходимыми, должны позаботиться о том, чтобы не потреблять элементы, когда isEmpty вызывается.

Возвращает

true если коллекция не содержит элементов, false в противном случае.

Унаследовано от IterableOnceOps

Source
override def isTraversableAgain: Boolean

Классы определения IterableOps -> IterableOnceOps
Унаследовано от IterableOps

Источник
override def iterableFactory: IterableFactory[Iterable]

Классы определений Iterable -> Iterable -> IterableOps
Унаследовано от Iterable

Источник
def iterator: Iterator[(K, V)]

Итератор можно использовать только один раз

Унаследовано от IterableOnce

Источник
def iteratorFrom(start: K): Iterator[(K, V)]

Создаёт итератор по всем парам ключ/значение, содержащимся в этом массиве, имеющим ключ, больше или равный start в соответствии с упорядочением этого массива. x.iteratorFrom(y) эквивалентно, но часто эффективнее, чем x.from(y).iterator.

Параметры значения
start

Нижняя граница (включительно) по ключам, которые будут возвращены

Унаследовано от SortedMapOps

Источник
override def keySet: SortedSet[K]

Классы определений SortedMapOps -> MapOps
Унаследовано от SortedMapOps

Источник
def keyStepper[S <: Stepper[_]](implicit shape: StepperShape[K, S]): S

Возвращает Stepper для ключей этого массива. См. метод stepper.

Унаследовано от MapOps

Источник
def keys: Iterable[K]

Собирает все ключи этого массива в итерируемую коллекцию.

Возвращает

ключи этого массива в качестве итерируемой коллекции.

Унаследовано от MapOps

Источник
def keysIterator: Iterator[K]

Создаёт итератор для всех ключей.

Возвращает

итератор по всем ключам.

Унаследовано от MapOps

Источник
def keysIteratorFrom(start: K): Iterator[K]

Создаёт итератор по всем ключам (или элементам), содержащимся в этой коллекции, большим или равным start в соответствии с упорядочением этой коллекции. x.keysIteratorFrom(y) эквивалентно, но часто более эффективно, чем x.from(y).keysIterator.

Параметры значения
start

Нижняя граница (включительно) по ключам, которые будут возвращены

Унаследовано от SortedMapOps

Источник
override def knownSize: Int

Классы определений MapOps -> Growable -> IterableOnce
Унаследовано от MapOps

Источник
def last: (K, V)

Выбирает последний элемент.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.

Возвращает

Последний элемент этой итерируемой коллекции.

Исключение
NoSuchElementException

Если итерируемая коллекция пуста.

Унаследовано от IterableOps

Источник
def lastKey: K

Унаследовано от SortedMapOps

Источник
def lastOption: Option[(K, V)]

Возвращает опцию последнего элемента.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.

Возвращает

последний элемент этой итерируемой коллекции, если она не пуста, None в противном случае.

Унаследовано от IterableOps

Источник
def lazyZip[B](that: Iterable[B]): LazyZip2[(K, V), B, SortedMap[K, V]]

Аналогично 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)
Параметры типа
B

тип второго элемента в каждой паре

Параметры значения
that

итерируемая коллекция, предоставляющая второй элемент каждой пары

Возвращает

декоратор LazyZip2, который позволяет выполнять строгие операции над ленивыми вычислениями пар или объединять вызовы к lazyZip. Также поддерживается неявное преобразование в Iterable[(A, B)].

Унаследовано от Iterable

Источник
def lift: K => Option[V]

Преобразует эту частичную функцию в обычную функцию, возвращающую результат Option.

Возвращает

функция, принимающая аргумент x к Some(this(x)), если this определена для x, и к None в противном случае.

См. также

Function.unlift

Унаследовано от PartialFunction

Источник
def map[K2, V2](f: (K, V) => (K2, V2)): Map[K2, V2]

Создаёт новый массив, применяя функцию ко всем элементам этого массива.

Параметры значения
f

функция, применяемая к каждому элементу.

Возвращает

новый массив, полученный путём применения заданной функции f к каждому элементу этого массива и сбора результатов.

Унаследовано от MapOps

Источник
def map[B](f: (K, V) => B): Iterable[B]

Унаследовано от IterableOps

Источник
def map[K2, V2](f: (K, V) => (K2, V2))(implicit @implicitNotFound ordering: Ordering[K2]): SortedMap[K2, V2]

Создаёт новый упорядоченный массив, применяя функцию ко всем элементам этого массива.

Параметры значения
f

функция, применяемая к каждому элементу.

Возвращает

новая карта, полученная в результате применения заданной функции f к каждому элементу этой карты и сбора результатов.

Унаследовано от SortedMapOps

Исходный код
override def mapFactory: MapFactory[Map]

Классы определения Map -> Map -> MapOps
Унаследовано от Map

Исходный код
def mapResult[NewTo](f: SortedMap[K, V] => NewTo): Builder[(K, V), NewTo]

Построитель, полученный из этого построителя путем отображения результата с использованием f.

Унаследовано от Builder

Исходный код
def mapValuesInPlace(f: (K, V) => V): SortedMap[K, V]

Применяет функцию преобразования ко всем значениям, содержащимся в этой карте. Функция преобразования генерирует новые значения из существующих ключей и сопоставленных значений.

Параметры значения
f

применяемое преобразование

Возвращает

сама карта.

Унаследовано от MapOps

Исходный код
def max[B >: (K, V)](implicit ord: Ordering[B]): (K, V)

Находит наибольший элемент.

Примечание: для коллекций бесконечного размера выполнение не завершится.

Параметры типа
B

Тип, для которого определено упорядочение.

Параметры значения
ord

Порядок, используемый для сравнения элементов.

Возвращает

наибольший элемент этой коллекции относительно порядка ord.

Исключение
UnsupportedOperationException

если эта коллекция пуста.

Унаследовано от IterableOnceOps

Исходный код
def maxBefore(key: K): Option[(K, V)]

Находит элемент с наибольшим ключом, меньшим заданного ключа.

Параметры значения
key

Заданный ключ.

Возвращает

None, если такого узла нет.

Унаследовано от SortedMapOps

Исходный код
def maxBy[B](f: (K, V) => B)(implicit cmp: Ordering[B]): (K, V)

Находит первый элемент, который возвращает наибольшее значение, измеренное функцией f.

Примечание: для коллекций бесконечного размера выполнение не завершится.

Параметры типа
B

Тип результата функции f.

Параметры значения
cmp

Порядок, используемый для сравнения элементов.

f

Функция измерения.

Возвращает

первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно порядка cmp.

Исключение
UnsupportedOperationException

если эта коллекция пуста.

Унаследовано от IterableOnceOps

Исходный код
def maxByOption[B](f: (K, V) => B)(implicit cmp: Ordering[B]): Option[(K, V)]

Находит первый элемент, который возвращает наибольшее значение, измеренное функцией f.

Примечание: не завершается для коллекций бесконечного размера.

Параметры типа
B

Тип результата функции f.

Параметры значения
cmp

Порядок, используемый для сравнения элементов.

f

Функция измерения.

Возвращает

значение опции, содержащей первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно порядка cmp.

Унаследовано от IterableOnceOps

Источник
def maxOption[B >: (K, V)](implicit ord: Ordering[B]): Option[(K, V)]

Находит наибольший элемент.

Примечание: не завершается для коллекций бесконечного размера.

Параметры типа
B

Тип, по которому определен порядок.

Параметры значения
ord

Порядок, используемый для сравнения элементов.

Возвращает

значение опции, содержащей наибольший элемент этой коллекции относительно порядка ord.

Унаследовано от IterableOnceOps

Источник
def min[B >: (K, V)](implicit ord: Ordering[B]): (K, V)

Находит наименьший элемент.

Примечание: не завершается для коллекций бесконечного размера.

Параметры типа
B

Тип, по которому определен порядок.

Параметры значения
ord

Порядок, используемый для сравнения элементов.

Возвращает

наименьший элемент этой коллекции относительно порядка ord.

Исключения
UnsupportedOperationException

если эта коллекция пуста.

Унаследовано от IterableOnceOps

Источник
def minAfter(key: K): Option[(K, V)]

Находит элемент с наименьшим ключом, большим или равным заданному ключу.

Параметры значения
key

Заданный ключ.

Возвращает

None если такого узла нет.

Унаследовано от SortedMapOps

Источник
def minBy[B](f: (K, V) => B)(implicit cmp: Ordering[B]): (K, V)

Находит первый элемент, который возвращает наименьшее значение, измеренное функцией f.

Примечание: не завершается для коллекций бесконечного размера.

Параметры типа
B

Тип результата функции f.

Параметры значения
cmp

Порядок, используемый для сравнения элементов.

f

Функция измерения.

Возвращает

первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно порядка cmp.

Исключения
UnsupportedOperationException

если эта коллекция пуста.

Унаследовано от IterableOnceOps

Источник
def minByOption[B](f: (K, V) => B)(implicit cmp: Ordering[B]): Option[(K, V)]

Находит первый элемент, который возвращает наименьшее значение, измеренное функцией f.

Примечание: не завершается для коллекций бесконечного размера.

Параметры типа
B

Тип результата функции f.

Параметры значения
cmp

Порядок, используемый для сравнения элементов.

f

Функция измерения.

Возвращает

значение Option, содержащее первый элемент этого набора с наименьшим значением, измеренным функцией f относительно порядка cmp.

Унаследовано от IterableOnceOps

Источник
def minOption[B >: (K, V)](implicit ord: Ordering[B]): Option[(K, V)]

Находит наименьший элемент.

Примечание: не завершит работу для наборов бесконечного размера.

Параметры типа
B

Тип, для которого определён порядок.

Параметры значения
ord

Порядок, используемый для сравнения элементов.

Возвращает

значение Option, содержащее наименьший элемент этого набора относительно порядка ord.

Унаследовано от IterableOnceOps

Источник@inline
final def mkString: String

Отображает все элементы этого набора в строке.

Делегирует addString, который может быть переопределён.

Возвращает

строковое представление этого набора. В результирующей строке строковые представления (с учётом метода toString) всех элементов этого набора следуют друг за другом без разделительной строки.

Унаследовано от IterableOnceOps

Источник@inline
final def mkString(sep: String): String

Отображает все элементы этого набора в строке с использованием разделительной строки.

Делегирует addString, который может быть переопределён.

Параметры значения
sep

разделительная строка.

Возвращает

строковое представление этого набора. В результирующей строке строковые представления (с учётом метода toString) всех элементов этого набора разделены строкой sep.

Пример

List(1, 2, 3).mkString("|") = "1|2|3"

Унаследовано от IterableOnceOps

Источник
final def mkString(start: String, sep: String, end: String): String

Отображает все элементы этого набора в строке с использованием начальной, конечной и разделительной строк.

Делегирует addString, который может быть переопределён.

Параметры значения
end

конечная строка.

sep

разделительная строка.

start

начальная строка.

Возвращает

строковое представление этого набора. Результирующая строка начинается со строки start и заканчивается строкой end. Внутри, строковые представления (с учётом метода toString) всех элементов этого набора разделены строкой sep.

Пример

List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"

Унаследовано от IterableOnceOps

Источник
override protected def newSpecificBuilder: Builder[(K, V), SortedMap[K, V]]

Классы определения SortedMapFactoryDefaults -> IterableOps
Унаследовано от SortedMapFactoryDefaults

Источник@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
def nonEmpty: Boolean

Проверяет, не пуст ли набор.

Возвращает

true если набор содержит по крайней мере один элемент, false в противном случае.

Унаследовано от IterableOnceOps

Источник
def orElse[A1 <: K, B1 >: V](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]

Компонует эту частичную функцию с частичной функцией по умолчанию, которая применяется в тех случаях, когда эта частичная функция не определена.

Параметры типа
A1

тип аргумента функции по умолчанию

B1

тип результата функции по умолчанию

Параметры значения
that

функция по умолчанию

Возвращает

частичная функция, область определения которой является объединением областей определения этой частичной функции и that. Результирующая частичная функция принимает x к this(x), где this определена, и к that(x) в противном случае.

Унаследовано от PartialFunction

Источник
def ordering: Ordering[K]

Унаследовано от SortedOps

Источник
def partition(p: (K, V) => Boolean): (SortedMap[K, V], SortedMap[K, V])

Пара, состоящая, во-первых, из всех элементов, удовлетворяющих предикату p, и, во-вторых, из всех элементов, которые не удовлетворяют ему. Интересно тем, что разделяет набор на две части.

Указанная здесь реализация требует двух проходов по набору. Строгие наборы имеют переопределённую версию partition в StrictOptimizedIterableOps, которая требует только одного прохода.

Унаследовано от IterableOps

Источник
def partitionMap[A1, A2](f: (K, V) => Either[A1, A2]): (Iterable[A1], Iterable[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))
Параметры типа
A1

тип элементов первого результирующего набора

A2

тип элементов второго результирующего набора

Параметры значения
f

функция 'разделения', отображающая элементы этого набора в scala.util.Either

Возвращает

пару наборов: первый содержит значения, возвращённые f и заключённые в scala.util.Left, второй - значения, заключённые в scala.util.Right.

Унаследовано от IterableOps

Источник
def product[B >: (K, V)](implicit num: Numeric[B]): B

Перемножает элементы этого набора.

Примечание: не завершит работу для наборов бесконечного размера.

Тип параметров
B

тип результата оператора *.

Параметры значения
num

неявный параметр, определяющий набор числовых операций, включая оператор *, используемый для образования произведения.

Возвращает

произведение всех элементов этой коллекции по отношению к оператору * в num.

Унаследовано от IterableOnceOps

Источник
def put(key: K, value: V): Option[V]

Добавляет новую пару ключ/значение в этот массив и необязательно возвращает ранее связанное значение. Если в массиве уже есть сопоставление для ключа, оно будет перезаписано новым значением.

Параметры значения
key

ключ для обновления

value

новое значение

Возвращает

значение типа Option, содержащее значение, связанное с ключом до выполнения операции put, или None, если key не было определено в массиве ранее.

Унаследовано от MapOps

Источник
def range(from: K, until: K): SortedMap[K, V]

Создает проецирование диапазона этой коллекции с нижней и верхней границами.

Параметры значения
from

Нижняя граница (включительно) проецирования диапазона.

until

Верхняя граница (исключительно) проецирования диапазона.

Унаследовано от SortedOps

Источник
def rangeFrom(from: K): SortedMap[K, V]

Создает проецирование диапазона этой коллекции без верхней границы.

Параметры значения
from

Нижняя граница (включительно) проецирования диапазона.

Унаследовано от SortedOps

Источник
def rangeImpl(from: Option[K], until: Option[K]): SortedMap[K, V]

Создает проецирование диапазона этой коллекции. Любые изменения в проецировании диапазона обновят эту коллекцию и наоборот.

Примечание: ключи не гарантируются как согласующиеся между этой коллекцией и проекцией. Это справедливо для буферов, где индексация относительна к проекции.

Параметры значения
from

Нижняя граница (включительно) проецирования диапазона. None если нет нижней границы.

until

Верхняя граница (исключительно) проецирования диапазона. None если нет верхней границы.

Унаследовано от SortedOps

Источник
def rangeTo(to: K): SortedMap[K, V]

Унаследовано от SortedMapOps

Источник
def rangeUntil(until: K): SortedMap[K, V]

Создает проецирование диапазона этой коллекции без нижней границы.

Параметры значения
until

Верхняя граница (исключительно) проецирования диапазона.

Унаследовано от SortedOps

Источник
def reduce[B >: (K, V)](op: (B, B) => B): B

Сводит элементы этой коллекции, используя указанный ассоциативный бинарный оператор.

Порядок выполнения операций над элементами не определен и может быть недетерминированным.

Тип параметров
B

Параметр типа для бинарного оператора, супертип A.

Параметры значения
op

Бинарный оператор, который должен быть ассоциативным.

Возвращает

Результат применения оператора reduce op между всеми элементами, если коллекция непуста.

Исключения
UnsupportedOperationException

если эта коллекция пуста.

Унаследовано от IterableOnceOps

Источник
def reduceLeft[B >: (K, V)](op: (B, (K, V)) => B): B

Применяет бинарный оператор ко всем элементам этой коллекции слева направо.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.

Тип параметров
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

Возвращает

результат вставки op между последовательными элементами этой коллекции слева направо: op( op( ... op(x1, x2) ..., xn-1), xn), где x1, ..., xn - это элементы этой коллекции.

Исключения
UnsupportedOperationException

если эта коллекция пуста.

Унаследовано от IterableOnceOps

Источник
def reduceLeftOption[B >: (K, V)](op: (B, (K, V)) => B): Option[B]

Необязательно применяет бинарный оператор ко всем элементам этой коллекции слева направо.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.

Тип параметров
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

Возвращает

значение типа Option, содержащее результат reduceLeft(op) если эта коллекция непуста, None в противном случае.

Унаследовано от IterableOnceOps

Источник
def reduceOption[B >: (K, V)](op: (B, B) => B): Option[B]

Сводит элементы этой коллекции, если есть, используя указанный ассоциативный бинарный оператор.

Порядок выполнения операций над элементами не определен и может быть недетерминированным.

Тип параметров
B

Параметр типа для бинарного оператора, супертип A.

Параметры значения
op

Бинарный оператор, который должен быть ассоциативным.

Возвращает

значение типа Option, содержащее результат применения оператора reduce op между всеми элементами, если коллекция непуста, и None в противном случае.

Унаследовано от IterableOnceOps

Источник
def reduceRight[B >: (K, V)](op: ((K, V), B) => B): B

Применяет бинарный оператор ко всем элементам этой коллекции справа налево.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.

Тип параметров
B

тип результата бинарного оператора.

Параметры значений
op

бинарный оператор.

Возвращает

результат вставки op между последовательными элементами этого набора, справа налево: op(x1, op(x2, ..., op(xn-1, xn)...)) где x1, ..., xn — элементы этого набора.

Выбрасывает
UnsupportedOperationException

если этот набор пуст.

Унаследовано от IterableOnceOps

Источник
def reduceRightOption[B >: (K, V)](op: ((K, V), B) => B): Option[B]

Применяет бинарный оператор ко всем элементам этого набора справа налево (по умолчанию).

Примечание: не будет завершаться для наборов бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип основного набора не упорядочен или оператор не ассоциативен и коммутативен.

Тип параметров
B

тип результата бинарного оператора.

Параметры значений
op

бинарный оператор.

Возвращает

значение опции, содержащее результат reduceRight(op) если этот набор не пуст, None в противном случае.

Унаследовано от IterableOnceOps

Источник
def remove(key: K): Option[V]

Удаляет ключ из этой карты, возвращая значение, ранее связанное с этим ключом, как значение опции.

Параметры значений
key

ключ, который нужно удалить

Возвращает

значение опции, содержащее значение, ранее связанное с key, или None если key не было определено в карте ранее.

Унаследовано от MapOps

Источник
def result(): SortedMap[K, V]

Унаследовано от MapOps

Источник
protected def reversed: Iterable[(K, V)]

Унаследовано от IterableOnceOps

Источник
def runWith[U](action: V => U): K => Boolean

Составляет эту частичную функцию с функцией действия, которая применяется к результатам этой частичной функции. Функция действия вызывается только для побочных эффектов; ее результат игнорируется.

Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно

if(pf isDefinedAt x) { action(pf(x)); true } else false

за исключением того, что runWith реализовано с помощью applyOrElse и, следовательно, потенциально более эффективно. Использование runWith позволяет избежать двойной оценки матчеров и условий для литералов частичных функций.

Параметры значений
action

функция действия

Возвращает

функция, которая отображает аргументы x в isDefinedAt(x). Результирующая функция выполняет action(this(x)) там, где this определено.

См. также

applyOrElse.

Унаследовано от PartialFunction

Источник
def scan[B >: (K, V)](z: B)(op: (B, B) => B): Iterable[B]

Вычисляет префиксную сумму элементов набора.

Примечание: нейтральный элемент z может применяться более одного раза.

Тип параметров
B

тип элемента результирующего набора

Параметры значений
op

ассоциативный оператор для сканирования

z

нейтральный элемент для оператора op

Возвращает

новый итерируемый набор, содержащий префиксную сумму элементов в этом итерируемом наборе

Унаследовано от IterableOps

Источник
def scanLeft[B](z: B)(op: (B, (K, V)) => B): Iterable[B]

Унаследовано от IterableOps

Источник
def scanRight[B](z: B)(op: ((K, V), B) => B): Iterable[B]

Создает набор, содержащий кумулятивные результаты применения оператора справа налево. Головной элемент набора — последний кумулятивный результат.

Примечание: не будет завершаться для наборов бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип основного набора не упорядочен.

Примечание: даже при применении к представлению или ленивому набору он всегда заставит элементы.

Пример:

List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
Тип параметров
B

тип элементов в результирующем наборе

Параметры значений
op

бинарный оператор, применяемый к промежуточному результату и элементу

z

начальное значение

Возвращает

набор с промежуточными результатами

Унаследовано от IterableOps

Источник
def size: Int

Размер этого набора.

Примечание: не будет завершаться для наборов бесконечного размера.

Возвращает

количество элементов в этом наборе.

Унаследовано от IterableOnceOps

Источник
def sizeCompare(that: Iterable[_]): Int

Сравнивает размер этого итерируемого набора с размером другого Iterable.

Параметры значений
that

другой итерируемый набор, размер которого сравнивается с размером этого итерируемого набора.

Возвращает

Значение x, где

x <  0       if this.size <  that.size
x == 0       if this.size == that.size
x >  0       if this.size >  that.size

Метод, как реализован здесь, не вызывает size напрямую; его время выполнения — O(this.size min that.size) вместо O(this.size + that.size). Метод должен быть переопределен, если вычисление size является быстрым, а knownSize возвращает -1.

Унаследовано от IterableOps

Источник
def sizeCompare(otherSize: Int): Int

Сравнивает размер этого итерируемого набора со значением теста.

Параметры значений
otherSize

значение теста, которое сравнивается с размером.

Возвращает

Значение x, где

x <  0       if this.size <  otherSize
x == 0       if this.size == otherSize
x >  0       if this.size >  otherSize

Метод, как реализован здесь, не вызывает size напрямую; его время выполнения — O(size min otherSize) вместо O(size). Метод должен быть переопределен, если вычисление size является быстрым, а knownSize возвращает -1.

См. также

sizeIs

Унаследовано от IterableOps

Источник
final def sizeHint(coll: IterableOnce[_], delta: Int): Unit

Подсказывает, что ожидается, что result этого билдера будет иметь тот же размер, что и заданная коллекция, плюс некоторая дельта. Это будет подсказка только в том случае, если коллекция имеет известный размер. Некоторые классы билдеров будут оптимизировать свою структуру на основе подсказки. Однако реализации билдеров все равно должны работать правильно, даже если подсказка неверна, т. е. добавлено другое количество элементов.

Параметры значения
coll

коллекция, которая служит подсказкой для размера результата.

delta

исправление, которое нужно добавить к coll.size для получения подсказки размера.

Унаследовано от Builder

Исходный код
def sizeHint(size: Int): Unit

Даёт подсказку о том, сколько элементов ожидается добавить при вызове следующего result. Некоторые классы билдеров будут оптимизировать свою структуру на основе подсказки. Однако реализации билдеров все равно должны работать правильно, даже если подсказка неверна, т. е. добавлено другое количество элементов.

Параметры значения
size

подсказка о том, сколько элементов будет добавлено.

Унаследовано от Builder

Исходный код
final def sizeHintBounded(size: Int, boundingColl: Iterable[_]): Unit

Даёт подсказку о том, сколько элементов ожидается добавить при вызове следующего result вместе с верхней границей, заданной размером другой коллекции. Некоторые классы билдеров будут оптимизировать свою структуру на основе подсказки. Однако реализации билдеров все равно должны работать правильно, даже если подсказка неверна, т. е. добавлено другое количество элементов.

Параметры значения
boundingColl

граница коллекции. Если это IndexedSeqLike, то размеры, большие, чем размер коллекции, уменьшаются.

size

подсказка о том, сколько элементов будет добавлено.

Унаследовано от 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

Исходный код
def slice(from: Int, until: Int): SortedMap[K, V]

Унаследовано от IterableOps

Исходный код
def sliding(size: Int, step: Int): Iterator[SortedMap[K, V]]

Группирует элементы в блоки фиксированного размера, передавая "скользящее окно" по ним (в отличие от разбиения их, как это делается в grouped.)

Возвращаемый итератор будет пустым при вызове на пустой коллекции. Последний элемент, который итератор производит, может быть меньше размера окна, когда исходная коллекция не исчерпана окном перед ним, и её последний элемент не пропущен шагом перед ним.

Параметры значения
size

количество элементов в группе

step

расстояние между первыми элементами последовательных групп

Возвращает

Итератор, производящий коллекции итерабильных элементов размера size, за исключением последнего элемента (который может быть единственным элементом), который будет меньше, если оставшихся элементов для группировки меньше, чем size.

См. также

scala.collection.Iterator, метод sliding

Пример

List(1, 2, 3, 4, 5).sliding(2, 2) = Iterator(List(1, 2), List(3, 4), List(5))

List(1, 2, 3, 4, 5, 6).sliding(2, 3) = Iterator(List(1, 2), List(4, 5))

Унаследовано от IterableOps

Исходный код
def sliding(size: Int): Iterator[SortedMap[K, V]]

Группирует элементы в блоки фиксированного размера, передавая "скользящее окно" по ним (в отличие от разбиения их, как это делается в grouped.)

Пустая коллекция возвращает пустой итератор, а непустая коллекция, содержащая меньше элементов, чем размер окна, возвращает итератор, который произведёт исходную коллекцию как единственный элемент.

Параметры значения
size

количество элементов в группе

Возвращает

Итератор, производящий коллекции итерабильных элементов размера size, за исключением непустой коллекции с менее чем size элементами, которая возвращает итератор, который производит исходную коллекцию как единственный элемент.

См. также

scala.collection.Iterator, метод sliding

Пример

List().sliding(2) = empty iterator

List(1).sliding(2) = Iterator(List(1))

List(1, 2).sliding(2) = Iterator(List(1, 2))

List(1, 2, 3).sliding(2) = Iterator(List(1, 2), List(2, 3))

Унаследовано от IterableOps

Исходный код
def span(p: (K, V) => Boolean): (SortedMap[K, V], SortedMap[K, V])

Унаследовано от IterableOps

Исходный код
override def splitAt(n: Int): (SortedMap[K, V], SortedMap[K, V])

Классы-предки IterableOps -> IterableOnceOps
Унаследовано от IterableOps

Исходный код
def stepper[S <: Stepper[_]](implicit shape: StepperShape[(K, V), S]): S

Возвращает 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

Исходный код
def subtractAll(xs: IterableOnce[K]): SortedMap[K, V]

Удаляет все элементы, производимые итератором, из этой сжимаемой коллекции.

Параметры значения
xs

итератор, производящий элементы для удаления.

Возвращает

сама сжимаемая коллекция

Унаследовано от Shrinkable

Source
def subtractOne(elem: K): SortedMap[K, V]

Удаляет один элемент из этого сжимаемого набора.

Параметры значения
elem

элемент для удаления.

Возвращает

сам сжимаемый набор

Унаследовано от Shrinkable

Source
def sum[B >: (K, V)](implicit num: Numeric[B]): B

Суммирует элементы этого набора.

Примечание: для наборов бесконечного размера не будет завершено.

Параметры типа
B

тип результата оператора +.

Параметры значения
num

неявный параметр, определяющий набор числовых операций, который включает оператор +, используемый для формирования суммы.

Возвращает

сумма всех элементов этого набора относительно оператора + в num.

Унаследовано от IterableOnceOps

Source
def tail: SortedMap[K, V]

Остальная часть набора без первого элемента.

Унаследовано от IterableOps

Source
def tails: Iterator[SortedMap[K, V]]

Итерируется по хвостам этого набора. Первое значение будет этим набором, а последнее — пустым набором, а промежуточные значения — результатом последовательных применений tail.

Возвращает

итератор по всем хвостам этого набора

Пример

List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)

Унаследовано от IterableOps

Source
def take(n: Int): SortedMap[K, V]

Унаследовано от IterableOps

Source
def takeRight(n: Int): SortedMap[K, V]

Выбирает последние n элементов.

Примечание: может возвращать разные результаты при разных запусках, если только тип базового набора не упорядочен.

Параметры значения
n

количество элементов для взятия из этого набора.

Возвращает

набор, содержащий только последние n элементов этого набора, или весь набор, если в нем меньше n элементов. Если n отрицательно, возвращает пустой набор.

Унаследовано от IterableOps

Source
def takeWhile(p: (K, V) => Boolean): SortedMap[K, V]

Возвращает наибольший префикс элементов, удовлетворяющих предикату.

Примечание: может возвращать разные результаты при разных запусках, если только тип базового набора не упорядочен.

Параметры значения
p

предикат, используемый для проверки элементов.

Возвращает

наибольший префикс этого набора, элементы которого удовлетворяют предикату p.

Унаследовано от IterableOps

Source
override def tapEach[U](f: (K, V) => U): SortedMap[K, V]

Классы определений IterableOps -> IterableOnceOps
Унаследовано от IterableOps

Source
def to[C1](factory: Factory[(K, V), C1]): C1

Используя фабрику коллекций factory, преобразовать этот набор в соответствующую структуру для текущего типа элементов A. Примеры использования:

xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]

Унаследовано от IterableOnceOps

Source
def toArray[B >: (K, V) : ClassTag]: Array[B]

Преобразовать набор в массив.

Примечание: НЕ вызывайте Array.from из этого метода.

Унаследовано от IterableOnceOps

Source@inline
final def toBuffer[B >: (K, V)]: Buffer[B]

Унаследовано от IterableOnceOps

Source
def toIndexedSeq: IndexedSeq[(K, V)]

Унаследовано от IterableOnceOps

Source
def toList: List[(K, V)]

Унаследовано от IterableOnceOps

Source
def toMap[K, V](implicit ev: (K, V) <:< (K, V)): Map[K, V]

Унаследовано от IterableOnceOps

Source
def toSeq: Seq[(K, V)]

Возвращает

Этот набор в виде Seq[A]. Это эквивалентно to(Seq), но может быть быстрее.

Унаследовано от IterableOnceOps

Source
def toSet[B >: (K, V)]: Set[B]

Унаследовано от IterableOnceOps

Source
override def toString(): String

Классы определений Map -> Function1 -> Iterable -> Any
Унаследовано от Map

Source
def toVector: Vector[(K, V)]

Унаследовано от IterableOnceOps

Source
def transpose[B](implicit asIterable: (K, V) => Iterable[B]): Iterable[Iterable[B]]

Транспонирует это итерируемое множество итерируемых множеств в итерируемое множество итерируемых множеств.

Тип результирующего множества будет определяться статическим типом итерируемого множества. Например:

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))

Примечание: Даже при применении к представлению или ленивому множеству, элементы всегда будут принудительно вычислены.

Параметры типа
B

тип элементов каждого итерируемого множества.

Параметры значения
asIterable

явное преобразование, которое утверждает, что тип элементов этого итерируемого множества является Iterable.

Возвращает

двумерное итерируемое множество итерируемых множеств, где n-я строка содержит n-й столбец этого итерируемого множества.

Исключения
IllegalArgumentException

если все множества в этом итерируемом множестве не имеют одинаковый размер.

Унаследовано от IterableOps

Исходный код
def unapply(a: K): Option[V]

Попытка извлечь B из A в выражении сопоставления с образцом.

Унаследовано от PartialFunction

Исходный код
def unzip[A1, A2](implicit asPair: (K, V) => (A1, A2)): (Iterable[A1], Iterable[A2])

Преобразует это итерируемое множество пар в два множества первой и второй половины каждой пары.

val xs = Iterable(
           (1, "one"),
           (2, "two"),
           (3, "three")).unzip
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three))
Параметры типа
A1

тип первой половины пар элементов

A2

тип второй половины пар элементов

Параметры значения
asPair

неявное преобразование, которое утверждает, что тип элементов этого итерируемого множества является парой.

Возвращает

пару итерируемых множеств, содержащих первую и соответственно вторую половину каждой пары элементов этого итерируемого множества.

Унаследовано от IterableOps

Исходный код
def unzip3[A1, A2, A3](implicit asTriple: (K, V) => (A1, A2, A3)): (Iterable[A1], Iterable[A2], Iterable[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))
Параметры типа
A1

тип первого элемента троек элементов

A2

тип второго элемента троек элементов

A3

тип третьего элемента троек элементов

Параметры значения
asTriple

неявное преобразование, которое утверждает, что тип элементов этого итерируемого множества является тройкой.

Возвращает

тройку итерируемых множеств, содержащих первый, второй и соответственно третий элемент каждой тройки элементов этого итерируемого множества.

Унаследовано от IterableOps

Исходный код
def update(key: K, value: V): Unit

Добавляет новую пару ключ/значение в этот словарь. Если словарь уже содержит отображение для ключа, оно будет перезаписано новым значением.

Параметры значения
key

Ключ для обновления

value

Новое значение

Унаследовано от MapOps

Исходный код
def updateWith(key: K)(remappingFunction: Option[V] => Option[V]): Option[V]

Обновляет отображение для указанного ключа и его текущего, необязательно сопоставленного значения (Some если существует текущее отображение, None если нет).

Если функция переназначения возвращает Some(v), отображение обновляется с новым значением v. Если функция переназначения возвращает None, отображение удаляется (или остается отсутствующим, если оно изначально отсутствовало). Если сама функция вызывает исключение, исключение перебрасывается, а текущее отображение остается без изменений.

Параметры значения
key

значение ключа

remappingFunction

частичная функция, которая получает текущее необязательно сопоставленное значение и возвращает новое отображение

Возвращает

новое значение, связанное с указанным ключом

Унаследовано от MapOps

Исходный код
def valueStepper[S <: Stepper[_]](implicit shape: StepperShape[V, S]): S

Возвращает Stepper для значений этого словаря. См. метод stepper.

Унаследовано от MapOps

Исходный код
def values: Iterable[V]

Собирает все значения этого словаря в итерируемое множество.

Возвращает

значения этого словаря в качестве итерируемого множества.

Унаследовано от MapOps

Исходный код
def valuesIterator: Iterator[V]

Создаёт итератор для всех значений в этом словаре.

Возвращает

итератор по всем значениям, связанным с каким-либо ключом в этом словаре.

Унаследовано от MapOps

Исходный код
def valuesIteratorFrom(start: K): Iterator[V]

Создаёт итератор по всем значениям, содержащимся в этом словаре, связанным с ключом, больше или равным start в соответствии с упорядочением этого словаря. x.valuesIteratorFrom(y) эквивалентно, но часто более эффективно, чем x.from(y).valuesIterator.

Параметры значения
start

Нижняя граница (включительно) для ключей, которые должны быть возвращены

Унаследовано от SortedMapOps

Исходный код
override def view: MapView[K, V]

Определяющие классы MapOps -> IterableOps
Унаследовано от MapOps

Исходный код
override def withFilter(p: (K, V) => Boolean): WithFilter[K, V, Iterable, Map, SortedMap]

Определяющие классы SortedMapFactoryDefaults -> IterableOps
Унаследовано от SortedMapFactoryDefaults

Исходный код
def zip[B](that: IterableOnce[B]): Iterable[((K, V), B)]

Возвращает итерируемое множество, образованное из этого итерируемого множества и другого итерируемого множества, объединяя соответствующие элементы в пары. Если одно из двух множеств длиннее другого, его оставшиеся элементы игнорируются.

Параметры типа
B

тип второй половины возвращаемых пар

Параметры значения
that

итерируемое множество, предоставляющее вторую половину каждой пары результата

Возвращает

новое итерируемое множество, содержащее пары, состоящие из соответствующих элементов этого итерируемого множества и that. Длина возвращаемого множества равна минимальной длине этого итерируемого множества и that.

Унаследовано от IterableOps

Source
def zipAll[A1 >: (K, V), B](that: Iterable[B], thisElem: A1, thatElem: B): Iterable[(A1, B)]

Возвращает итерируемую коллекцию, сформированную из этой итерируемой коллекции и другой итерируемой коллекции путем объединения соответствующих элементов в пары. Если одна из двух коллекций короче другой, элементы-заполнители используются для расширения более короткой коллекции до длины более длинной.

Параметры значения
that

итерируемая коллекция, предоставляющая вторую половину каждой пары результатов

thatElem

элемент, который будет использоваться для заполнения результата, если that короче, чем эта итерируемая коллекция.

thisElem

элемент, который будет использоваться для заполнения результата, если эта итерируемая коллекция короче, чем that.

Возвращает

новая коллекция типа That содержащая пары, состоящие из соответствующих элементов этой итерируемой коллекции и that. Длина возвращаемой коллекции — максимальная из длин этой итерируемой коллекции и that. Если эта итерируемая коллекция короче that, значения thisElem используются для заполнения результата. Если that короче, чем эта итерируемая коллекция, значения thatElem используются для заполнения результата.

Унаследовано от IterableOps

Source
def zipWithIndex: Iterable[((K, V), Int)]

Унаследовано от IterableOps

© 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/SortedMap.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API