Spec-Zone.ru › Scala 3.1

Класс scala.collection.immutable.TreeSeqMap

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

final class TreeSeqMap[K, +V] extends AbstractMap[K, V] with SeqMap[K, V] with MapOps[K, V, TreeSeqMap, TreeSeqMap[K, V]] with StrictOptimizedIterableOps[(K, V), Iterable, TreeSeqMap[K, V]] with StrictOptimizedMapOps[K, V, TreeSeqMap, TreeSeqMap[K, V]] with MapFactoryDefaults[K, V, TreeSeqMap, Iterable]

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

По умолчанию используется порядок вставки (TreeSeqMap.OrderBy.Insertion), но вместо этого можно использовать порядок модификации (TreeSeqMap.OrderBy.Modification), если это указано при создании.

Метод orderingBy(orderBy: TreeSeqMap.OrderBy): TreeSeqMap[K, V] может быть использован для переключения на указанный порядок для возвращаемой карты.

Ключ может быть вручную обновлён (т.е. помещён в конец) с помощью метода refresh(key: K): TreeSeqMap[K, V] (независимо от используемого порядка).

Внутренне счётчик порядкового номера увеличивается при каждой вставке/модификации, а затем текущий порядковый номер используется в качестве ключа в карте дерева. После 232 вставок/модификаций вся карта копируется (тем самым сбрасывая счётчик порядкового номера).

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

тип ключей, содержащихся в этой карте.

V

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

Надтипы
25 типов
Трейт StrictOptimizedMapOps[K, V, TreeSeqMap, TreeSeqMap[K, V]]
Трейт StrictOptimizedMapOps[K, V, TreeSeqMap, TreeSeqMap[K, V]]
Трейт StrictOptimizedIterableOps[(K, V), Iterable, TreeSeqMap[K, V]]
Трейт SeqMap[K, V]
Трейт SeqMap[K, V]
Класс AbstractMap[K, V]
Трейт Map[K, V]
Трейт MapOps[K, V, TreeSeqMap, TreeSeqMap[K, V]]
Трейт Iterable[(K, V)]
Класс AbstractMap[K, V]
Трейт Map[K, V]
Трейт Equals
Трейт MapFactoryDefaults[K, V, TreeSeqMap, Iterable]
Трейт MapOps[K, V, TreeSeqMap, TreeSeqMap[K, V]]
Трейт PartialFunction[K, V]
Трейт K => V
Класс AbstractIterable[(K, V)]
Трейт Iterable[(K, V)]
Трейт IterableFactoryDefaults[(K, V), Iterable]
Трейт IterableOps[(K, V), Iterable, TreeSeqMap[K, V]]
Трейт IterableOnceOps[(K, V), Iterable, TreeSeqMap[K, V]]
Трейт IterableOnce[(K, V)]
Класс Object
Трейт Matchable
Класс Any

Наследуемые классы

Исходный код
protected class ImmutableKeySet extends AbstractSet[K] with DefaultSerializable

Реализующий класс набора, возвращаемого методом keySet

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

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

Исходный код
override def collect[K2, V2](pf: PartialFunction[(K, V), (K2, V2)]): TreeSeqMap[K2, V2]

Определяющие классы StrictOptimizedMapOps -> MapOps

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

Определяющие классы StrictOptimizedMapOps -> StrictOptimizedMapOps -> MapOps

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

Определяющие классы MapOps

Исходный код
override def flatMap[K2, V2](f: (K, V) => IterableOnce[(K2, V2)]): TreeSeqMap[K2, V2]

Определяющие классы StrictOptimizedMapOps -> MapOps

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

Исходный код
override def head: (K, V)

Определяющие классы IterableOps

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

Определяющие классы IterableOps

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

Определяющие классы IterableOps

Исходный код
override def isEmpty: Boolean

Определяющие классы IterableOnceOps

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

Исходный код
override def keysIterator: Iterator[K]

Определяющие классы MapOps

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

Определяющие классы IterableOnce

Исходный код
override def last: (K, V)

Определяющие классы IterableOps

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

Определяющие классы IterableOps

Исходный код
override def map[K2, V2](f: (K, V) => (K2, V2)): TreeSeqMap[K2, V2]

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

Источник
override def mapFactory: MapFactory[TreeSeqMap]

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

Источник
def orderingBy(orderBy: OrderBy): TreeSeqMap[K, V]

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

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

Источник
override def slice(from: Int, until: Int): TreeSeqMap[K, V]

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

Источник
override def tail: TreeSeqMap[K, V]

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

