Spec-Zone.ru › Scala 3.2

Тракт SortedMap.SortedMap

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

тракт SortedMap[K, V] extends SortedMap[K, V] с Map[K, V] с SortedMapOps[K, V, SortedMap, SortedMap[K, V]] с SortedMapFactoryDefaults[K, V, SortedMap, Iterable, 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]

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

Примечание

При реализации пользовательского типа коллекции и уточнении CC до нового типа, этот метод необходимо переопределить, чтобы вернуть фабрику для нового типа (в противном случае компилятор выдаст ошибку).

Классы определений 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

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

Исходный код
окончательный переопределённый def ++[V2 >: V](xs: IterableOnce[(K, V2)]): CC[K, V2]

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

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

Исходный код
окончательный def ++[B >: (K, V)](suffix: IterableOnce[B]): CC[B]

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

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

Исходный код
окончательный def ++=(xs: IterableOnce[(K, V)]): Growable.this.type

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

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

Исходный код
окончательный def +=(elem: (K, V)): Growable.this.type

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

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

Исходный код
окончательный def --=(xs: IterableOnce[K]): Shrinkable.this.type

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

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

Исходный код
окончательный def -=(elem: K): Shrinkable.this.type

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

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

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

Добавляет все элементы, сгенерированные IterableOnce, в эту изменяемую коллекцию.

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

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

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

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

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

Исходный код
def addOne(elem: (K, V)): Growable.this.type

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

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

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

Возвращает

сам изменяемый коллектор

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

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

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

Пример:

scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)

scala> val b = new StringBuilder()
b: StringBuilder =

scala> a.addString(b , "List(" , ", " , ")")
res5: StringBuilder = List(1, 2, 3, 4)
Параметры значения
b

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

end

строка завершения.

sep

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

start

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

Возвращает

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

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

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

Источник
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[A, C]

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Определяющие классы PartialFunction -> Function1
Унаследовано от PartialFunction

Исходный код
def apply(key: K): V

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

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

ключ

Возвращает

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

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

Исходный код
override def applyOrElse[K1 <: K, V1 >: V](x: K1, default: K1 => V1): V1

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

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

if(pf isDefinedAt x) pf(x) else default(x)

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

- объединение частичных функций в цепочки orElse/andThen не приводит к чрезмерной оценке apply/isDefinedAt - lift и unlift не оценивают исходные функции дважды при каждом вызове - runWith позволяет эффективно комбинировать частичные функции императивного стиля с условно применяемыми действиями

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

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

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

x

аргумент функции

Возвращает

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

Определяющие классы MapOps -> PartialFunction
Унаследовано от MapOps

Исходный код
def canEqual(that: Any): Boolean

Метод, который должен вызываться из каждой хорошо спроектированной функции equals, которая может быть переопределена в подклассе. См. Programming in Scala, Глава 28 для обсуждения и проектирования.

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

значение, проверяемое на возможное равенство

Возвращает

true, если эта сущность может быть равна that, иначе false

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

Исходный код
def clear(): Unit

Очищает содержимое этого билдера. После выполнения этого метода билдер не будет содержать элементов.

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

Source
override def clone(): C

Создаёт копию объекта-приёмника.

Реализация метода clone по умолчанию зависит от платформы.

Возвращает

копию объекта-приёмника.

Примечание

не определён в SLS как член AnyRef

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

Source
def collect[K2, V2](pf: PartialFunction[(K, V), (K2, V2)]): CC[K2, V2]

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

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

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

V2

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

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

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

Возвращает

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

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

Source
def collect[B](pf: PartialFunction[(K, V), B]): CC[B]

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

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

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

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

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

Возвращает

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

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

Source
def collect[K2, V2](pf: PartialFunction[(K, V), (K2, V2)])(implicit ordering: Ordering[K2]): CC[K2, V2]

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

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

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

Возвращает

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

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

Source
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

Source
def compose[R](k: PartialFunction[R, K]): PartialFunction[R, B]

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

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

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

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

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

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

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

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

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

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

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

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

тип, к которому может быть применена функция g

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

функция A => T1

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

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

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

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

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

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

сборник для добавления.

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

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

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

