Spec-Zone.ru › Scala 3.1

Класс scala.collection.mutable.WithDefault

Исходный код

@SerialVersionUID(3L)
final class WithDefault[K, V](underlying: SortedMap[K, V], defaultValue: K => V) extends WithDefault[K, V] with SortedMap[K, V] with SortedMapOps[K, V, SortedMap, WithDefault[K, V]] with Serializable

Подтипы
34 типа
Тракт SortedMap[K, V]
Тракт SortedMapOps[K, V, SortedMap, WithDefault[K, V]]
Тракт SortedMap[K, V]
Тракт SortedMapFactoryDefaults[K, V, SortedMap, Iterable, Map]
Тракт SortedMapOps[K, V, SortedMap, WithDefault[K, V]]
Тракт SortedOps[K, WithDefault[K, V]]
Класс WithDefault[K, V]
Тракт Serializable
Класс AbstractMap[K, V]
Тракт Map[K, V]
Тракт MapOps[K, V, Map, WithDefault[K, V]]
Тракт Shrinkable[K]
Тракт Builder[(K, V), WithDefault[K, V]]
Тракт Growable[(K, V)]
Тракт Clearable
Тракт Cloneable[WithDefault[K, V]]
Тракт Cloneable
Тракт Iterable[(K, V)]
Класс AbstractMap[K, V]
Тракт Map[K, V]
Тракт Equals
Тракт MapFactoryDefaults[K, V, Map, Iterable]
Тракт MapOps[K, V, Map, WithDefault[K, V]]
Тракт PartialFunction[K, V]
Тракт K => V
Класс AbstractIterable[(K, V)]
Тракт Iterable[(K, V)]
Тракт IterableFactoryDefaults[(K, V), Iterable]
Тракт IterableOps[(K, V), Iterable, WithDefault[K, V]]
Тракт IterableOnceOps[(K, V), Iterable, WithDefault[K, V]]
Тракт IterableOnce[(K, V)]
Класс Object
Тракт Matchable
Класс Any

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

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

Классы определения WithDefault -> Growable

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

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

Исходный код
override def empty: WithDefault[K, V]

Классы определения SortedMapFactoryDefaults -> WithDefault -> MapFactoryDefaults -> IterableFactoryDefaults -> IterableOps

Исходный код
def iteratorFrom(start: K): Iterator[(K, V)]

Исходный код
def keysIteratorFrom(start: K): Iterator[K]

Исходный код
def rangeImpl(from: Option[K], until: Option[K]): WithDefault[K, V]

Исходный код
override def sortedMapFactory: SortedMapFactory[SortedMap]

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

Исходный код
override def subtractOne(elem: K): WithDefault[K, V]

Классы определения WithDefault -> Shrinkable

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

Исходный код@inline
final override 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)]): WithDefault[K, V]

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

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

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

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

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

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

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

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

Источник@inline
final def -=(elem: K): WithDefault[K, V]

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

Наследуется от Shrinkable

Источник
def addAll(xs: IterableOnce[(K, V)]): WithDefault[K, V]

Добавляет все элементы, полученные из IterableOnce, в это изменяемое множество.

Параметры
xs

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

Возвращает

само изменяемое множество.

Наследуется от Growable

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

Классы-предки MapOps -> IterableOnceOps
Наследуется от MapOps

Источник@inline
final def addString(b: StringBuilder): 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

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

Возвращает

StringBuilder b в который были добавлены элементы.

Наследуется от IterableOnceOps

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

Добавляет все элементы этого набора в 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

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

sep

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

Возвращает

StringBuilder 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

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

Классы-предки WithDefault -> MapOps -> Builder -> Clearable
Наследуется от WithDefault