Источник
def updated[V1 >: V](key: K, value: V1): TreeSeqMap[K, V1]

Источник
override def valuesIterator: Iterator[V]

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

Наследуемые методы

Источник
override def +[V1 >: V](kv: (K, V1)): TreeSeqMap[K, V1]

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

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

тип значения в паре ключ/значение.

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

пара ключ/значение.

Возвращает

Новая карта с добавленной новой связью в эту карту.

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

Источник@inline
final def ++[B >: (K, V)](suffix: IterableOnce[B]): Iterable[B]

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

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

Источник
def ++[V2 >: V](xs: IterableOnce[(K, V2)]): TreeSeqMap[K, V2]

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

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

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

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

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

Источник@inline
final override def --(keys: IterableOnce[K]): TreeSeqMap[K, V]

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

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

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

Добавляет все элементы этой коллекции в строку-построитель. Текст, который записывается, состоит из строковых представлений (с учётом метода toString) всех элементов этой коллекции без разделительной строки.

Пример:

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

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

scala> val h = a.addString(b)
h: StringBuilder = 1234
Параметры значения
b

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

Возвращает

строка-построитель b , в которую были добавлены элементы.

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

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

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

Пример:

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

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

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

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

sep

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

Возвращает

строка-построитель b , в которую были добавлены элементы.

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

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

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

Источник
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 collect[B](pf: PartialFunction[(K, V), B]): Iterable[B]

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

Источник
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 copyToArray[B >: (K, V)](xs: Array[B], start: Int, len: Int): Int

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

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

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

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

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

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

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

start

стартовый индекс xs.

xs

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

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

xs

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

Возвращает

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

Примечание

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

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

Исходный код@deprecatedOverriding("Это должно всегда передавать в 3-аргументную версию этого метода", since = "2.13.4")
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

Исходный код@throws(scala.throws.$lessinit$greater$default$1[scala.NoSuchElementException])
def default(key: K): V

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

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

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

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

Исходный код
def drop(n: Int): TreeSeqMap[K, V]

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

Исходный код
override def dropRight(n: Int): TreeSeqMap[K, V]

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

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

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

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

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

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

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

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