Исходный код
def concat[B >: (K, V)](suffix: IterableOnce[B]): CC[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

Источник
def copyToArray[B >: (K, V)](xs: Array[B], start: Int): Int

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

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

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

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

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

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

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

xs

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

Возвращает

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

Примечание

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

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

Источник
def copyToArray[B >: (K, V)](xs: Array[B]): Int

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник
def default(key: K): V

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

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

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

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

Source
def drop(n: Int): C

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

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

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

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

Возвращает

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

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

Source
def dropRight(n: Int): C

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Source
def elementWise: ElementWiseExtractor[A, B]

Возвращает объект-экстрактор с методом unapplySeq, который извлекает каждый элемент данных последовательности.

Пример
val firstChar: String => Option[Char] = _.headOption
Seq("foo", "bar", "baz") match {
  case firstChar.unlift.elementWise(c0, c1, c2) =>
    println(s"$c0, $c1, $c2") // Output: f, b, b
}
Унаследовано от PartialFunction

Source
override def empty: CC[K, V]

Пустая итерируемая коллекция того же типа, что и эта итерируемая коллекция

Возвращает

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

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

Source
override def equals(that: Any): Boolean

Равенство карт реализовано с помощью метода поиска get. Этот метод возвращает true если

  • аргумент o является Map,

  • у двух карт одинаковый размер, и

  • для каждой пары (key, value) в этой карте, other.get(key) == Some(value).

Реализация equals проверяет метод canEqual, поэтому подклассы Map могут сузить равенство до конкретных типов карт. Реализации Map в стандартной библиотеке могут все сравниваться, их методы canEqual возвращают true.

Примечание: метод equals соблюдает законы равенства (симметрия, транзитивность) только если две карты используют одну и ту же функцию эквивалентности ключей в операции поиска. Например, операция эквивалентности ключей в scala.collection.immutable.TreeMap определяется её упорядочением. Сравнение TreeMap с HashMap приводит к неожиданным результатам, если ordering.equiv(k1, k2) (используемая для поиска в TreeMap ) отличается от k1 == k2 (используемая для поиска в HashMap).

scala> import scala.collection.immutable._
scala> val ord: Ordering[String] = _ compareToIgnoreCase _

scala> TreeMap("A" -> 1)(ord) == HashMap("a" -> 1)
val res0: Boolean = false

scala> HashMap("a" -> 1) == TreeMap("A" -> 1)(ord)
val res1: Boolean = true
Параметры значения
o

Карта, с которой сравнивается эта карта

Возвращает

true , если две карты равны в соответствии с описанием

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

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

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

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

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

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

Возвращает

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

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

Источник
def filter(pred: ((K, V)) => Boolean): C

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

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

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

Возвращает

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

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

Источник
def filterInPlace(p: (K, V) => Boolean): MapOps.this.type

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

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

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

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

Источник
def filterNot(pred: ((K, V)) => Boolean): C

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

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

Возвращает первый ключ набора.

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

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

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

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

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

Возвращает

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

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

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

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

Например:

def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")

Тип результирующего набора определяется статическим типом итерируемого набора. Это иногда может привести к неожиданным результатам. Например:

// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)

// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap ((word: String) => word.toSeq)

// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)

// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
Параметры типа
B

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

Преобразует этот итерируемый набор коллекций перебора в итерируемый набор, образованный элементами этих коллекций перебора.

Тип результирующего набора определяется типом итерируемого набора. Например:

val xs = List(
           Set(1, 2, 3),
           Set(1, 2, 3)
         ).flatten
// xs == List(1, 2, 3, 1, 2, 3)

val ys = Set(
           List(1, 2, 3),
           List(3, 2, 1)
         ).flatten
// ys == Set(1, 2, 3)
Параметры типа
B

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

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

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

Возвращает

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

Унаследовано от 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)]): CC[K, V]

Определяет, как преобразовать заданную Iterable[A] в коллекцию типа C.

Этот процесс может быть выполнен строго или нестрого (то есть без оценки элементов результирующих коллекций). Другими словами, этот метод определяет модель оценки коллекции.

Примечание