Источник
override def clone(): WithDefault[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

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

Возвращает

значение option, содержащее результат применения 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

Источник
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

Source@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

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

Возвращаемое значение

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

Примечание

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

Унаследовано от 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
override def default(key: K): V

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

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

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

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

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

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

Значения параметров
n

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

Возвращаемое значение

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

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

Source
def dropWhile(p: (K, V) => Boolean): WithDefault[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 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): WithDefault[K, V]

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

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

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

Значения параметров
p

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

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

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

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

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

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

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

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

Значения параметров
p

предикат для проверки элементов.

Возвращаемое значение

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

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

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

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

Источник
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

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

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

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

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

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

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

Параметры
default

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

key

ключ.

Возвращаемое значение

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

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

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, WithDefault[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[WithDefault[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: WithDefault[K, V]

Часть коллекции без последнего элемента.

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

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

Source
def inits: Iterator[WithDefault[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
override def isEmpty: Boolean

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

Source
override def isTraversableAgain: Boolean

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

Исходный код
override def iterableFactory: IterableFactory[Iterable]

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

Исходный код
def iterator: Iterator[(K, V)]

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

Исходный код
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

Исходный код
override def knownSize: Int

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

Исходный код
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, WithDefault[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]

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

Source
def mapResult[NewTo](f: WithDefault[K, V] => NewTo): Builder[(K, V), NewTo]

A builder resulting from this builder my mapping the result using f.

Inherited from Builder

Source
def mapValuesInPlace(f: (K, V) => V): WithDefault[K, V]

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

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

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

Возвращает

сама карта.

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

Source
def max[B >: (K, V)](implicit ord: Ordering[B]): (K, V)

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Source
def maxBefore(key: K): Option[(K, V)]

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

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

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

Возвращает

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

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

Source
def maxBy[B](f: (K, V) => B)(implicit cmp: Ordering[B]): (K, V)

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Source
def maxByOption[B](f: (K, V) => B)(implicit cmp: Ordering[B]): Option[(K, V)]

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

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

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

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

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

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

f

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

Возвращает

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

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

Source
def maxOption[B >: (K, V)](implicit ord: Ordering[B]): Option[(K, V)]

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

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

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

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

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

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

Возвращаемое значение

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

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

Source
def min[B >: (K, V)](implicit ord: Ordering[B]): (K, V)

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

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

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

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

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

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

Возвращаемое значение

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

Исключения
UnsupportedOperationException

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

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

Source
def minAfter(key: K): Option[(K, V)]

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

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

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

Возвращаемое значение

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

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

Source
def minBy[B](f: (K, V) => B)(implicit cmp: Ordering[B]): (K, V)

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

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

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

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

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

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

f

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

Возвращаемое значение

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

Исключения
UnsupportedOperationException

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

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

Source
def minByOption[B](f: (K, V) => B)(implicit cmp: Ordering[B]): Option[(K, V)]

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

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

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

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

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

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

f

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

Возвращаемое значение

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

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

Source
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

Источник@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 partition(p: (K, V) => Boolean): (WithDefault[K, V], WithDefault[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): WithDefault[K, V]

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

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

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

until

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

Результат применения оператора сводки 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

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

Возвращает

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

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

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

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

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

ключ для удаления

Возвращает

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

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

Источник
def result(): WithDefault[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

Iterable, размер которой сравнивается с размером этой коллекции итерируемых объектов.

Возвращает

Значение 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

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

Параметры значения
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

Source
def slice(from: Int, until: Int): WithDefault[K, V]

Inherited from IterableOps

Source
def sliding(size: Int, step: Int): Iterator[WithDefault[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

Source
def sliding(size: Int): Iterator[WithDefault[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

Source
def span(p: (K, V) => Boolean): (WithDefault[K, V], WithDefault[K, V])

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

Source
override def splitAt(n: Int): (WithDefault[K, V], WithDefault[K, V])

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

Source
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

Source
def subtractAll(xs: IterableOnce[K]): WithDefault[K, V]

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

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

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

Возвращает

сама сжимаемая коллекция

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

Source
def sum[B >: (K, V)](implicit num: Numeric[B]): B

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

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

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

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

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

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

Возвращает

сумма всех элементов этой коллекции относительно оператора + в num.

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

Source
def tail: WithDefault[K, V]

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

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

Source
def tails: Iterator[WithDefault[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): WithDefault[K, V]

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

Source
def takeRight(n: Int): WithDefault[K, V]

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

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

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

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

Возвращает

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

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

Исходный код
def takeWhile(p: (K, V) => Boolean): WithDefault[K, V]

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

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

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

Предикат для проверки элементов.

Возвращает

самую длинную префиксную часть этого итерируемого набора, все элементы которой удовлетворяют предикату p.

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

Исходный код
override def tapEach[U](f: (K, V) => U): WithDefault[K, V]

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

Исходный код
def to[C1](factory: Factory[(K, V), C1]): C1

Используя фабрику наборов factory, преобразует этот набор в соответствующую форму для текущего типа элемента A. Примеры использования:

xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]

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

Исходный код
def toArray[B >: (K, V) : ClassTag]: Array[B]

Преобразовать набор в массив.

Примечание к реализации: НЕ вызывайте Array.from из этого метода.

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

Исходный код@inline
final def toBuffer[B >: (K, V)]: Buffer[B]

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

Исходный код
def toIndexedSeq: IndexedSeq[(K, V)]

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

Исходный код
def toList: List[(K, V)]

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

Исходный код
def toMap[K, V](implicit ev: (K, V) <:< (K, V)): Map[K, V]

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

Исходный код
def toSeq: Seq[(K, V)]

Возвращает

Этот набор в виде Seq[A]. Это эквивалентно to(Seq), но может быть быстрее.

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

Исходный код
def toSet[B >: (K, V)]: Set[B]

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

Исходный код
override def toString(): String

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

Исходный код
def toVector: Vector[(K, V)]

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

Исходный код
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

Исходный код
override def unsorted: Map[K, V]

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

Исходный код
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

Source
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

Source
def update(key: K, value: V): Unit

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

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

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

value

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

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

Source
def updateWith(key: K)(remappingFunction: Option[V] => Option[V]): Option[V]

Обновляет отображение для указанного ключа и его текущего, возможно, сопоставленного значения (Some если есть текущее отображение, None если нет).

Если функция переназначения возвращает Some(v), отображение обновляется с новым значением v. Если функция переназначения возвращает None, отображение удаляется (или остается отсутствующим, если изначально отсутствовало). Если сама функция вызывает исключение, исключение перебрасывается, а текущее отображение остается неизменным.

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

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

remappingFunction

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

Возвращает

новое значение, связанное с указанным ключом

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

Source
def valueStepper[S <: Stepper[_]](implicit shape: StepperShape[V, S]): S

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

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

Source
def values: Iterable[V]

Собирает все значения этого массива в итерируемой коллекции.

Возвращает

значения этого массива в виде итерируемого множества.

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

Source
def valuesIterator: Iterator[V]

Создает итератор для всех значений в этом массиве.

Возвращает

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

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

Source
def valuesIteratorFrom(start: K): Iterator[V]

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

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

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

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

Source
override def view: MapView[K, V]

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

Source
override def withDefault(d: K => V): SortedMap[K, V]

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

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

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

Возвращает

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

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

Source
override def withDefaultValue(d: V): SortedMap[K, V]

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

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

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

Возвращает

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

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

Source
override def withFilter(p: (K, V) => Boolean): WithFilter[K, V, Iterable, Map, SortedMap]

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

Source
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

Исходный код
def zipWithIndex: Iterable[((K, V), Int)]

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

Неявные параметры

Исходный код
implicit def ordering: Ordering[K]

© 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$$WithDefault.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API