Исходный код
override def equals(o: 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 если две карты равны в соответствии с описанием

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

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

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

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

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

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

Возвращает

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

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

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

Definition Classes StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Inherited from StrictOptimizedIterableOps

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

Definition Classes StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Inherited from StrictOptimizedIterableOps

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

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

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

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

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

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

Возвращает

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

Inherited from IterableOnceOps

Source
override def flatMap[B](f: (K, V) => IterableOnce[B]): Iterable[B]

Definition Classes StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Inherited from StrictOptimizedIterableOps

Source
override def flatten[B](implicit toIterableOnce: (K, V) => IterableOnce[B]): Iterable[B]

Definition Classes StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Inherited from StrictOptimizedIterableOps

Source
def fold[A1 >: (K, V)](z: A1)(op: (A1, A1) => A1): A1

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

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

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

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

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

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

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

z

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

Возвращает

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

Inherited from IterableOnceOps

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

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

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

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

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

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

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

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

key

ключ.

Возвращает

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

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

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

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

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

Тип параметров
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, 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

Источник
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[TreeSeqMap[K, V]]

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

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

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

Возвращает

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

См. также

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

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

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

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

Источник
def inits: Iterator[TreeSeqMap[K, V]]

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

ключи этого отображения в виде итерируемой коллекции.

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

Источник
def lazyZip[B](that: Iterable[B]): LazyZip2[(K, V), B, TreeSeqMap[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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

class="attributes">
Параметры типа
B

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

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

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

Возвращает

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

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

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

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

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

class="attributes">
Параметры типа
B

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

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

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

Возвращает

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

Исключение
UnsupportedOperationException

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

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

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

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

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

class="attributes">
Параметры типа
B

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

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

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

f

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

Возвращает

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

Исключение
UnsupportedOperationException

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

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

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

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

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

class="attributes">
Параметры типа
B

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

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

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

f

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

Возвращает

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

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

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

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

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

class="attributes">
Параметры типа
B

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

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

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

Возвращает

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

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

Source@inline
final def mkString: String

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

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

Возвращает

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

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

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

Source
override protected def newSpecificBuilder: Builder[(K, V), TreeSeqMap[K, V]]

Определения классов MapFactoryDefaults -> IterableOps
Унаследовано от MapFactoryDefaults

Source@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
def nonEmpty: Boolean

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

Возвращает

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

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

Source
def orElse[A1 <: K, B1 >: V](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]

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

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

тип аргумента резервной функции

B1

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

Параметры
that

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

Возвращает

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

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

Source
override def partition(p: (K, V) => Boolean): (TreeSeqMap[K, V], TreeSeqMap[K, V])

Определения классов StrictOptimizedIterableOps -> IterableOps
Унаследовано от StrictOptimizedIterableOps

Source
override def partitionMap[A1, A2](f: (K, V) => Either[A1, A2]): (Iterable[A1], Iterable[A2])

Определения классов StrictOptimizedIterableOps -> IterableOps
Унаследовано от StrictOptimizedIterableOps

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

Перемножает элементы этой коллекции.

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

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

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

Параметры
num

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

Возвращает

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

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

Source
def reduce[B >: (K, V)](op: (B, B) => B): B

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

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

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

тип параметра бинарного оператора, являющийся надтипом A.

Параметры
op

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Source
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

Source
def reduceLeftOption[B >: (K, V)](op: (B, (K, V)) => B): Option[B]

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

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

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

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

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

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

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

Возвращает

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

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

Source
def reduceOption[B >: (K, V)](op: (B, B) => B): Option[B]

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

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

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

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

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

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

Возвращает

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

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

Source
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

Source
def reduceRightOption[B >: (K, V)](op: ((K, V), B) => B): Option[B]

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

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

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

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

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

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

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

Возвращает

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

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

Source
def removedAll(keys: IterableOnce[K]): TreeSeqMap[K, V]

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

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

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

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

Возвращает

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

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

Source
protected def reversed: Iterable[(K, V)]

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

Source
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

Source
def scan[B >: (K, V)](z: B)(op: (B, B) => B): Iterable[B]

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

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

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

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

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

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

z

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

Возвращает

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

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

Source
override def scanLeft[B](z: B)(op: (B, (K, V)) => B): Iterable[B]

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

Source
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

Source
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

Источник@inline
final def sizeIs: SizeCompareOps

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

Эти операции реализованы в терминах sizeCompare(Int) и позволяют использовать следующие более читаемые выражения:

this.sizeIs < size     // this.sizeCompare(size) < 0
this.sizeIs <= size    // this.sizeCompare(size) <= 0
this.sizeIs == size    // this.sizeCompare(size) == 0
this.sizeIs != size    // this.sizeCompare(size) != 0
this.sizeIs >= size    // this.sizeCompare(size) >= 0
this.sizeIs > size     // this.sizeCompare(size) > 0
Унаследовано от IterableOps

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

Группирует элементы в блоки фиксированного размера, передавая «скользящее окно» по ним (в отличие от разбиения их, как это делается в grouped.)

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

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

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

step

расстояние между первыми элементами последовательных групп

Возвращает

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

См. также

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

Пример

List(1, 2, 3, 4, 5).sliding(2, 2) = Iterator(List(1, 2), List(3, 4), List(5))

List(1, 2, 3, 4, 5, 6).sliding(2, 3) = Iterator(List(1, 2), List(4, 5))

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

Источник
def sliding(size: Int): Iterator[TreeSeqMap[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

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

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

Источник
override def splitAt(n: Int): (TreeSeqMap[K, V], TreeSeqMap[K, V])

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

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

Возвращает scala.collection.Stepper для элементов этого набора.

Stepper позволяет создавать поток Java для работы с набором, см. scala.jdk.StreamConverters. Для наборов, содержащих примитивные значения, Stepper может использоваться как итератор, который не упаковывает элементы.

Неявный параметр scala.collection.StepperShape определяет тип возвращаемого Stepper в соответствии с типом элементов этого набора.

  • Для наборов, содержащих Int, Short, Byte или Char, возвращается scala.collection.IntStepper

  • Для наборов, содержащих Double или Float, возвращается scala.collection.DoubleStepper

  • Для наборов, содержащих Long, возвращается scala.collection.LongStepper

  • Для любого другого типа элементов возвращается scala.collection.AnyStepper

Обратите внимание, что этот метод переопределяется в подклассах, и тип возврата уточняется до S with EfficientSplit, например scala.collection.IndexedSeqOps.stepper. Для Stepper, отмеченных scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Stepper могут быть преобразованы только в последовательные потоки.

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

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

Вычисляет сумму элементов этого набора.

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

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

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

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

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

Возвращает

сумма всех элементов этого набора относительно оператора + в num.

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

Источник
def tails: Iterator[TreeSeqMap[K, V]]

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

Возвращает

итератор по всем хвостам этого итерируемого набора

Пример

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

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

Source
def take(n: Int): TreeSeqMap[K, V]

Inherited from IterableOps

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

Коллекция, содержащая последние n элементы этой коллекции.

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

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

Source
def takeWhile(p: (K, V) => Boolean): TreeSeqMap[K, V]

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

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

Value parameters
p

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

Returns

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

Inherited from IterableOps

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

Definition Classes StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Inherited from StrictOptimizedIterableOps

Source
def to[C1](factory: Factory[(K, V), C1]): C1

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

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

Inherited from IterableOnceOps

Source
def toArray[B >: (K, V) : ClassTag]: Array[B]

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

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

Inherited from IterableOnceOps

Source@inline
final def toBuffer[B >: (K, V)]: Buffer[B]

Inherited from IterableOnceOps

Source
def toIndexedSeq: IndexedSeq[(K, V)]

Inherited from IterableOnceOps

Source
def toList: List[(K, V)]

Inherited from IterableOnceOps

Source
final override def toMap[K2, V2](implicit ev: (K, V) <:< (K2, V2)): Map[K2, V2]

Definition Classes Map -> IterableOnceOps
Inherited from Map

Source
def toSeq: Seq[(K, V)]

Returns

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

Inherited from IterableOnceOps

Source
def toSet[B >: (K, V)]: Set[B]

Inherited from IterableOnceOps

Source
override def toString(): String

Definition Classes Map -> Function1 -> Iterable -> Any
Inherited from Map

Source
def toVector: Vector[(K, V)]

Inherited from IterableOnceOps

Source
def transform[W](f: (K, V) => W): TreeSeqMap[K, W]

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

Value parameters
f

Функция над ключами и значениями

Returns

обновленное отображение

Inherited from MapOps

Source
def transpose[B](implicit asIterable: (K, V) => Iterable[B]): Iterable[Iterable[B]]

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

Тип результирующей коллекции будет определяться статическим типом итерируемой коллекции. Например:

val xs = List(
           Set(1, 2, 3),
           Set(4, 5, 6)).transpose
// xs == List(
//         List(1, 4),
//         List(2, 5),
//         List(3, 6))

val ys = Vector(
           List(1, 2, 3),
           List(4, 5, 6)).transpose
// ys == Vector(
//         Vector(1, 4),
//         Vector(2, 5),
//         Vector(3, 6))

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

Type parameters
B

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

Value parameters
asIterable

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

Returns

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

Throws
IllegalArgumentException

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

Inherited from IterableOps

Source
def unapply(a: K): Option[V]

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

Inherited from PartialFunction

Source
override def unzip[A1, A2](implicit asPair: (K, V) => (A1, A2)): (Iterable[A1], Iterable[A2])

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

Source
override def unzip3[A1, A2, A3](implicit asTriple: (K, V) => (A1, A2, A3)): (Iterable[A1], Iterable[A2], Iterable[A3])

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

Source
def updatedWith[V1 >: V](key: K)(remappingFunction: Option[V] => Option[V1]): TreeSeqMap[K, V1]

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

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

Value parameters
key

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

remappingFunction

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

Returns

Новый map с обновлённым отображением с ключом

Inherited from MapOps

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

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

Inherited from MapOps

Source
def values: Iterable[V]

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

Returns

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

Inherited from MapOps

Source
override def view: MapView[K, V]

Definition Classes MapOps -> IterableOps
Inherited from MapOps

Source
def withDefault[V1 >: V](d: K => V1): Map[K, V1]

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

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

Value parameters
d

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

Returns

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

Inherited from Map

Source
def withDefaultValue[V1 >: V](d: V1): Map[K, V1]

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

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

Value parameters
d

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

Returns

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

Inherited from Map

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

Definition Classes MapFactoryDefaults -> IterableOps
Inherited from MapFactoryDefaults

Source
override def zip[B](that: IterableOnce[B]): Iterable[((K, V), B)]

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

Source
def zipAll[A1 >: (K, V), B](that: Iterable[B], thisElem: A1, thatElem: B): Iterable[(A1, B)]

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

Value parameters
that

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

thatElem

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

thisElem

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

Returns

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

Inherited from IterableOps

Source
override def zipWithIndex: Iterable[((K, V), Int)]

Definition Classes StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Inherited from StrictOptimizedIterableOps

Concrete fields

Source
val orderedBy: OrderBy

Source
override val size: Int

© 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/immutable/TreeSeqMap.html

Spec-Zone.ru

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