При реализации пользовательского типа коллекции и уточнении C до нового типа, этот метод необходимо переопределить (иначе компилятор выдаст ошибку). В общем случае, где C =:= CC[A], это можно сделать, смешав в себе scala.collection.IterableFactoryDefaults , который реализует метод с помощью iterableFactory.

Как видно из аннотации @uncheckedVariance, использование этого метода может быть небезопасным. Однако, до тех пор, пока он вызывается с Iterable[A] , полученным от this коллекции (как это происходит в реализациях операций, где мы используем View[A] ), он безопасен.

Классы определения 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

Источник
def getOrElseUpdate(key: K, op: => V): V

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

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

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

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

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

op

вычисление, возвращающее значение, которое нужно связать с key, если key ранее не был связан.

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

Словарь, отображающий ключи на итерируемые коллекции, удовлетворяющие следующему инварианту:

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

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

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

Источник
def groupMap[K, B](key: ((K, V)) => K)(f: ((K, V)) => B): Map[K, CC[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

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

Источник
def grouped(size: Int): Iterator[C]

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

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

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

Возвращает

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

См. также

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

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

Источник
override def hashCode(): Int

Вычисляет значение хэш-кода для объекта.

Алгоритм хэширования по умолчанию зависит от платформы.

Обратите внимание, что разрешается, чтобы у двух объектов были идентичные хэш-коды (o1.hashCode.equals(o2.hashCode)), но они при этом могут не быть равны (o1.equals(o2) возвращает false). Вырожденная реализация могла бы всегда возвращать 0. Однако, требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true), то у них были идентичные хэш-коды (o1.hashCode.equals(o2.hashCode)). Поэтому при переопределении этого метода необходимо убедиться, что поведение согласуется с методом equals.

Возвращает

значение хэш-кода для этого объекта.

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

Источник
def head: A

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

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

Возвращает

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

Исключения
NoSuchElementException

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

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

Источник
def headOption: Option[A]

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

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

Возвращает

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

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

Источник
def init: C

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

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

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

Источник
def inits: Iterator[C]

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

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

Возвращает

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

Пример

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

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

Источник
def isDefinedAt(key: K): Boolean

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

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

ключ

Возвращает

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

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

Источник
def isEmpty: Boolean

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

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

Возвращает

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

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

Источник
override def isTraversableAgain: Boolean

Проверяет, может ли эта итерируемая коллекция быть многократно пройдена. Всегда истинно для Iterables и ложно для Iterators, если не переопределено.

Возвращает

true если она многократно проходима, false в противном случае.

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

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

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

Примечание

При реализации пользовательского типа коллекции и уточнении CC до нового типа, этот метод необходимо переопределить, чтобы вернуть фабрику для нового типа (в противном случае компилятор выдаст ошибку).

Определяющие классы Iterable -> Iterable -> IterableOps
Унаследовано от Iterable

Источник
def iterator: Итератор[A]

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

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

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

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

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

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

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

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

Собирает все ключи этого map в множество.

Возвращает

множество, содержащее все ключи этого map.

Определяющие классы SortedMapOps -> MapOps
Унаследовано от SortedMapOps

Источник
def keyStepper[S <: Шаговый[_]](implicit shape: StepperShape[K, S]): S

Возвращает Шаговый объект для ключей этого map. См. метод stepper.

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

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

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

Возвращает

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

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

Источник
def keysIterator: Итератор[K]

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

Возвращает

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

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

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

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

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

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

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

Источник
override def knownSize: Целое число

Возвращает

Количество элементов в коллекции, если оно может быть вычислено без больших затрат, -1 в противном случае. По умолчанию всегда возвращает -1.

Определяющие классы MapOps -> Growable -> IterableOnce
Унаследовано от MapOps

Источник
def last: A

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

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

Возвращает

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

Исключения
NoSuchElementException

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

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

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

Возвращает последний ключ коллекции.

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

Источник
def lastOption: Вариант[A]

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

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

Возвращает

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

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

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

Аналогично 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: A => Вариант[B]

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

Возвращает

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

См. также

Function.unlift

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

Source
def map[K2, V2](f: ((K, V)) => (K2, V2))(implicit ordering: Ordering[K2]): CC[K2, V2]

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

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

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

Возвращает

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

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

Source
override def mapFactory: MapFactory[Map]

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

Примечание

При реализации пользовательского типа коллекции и уточнении CC до нового типа, этот метод должен быть переопределен для возврата фабрики для нового типа (иначе компилятор выдаст ошибку).

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

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

Би́лдэр, полученный из этого би́лдэра путём отображения результата с помощью f.

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

Source
def mapValuesInPlace(f: (K, V) => V): MapOps.this.type

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

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

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

Возвращает

сам массив.

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

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

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

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

Параметры типа
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]): A

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

Параметры типа
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]): A

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Source
final def mkString: String

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

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

Возвращает

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

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

Source
final def mkString(sep: String): String

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

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

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

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

Возвращает

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

Пример

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

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

Source
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), CC[K, V]]

Возвращает

строгий билдер для того же типа коллекции. Обратите внимание, что в случае ленивых коллекций (например, scala.collection.View или scala.collection.immutable.LazyList) этот метод можно реализовать, но полученный Builder нарушит ленивость. Вследствие этого операции предпочтительно реализовывать с помощью fromSpecific вместо этого метода.

Примечание

При реализации пользовательского типа коллекции и уточнении C до нового типа, этот метод необходимо переопределить (в противном случае компилятор выдаст ошибку). В общем случае, где C =:= CC[A], это можно сделать, смешав в scala.collection.IterableFactoryDefaults интерфейс, который реализует метод с использованием iterableFactory.

Как видно из аннотации @uncheckedVariance, использование этого метода может быть небезопасным. Однако, до тех пор, пока возвращаемый билдер будет получать только значения A, взятые из this экземпляра, он безопасен.

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

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

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

Исходный код
def partition(p: ((K, V)) => Boolean): (C, C)

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

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

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

Исходный код
def partitionMap[A1, A2](f: ((K, V)) => Either[A1, A2]): (CC[A1], CC[A2])

Применяет функцию f к каждому элементу итерабельной коллекции и возвращает пару итерабельных коллекций: первую из тех значений, которые возвращались f и были обернуты в scala.util.Left, и вторую — тех, что были обернуты в scala.util.Right.

Пример:

val xs = Iterable(1, "one", 2, "two", 3, "three") partitionMap {
 case i: Int => Left(i)
 case s: String => Right(s)
}
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three))
Параметры типа
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

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

Возвращает

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

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

Источник
def range(from: K, until: K): C

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

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

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

until

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

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

Источник
def rangeFrom(from: K): C

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

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

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

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

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

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

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

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

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

until

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

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

Источник
def rangeTo(to: K): C

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

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

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

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

Источник
def rangeUntil(until: K): C

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

Значение типа Option, содержащее результат применения оператора reduce к всем элементам, если коллекция не пуста, и 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]

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

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

Ключ для удаления.

Возвращает

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

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

Исходный код
def result(): C

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

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

Исходный код
protected def reversed: Iterable[A]

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

Исходный код
def runWith[U](action: V => U): A => 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): CC[B]

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

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

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

Тип элементов результирующей коллекции.

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

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

z

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

Возвращает

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

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

Исходный код
def scanLeft[B](z: B)(op: (B, (K, V)) => B): CC[B]

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

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

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

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

Тип элементов в результирующей коллекции.

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

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

z

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

Возвращает

Коллекция с промежуточными результатами.

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

Исходный код
def scanRight[B](z: B)(op: ((K, V), B) => B): CC[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

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

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

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

delta

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

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

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

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

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

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

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

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

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

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

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

size

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

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

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

Выбирает интервал элементов. Возвращаемый итерируемый набор состоит из всех элементов x, которые удовлетворяют условию:

from <= indexOf(x) < until

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

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

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

until

наименьший индекс для ИСКЛЮЧЕНИЯ из этого итерируемого набора.

Возвращает

итерируемый набор, содержащий элементы, большие или равные индексу from, простирающийся до (но не включая) индекс until этого итерируемого набора.

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

Источник
def sliding(size: Int, step: Int): Iterator[C]

Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» над ними (в отличие от разбиения, как в 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[C]

Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» над ними (в отличие от разбиения, как в 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): (C, C)

Разделяет этот итерируемый набор на пару префикс/суффикс в соответствии с предикатом.

Примечание: c span p эквивалентно (но возможно более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.

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

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

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

Возвращает

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

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

Source
override def splitAt(n: Int): (C, C)

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

Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).

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

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

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

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

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

Классы определений 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]): Shrinkable.this.type

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

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

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

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

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

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

Source
def subtractOne(elem: K): Shrinkable.this.type

Удаляет один элемент из этой сжимаемой коллекции.

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

элемент для удаления.

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

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

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

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

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

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

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

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

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

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

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

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

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

Source
def tail: C

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

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

Source
def tails: Iterator[C]

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

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

итератор по всем хвостам этой итерируемой коллекции

Пример

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

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

Source
def take(n: Int): C

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

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

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

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

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

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

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

Source
def takeRight(n: Int): C

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Source
override def tapEach[U](f: ((K, V)) => U): C

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

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

тип возвращаемого значения f

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

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

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

такая же логическая коллекция, как и эта

Классы определений 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

Источник
def toArray[B >: (K, V) : ClassTag]: Array[B]

Преобразовать коллекцию в массив.

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

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

Источник
final def toBuffer[B >: (K, V)]: Buffer[B]

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

Источник
def toIndexedSeq: IndexedSeq[A]

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

Источник
def toList: List[A]

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

Источник
def toMap[K, V](implicit ev: (K, V) <:< (K, V)): Map[K, V]

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

Источник
def toSeq: Seq[A]

Возвращает

Эту коллекцию в виде 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[A]

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

Источник
def transpose[B](implicit asIterable: ((K, V)) => Iterable[B]): CC[CC[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[B]

Пытается извлечь B из A в выражении сопоставления с образцом.

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

Источник
def unzip[A1, A2](implicit asPair: ((K, V)) => (A1, A2)): (CC[A1], CC[A2])

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

val xs = Iterable(
           (1, "one"),
           (2, "two"),
           (3, "three")).unzip
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three))
Параметры типа
A1

тип первой половины элементов пар

A2

тип второй половины элементов пар

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

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

Возвращает

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

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

Источник
def unzip3[A1, A2, A3](implicit asTriple: ((K, V)) => (A1, A2, A3)): (CC[A1], CC[A2], CC[A3])

Преобразует эту итерируемую коллекцию троек в три коллекции первого, второго и третьего элемента каждой тройки.

val xs = Iterable(
           (1, "one", '1'),
           (2, "two", '2'),
           (3, "three", '3')).unzip3
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three),
//        Iterable(1, 2, 3))
Параметры типа
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, WithFilterCC, UnsortedCC, CC]

Создаёт нестрогий фильтр этого отображения.

Примечание: различие между c filter p и c withFilter p заключается в том, что первый создаёт новую коллекцию, а второй только ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.

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

Параметры
p

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

Возвращает

объект класса WithFilter, который поддерживает map, flatMap, foreach, и withFilter операции. Все эти операции применяются к тем элементам этого отображения, которые удовлетворяют предикату p.

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

Источник
def zip[B](that: IterableOnce[B]): CC[(A, B)]

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

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

тип второй половины возвращаемых пар

Параметры
that

Итерируемый объект, предоставляющий вторую половину каждой пары результата

Возвращает

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

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

Источник
def zipAll[A1 >: (K, V), B](that: Iterable[B], thisElem: A1, thatElem: B): CC[(A1, B)]

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

Параметры
that

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

thatElem

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

thisElem

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

Возвращает

новая коллекция типа That, содержащая пары, состоящие из соответствующих элементов этой итерируемой коллекции и that. Длина возвращаемой коллекции равна максимальному из длин этой итерируемой коллекции и that. Если эта итерируемая коллекция короче that, для заполнения результата используются значения thisElem. Если that короче этой итерируемой коллекции, для заполнения результата используются значения thatElem.

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

Источник
def zipWithIndex: CC[(A, Int)]

Объединяет эту итерируемую коллекцию со своими индексами.

Возвращает

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

Пример

List("a", "b", "c").zipWithIndex == List(("a", 0), ("b", 1), ("c", 2))

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

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/collection/mutable/SortedMap.html

Spec-Zone.ru

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