Класс 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 вставок/модификаций вся карта копируется (тем самым сбрасывая счётчик порядкового номера).
| Параметры типа |
|
|---|---|
| Надтипы | 25 типов |
Наследуемые классы
Исходный код
Реализующий класс набора, возвращаемого методом keySet
| Наследуется от | MapOps |
|---|
Конкретные методы
Исходный код
| Определяющие классы | StrictOptimizedMapOps -> MapOps |
|---|
Исходный код
| Определяющие классы | StrictOptimizedMapOps -> StrictOptimizedMapOps -> MapOps |
|---|
Исходный код
| Определяющие классы | MapOps |
|---|
Исходный код
| Определяющие классы | StrictOptimizedMapOps -> MapOps |
|---|
Исходный код
Исходный код
override def head: (K, V)
| Определяющие классы | IterableOps |
|---|
Исходный код
override def headOption: Option[(K, V)]
| Определяющие классы | IterableOps |
|---|
Исходный код
override def init: TreeSeqMap[K, V]
| Определяющие классы | IterableOps |
|---|
Исходный код
| Определяющие классы | IterableOnceOps |
|---|
Исходный код
Исходный код
override def keysIterator: Iterator[K]
| Определяющие классы | MapOps |
|---|
Исходный код
| Определяющие классы | 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 |
|---|
Источник
| Классы-определения | SeqMap -> SeqMap -> Map -> Map -> MapOps |
|---|
Источник
Источник
def refresh(key: K): TreeSeqMap[K, V]
Источник
def removed(key: K): 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
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Новая карта с добавленной новой связью в эту карту. |
| Классы-определения | MapOps -> MapOps |
| Наследуется от | MapOps |
Источник@inline
Псевдоним для concat
| Наследуется от | IterableOps |
|---|
Источник
Псевдоним для concat
| Наследуется от | MapOps |
|---|
Источник@inline
final def -(key: K): TreeSeqMap[K, V]
Псевдоним для removed
| Наследуется от | MapOps |
|---|
Источник@inline
Псевдоним для removedAll
| Классы-определения | MapOps -> MapOps |
|---|---|
| Наследуется от | MapOps |
Источник@inline
Добавляет все элементы этой коллекции в строку-построитель. Текст, который записывается, состоит из строковых представлений (с учётом метода 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
| Параметры значения |
|
|---|---|
| Возвращает | строка-построитель |
| Наследуется от | IterableOnceOps |
Источник@inline
Добавляет все элементы этой коллекции в строку-построитель, используя разделительную строку. Записываемый текст состоит из строковых представлений (с учётом метода toString) всех элементов этой коллекции, разделенных строкой sep.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> a.addString(b, ", ") res0: StringBuilder = 1, 2, 3, 4
| Параметры значения |
|
|---|---|
| Возвращает | строка-построитель |
| Наследуется от | IterableOnceOps |
Источник
| Классы-определения | MapOps -> IterableOnceOps |
|---|---|
| Наследуется от | MapOps |
Источник
Компонует эту частичную функцию с другой частичной функцией, которая применяется к результатам этой частичной функции.
Обратите внимание, что вызов isDefinedAt для полученной частичной функции может применить первую частичную функцию и выполнить её побочный эффект. Для повышения эффективности рекомендуется вызывать applyOrElse вместо isDefinedAt или apply.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения этой частичной функции, суженной другой частичной функцией, которая отображает аргументы |
| Наследуется от | PartialFunction |
Источник
override def andThen[C](k: V => C): PartialFunction[K, C]
Компонует эту частичную функцию с функцией преобразования, которая применяется к результатам этой частичной функции.
Если тип выполнения функции — PartialFunction, то используется другой метод andThen (обратите внимание на его предостережения).
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения этой частичной функции, возможно суженной заданной функцией, которая отображает аргументы |
| Определяющие классы | PartialFunction -> Function1 |
| Унаследовано от | PartialFunction |
Источник@throws(scala.throws.$lessinit$greater$default$1[scala.NoSuchElementException])
def apply(key: K): V
Возвращает значение, связанное с заданным ключом. Этот метод вызывает метод default карты, если нет отображения заданного ключа на значение. Если не переопределено, метод default генерирует исключение NoSuchElementException.
| Параметры значения |
|
|---|---|
| Возвращает | значение, связанное с заданным ключом, или результат метода |
| Унаследовано от | MapOps |
Источник
override def applyOrElse[K1 <: K, V1 >: V](x: K1, default: K1 => V1): V1
| Определяющие классы | MapOps -> PartialFunction |
|---|---|
| Унаследовано от | MapOps |
Источник
| Унаследовано от | Map |
|---|
Источник
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершиться для бесконечных коллекций.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение Option, содержащее pf, применённое к первому значению, для которого оно определено, или |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Компонует другую частичную функцию k с этой частичной функцией таким образом, что эта частичная функция применяется к результатам k.
Обратите внимание, что вызов isDefinedAt для полученной частичной функции может применить первую частичную функцию и выполнить её побочное действие. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения другой частичной функции, суженной этой частичной функцией, которая отображает аргументы |
| Унаследовано от | PartialFunction |
Источник@unspecialized
def compose[A](g: A => K): A => V
Компонует две экземпляра Function1 в новую Function1, при этом эта функция применяется последней.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая функция |
| Унаследовано от | Function1 |
Источник
Возвращает новую коллекцию, содержащую элементы левого операнда, за которыми следуют элементы правого операнда. Тип элемента коллекции — наиболее общий суперкласс, охватывающий типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая коллекция, содержащая все элементы этой коллекции, за которыми следуют все элементы |
| Унаследовано от | IterableOps |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start не более чем len элементами этой коллекции.
Копирование прекратится, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива, или будут скопированы len элементов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив. |
| Примечание | Переиспользование: После вызова этого метода итератор, на котором он был вызван, должен быть удалён. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями из этой коллекции.
Копирование прекратится, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода нужно удалить итератор, на котором он был вызван. Использование итератора после этого не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Исходный код@deprecatedOverriding("Это должно всегда передавать в 3-аргументную версию этого метода", since = "2.13.4")
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет указанный массив xs начиная с индекса start значениями этого набора.
Копирование прекращается, когда либо все элементы этого набора были скопированы, либо достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода нужно удалить итератор, на котором он был вызван. Использование итератора после этого не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Исходный код
Проверяет, соответствует ли каждый элемент итератора этого набора соответствующему элементу другого набора, удовлетворяя условию предиката.
Примечание: не завершится для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Исходный код
Подсчитывает количество элементов в наборе, удовлетворяющих предикату.
Примечание: не завершится для наборов бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Исходный код@throws(scala.throws.$lessinit$greater$default$1[scala.NoSuchElementException])
def default(key: K): V
Определяет вычисление значения по умолчанию для карты, возвращаемого, когда ключ не найден. Реализованный здесь метод выбрасывает исключение, но может быть переопределён в подклассах.
| Параметры значения |
|
|---|---|
| Унаследовано от | MapOps |
Исходный код
| Унаследовано от | IterableOps |
|---|
Исходный код
Остальная часть набора без его n последних элементов. Для линейных неизменяемых наборов это должно избегать создания копии.
Примечание: даже при применении к представлению или ленивому набору элементы будут всегда принудительно вычисляться.
| Классы-родители | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
| Унаследовано от | 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 |
Исходный код
Равенство карт реализуется с использованием метода поиска 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
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Классы-родители | Map -> Equals -> Any |
| Унаследовано от | Map |
Исходный код
Проверяет, выполняется ли предикат для хотя бы одного элемента этого набора.
Примечание: может не завершиться для наборов бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Source
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Inherited from | StrictOptimizedIterableOps |
Source
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Inherited from | StrictOptimizedIterableOps |
Source
Находит первый элемент в коллекции, удовлетворяющий предикату, если таковой существует.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа option, содержащее первый элемент в коллекции, удовлетворяющий |
| Inherited from | IterableOnceOps |
Source
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Inherited from | StrictOptimizedIterableOps |
Source
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Inherited from | StrictOptimizedIterableOps |
Source
def fold[A1 >: (K, V)](z: A1)(op: (A1, A1) => A1): A1
Вычисляет сложенное значение элементов данной коллекции, используя заданный ассоциативный бинарный оператор. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективного порядка обхода.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат применения оператора fold |
| Inherited from | IterableOnceOps |
Source
def foldLeft[B](z: B)(op: (B, (K, V)) => B): B
Применяет бинарный оператор к начальному значению и всем элементам этой коллекции слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Источник
def foldRight[B](z: B)(op: ((K, V), B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции и начальному значению, справа налево.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, выполняется ли предикат для всех элементов этой коллекции.
Примечание: может не завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Применяет f к каждому элементу для побочных эффектов. Примечание: параметр [U] необходим для помощи в выводе типов scalac.
| Унаследовано от | IterableOnceOps |
|---|
Источник
def foreachEntry[U](f: (K, V) => U): Unit
Применяет f к каждой паре ключ/значение для побочных эффектов. Примечание: параметр [U] необходим для помощи в выводе типов scalac.
| Унаследовано от | MapOps |
|---|
Источник
| Классы определения | MapFactoryDefaults -> IterableOps |
|---|---|
| Унаследовано от | MapFactoryDefaults |
Источник
def getOrElse[V1 >: V](key: K, default: => V1): V1
Возвращает значение, связанное с ключом, или значение по умолчанию, если ключ не содержится в карте.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение, связанное с |
| Унаследовано от | MapOps |
Источник
Разделяет эту итерируемую коллекцию на отображение итерируемых коллекций в соответствии с функцией-дискриминатором.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает |
Отображение из ключей к итерируемым коллекциям, такое что выполняется следующее инвариантное условие: (xs groupBy f)(k) = xs filter (x => f(x) == k) То есть каждый ключ |
| Унаследовано от | IterableOps |
Источник
Разделяет эту итерируемую коллекцию на отображение итерируемых коллекций в соответствии с функцией-дискриминатором key. Каждый элемент в группе преобразуется в значение типа B с помощью функции value.
Эквивалентно groupBy(key).mapValues(_.map(f)), но более эффективно.
case class User(name: String, age: Int) def namesByAge(users: Seq[User]): Map[Int, Seq[String]] = users.groupMap(_.age)(_.name)
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Унаследовано от | IterableOps |
Источник
def groupMapReduce[K, B](key: (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 |
|---|
Источник
Разделяет элементы на итерируемые коллекции фиксированного размера.
| Параметры значений |
|
|---|---|
| Возвращает | Итератор, возвращающий итерируемые коллекции размером |
| См. также | scala.collection.Iterator, метод |
| Унаследовано от | IterableOps |
Источник
| Классы-определения | Map -> Any |
|---|---|
| Унаследовано от | Map |
Источник
Перебирает начальные сегменты этой итерируемой коллекции. Первое значение — это сама итерируемая коллекция, а последнее — пустая итерируемая коллекция, промежуточные значения — результаты последовательных применений init.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Возвращает | итератор по всем начальным сегментам этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Источник
def isDefinedAt(key: K): Boolean
Проверяет, содержит ли это отображение привязку для ключа. Этот метод, который реализует абстрактный метод трейта PartialFunction, эквивалентен contains.
| Параметры значений |
|
|---|---|
| Возвращает |
|
| Унаследовано от | MapOps |
Источник
override def isTraversableAgain: Boolean
| Классы-определения | IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | IterableOps |
Источник
| Классы-определения | Iterable -> Iterable -> IterableOps |
|---|---|
| Унаследовано от | Iterable |
Источник
| Классы-определения | MapOps -> MapOps |
|---|---|
| Унаследовано от | MapOps |
Источник
Возвращает Stepper для ключей этого отображения. См. метод stepper.
| Унаследовано от | MapOps |
|---|
Источник
Сбор всех ключей этого отображения в итерируемую коллекцию.
| Возвращает | ключи этого отображения в виде итерируемой коллекции. |
|---|---|
| Унаследовано от | MapOps |
Источник
Аналогично zip, за исключением того, что элементы в каждой коллекции не потребляются до тех пор, пока над возвращаемым декоратором LazyZip2 не будет вызвана строгая операция.
Вызовы lazyZip могут быть объединены для поддержки более высоких арностей (до 4) без затрат на создание и деструкцию промежуточных кортежей.
val xs = List(1, 2, 3) val res = (xs lazyZip xs lazyZip xs lazyZip xs).map((a, b, c, d) => a + b + c + d) // res == List(4, 8, 12)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | декоратор |
| Унаследовано от | Iterable |
Источник
Преобразует эту частичную функцию в обычную функцию, возвращающую Option результат.
| Возвращает | функцию, которая принимает аргумент |
|---|---|
| См. также | Function.unlift |
| Унаследовано от | PartialFunction |
Источник
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Находит наибольший элемент.
Примечание: не будет завершаться для бесконечных коллекций.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наибольший элемент этой коллекции по отношению к порядку |
| Выбрасывает |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
Примечание: не будет завершаться для бесконечных коллекций.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наибольшим значением, измеренным функцией f по отношению к порядку |
| Выбрасывает |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
Примечание: не будет завершаться для бесконечных коллекций.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение option, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f по отношению к порядку |
| Унаследовано от | IterableOnceOps |
Источник
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее наибольший элемент этой коллекции относительно упорядочения |
| Унаследовано от | IterableOnceOps |
id="min-ffffff34"> Источник
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наименьший элемент этой коллекции относительно упорядочения |
| Исключение |
|
| Унаследовано от | IterableOnceOps |
id="minBy-fffff0c5"> Источник
Находит первый элемент, который возвращает наименьшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наименьшим значением, измеренным функцией f, относительно упорядочения |
| Исключение |
|
| Унаследовано от | IterableOnceOps |
id="minByOption-fffff66f"> Источник
Находит первый элемент, который возвращает наименьшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее первый элемент этой коллекции с наименьшим значением, измеренным функцией f, относительно упорядочения |
| Унаследовано от | IterableOnceOps |
id="minOption-fffff45e"> Источник
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее наименьший элемент этой коллекции относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Source@inline
Отображает все элементы этой коллекции в строке.
Делегирует вызов методу addString, который может быть переопределён.
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
|---|---|
| Унаследовано от | IterableOnceOps |
Source@inline
Отображает все элементы этой коллекции в строке с использованием разделительной строки.
Делегирует вызов методу addString, который может быть переопределён.
| Параметры |
|
|---|---|
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
Отображает все элементы этой коллекции в строке с использованием начальной, конечной и разделительной строк.
Делегирует вызов методу addString, который может быть переопределён.
| Параметры |
|
|---|---|
| Возвращает | строковое представление этой коллекции. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
| Определения классов | MapFactoryDefaults -> IterableOps |
|---|---|
| Унаследовано от | MapFactoryDefaults |
Source@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
Проверяет, не является ли коллекция пустой.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Source
Компонует эту частичную функцию с резервной частичной функцией, которая применяется, когда эта частичная функция не определена.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращает | частичная функция, область определения которой является объединением областей определения этой частичной функции и |
| Унаследовано от | PartialFunction |
Source
| Определения классов | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Source
| Определения классов | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Source
Перемножает элементы этой коллекции.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращает | произведение всех элементов этой коллекции относительно оператора |
| Унаследовано от | IterableOnceOps |
Source
def reduce[B >: (K, V)](op: (B, B) => B): B
Сводит элементы этой коллекции с использованием указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращает | результат применения оператора reduce |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
def reduceLeft[B >: (K, V)](op: (B, (K, V)) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
def reduceLeftOption[B >: (K, V)](op: (B, (K, V)) => B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этой коллекции, слева направо.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | вариант значения, содержащий результат |
| Унаследовано от | IterableOnceOps |
Source
def reduceOption[B >: (K, V)](op: (B, B) => B): Option[B]
Сводит элементы этой коллекции, если таковые имеются, с помощью указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Вариант значения, содержащий результат применения оператора reduce |
| Унаследовано от | IterableOnceOps |
Source
def reduceRight[B >: (K, V)](op: ((K, V), B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции, справа налево.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
def reduceRightOption[B >: (K, V)](op: ((K, V), B) => B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этой коллекции, справа налево.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | вариант значения, содержащий результат |
| Унаследовано от | IterableOnceOps |
Source
Создаёт новую неизменяемую карту из этой неизменяемой карты, удаляя все элементы другой коллекции.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут форсироваться.
| Параметры значения |
|
|---|---|
| Возвращает | новая неизменяемая карта, содержащая все элементы текущей неизменяемой карты за исключением одного меньшего вхождения каждого из элементов |
| Унаследовано от | MapOps |
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
Компонует эту частичную функцию с функцией действия, которая применяется к результатам этой частичной функции. Функция действия вызывается только для своих побочных эффектов; её результат игнорируется.
Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно
if(pf isDefinedAt x) { action(pf(x)); true } else false
за исключением того, что runWith реализовано с помощью applyOrElse и, следовательно, потенциально более эффективно. Использование runWith позволяет избежать двойной оценки обработчиков шаблонов и условий для литералов частичных функций.
| Параметры значения |
|
|---|---|
| Возвращает | функция, которая отображает аргументы |
| См. также |
|
| Унаследовано от | PartialFunction |
Source
Вычисляет префиксное сканирование элементов коллекции.
Примечание: нейтральный элемент z может быть применён более одного раза.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, содержащая префиксное сканирование элементов в этой итерируемой коллекции |
| Унаследовано от | IterableOps |
Source
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Source
Создаёт коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Заголовок коллекции — последний кумулятивный результат.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если базовый тип коллекции упорядочен.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут форсироваться.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | коллекция с промежуточными результатами |
| Унаследовано от | IterableOps |
Source
Сравнивает размер этой итерируемой коллекции с размером другой Iterable.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < that.size x == 0 if this.size == that.size x > 0 if this.size > that.size Метод, реализованный здесь, не вызывает |
| Унаследовано от | IterableOps |
Источник
Сравнивает размер этого итерируемого набора со значением-тестом.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < otherSize x == 0 if this.size == otherSize x > 0 if this.size > otherSize Метод, реализованный здесь, не вызывает |
| См. также | |
| Унаследовано от | IterableOps |
Источник@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 |
|---|
Источник
Группирует элементы в блоки фиксированного размера, передавая «скользящее окно» по ним (в отличие от разбиения их, как это делается в grouped.)
Возвращаемый итератор будет пустым, когда вызывается на пустом наборе. Последний элемент, который итератор генерирует, может быть меньше размера окна, когда исходный набор не исчерпан окном до этого момента, и его последний элемент не пропущен шагом до этого момента.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые наборы размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Группирует элементы в блоки фиксированного размера, передавая «скользящее окно» по ним (в отличие от разбиения их, как это делается в grouped.)
Пустой набор возвращает пустой итератор, а набор, содержащий меньше элементов, чем размер окна, возвращает итератор, который сгенерирует исходный набор как единственный элемент.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые наборы размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Источник
| Классы-предки | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
| Классы-предки | IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | IterableOps |
Источник
Возвращает scala.collection.Stepper для элементов этого набора.
Stepper позволяет создавать поток Java для работы с набором, см. scala.jdk.StreamConverters. Для наборов, содержащих примитивные значения, Stepper может использоваться как итератор, который не упаковывает элементы.
Неявный параметр scala.collection.StepperShape определяет тип возвращаемого Stepper в соответствии с типом элементов этого набора.
Для наборов, содержащих
Int,Short,ByteилиChar, возвращается scala.collection.IntStepperДля наборов, содержащих
DoubleилиFloat, возвращается scala.collection.DoubleStepperДля наборов, содержащих
Long, возвращается scala.collection.LongStepperДля любого другого типа элементов возвращается scala.collection.AnyStepper
Обратите внимание, что этот метод переопределяется в подклассах, и тип возврата уточняется до S with EfficientSplit, например scala.collection.IndexedSeqOps.stepper. Для Stepper, отмеченных scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Stepper могут быть преобразованы только в последовательные потоки.
| Унаследовано от | IterableOnce |
|---|
Источник
Вычисляет сумму элементов этого набора.
Примечание: не завершится для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | сумма всех элементов этого набора относительно оператора |
| Унаследовано от | IterableOnceOps |
Источник
Итерирует по хвостам этого итерируемого набора. Первое значение будет этим итерируемым набором, а последнее — пустым итерируемым набором, а промежуточные значения — результатами последовательных применений tail.
| Возвращает | итератор по всем хвостам этого итерируемого набора |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Source
| Inherited from | IterableOps |
|---|
Source
Коллекция, содержащая последние n элементы этой коллекции.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Definition Classes | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Inherited from | StrictOptimizedIterableOps |
Source
Возвращает наибольший префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты при разных запусках, если тип коллекции не упорядочен.
| Value parameters |
|
|---|---|
| Returns | наибольший префикс этой итерируемой коллекции, элементы которого удовлетворяют предикату |
| Inherited from | IterableOps |
Source
override def tapEach[U](f: (K, V) => U): TreeSeqMap[K, V]
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Inherited from | StrictOptimizedIterableOps |
Source
Преобразует эту коллекцию в соответствующее представление для текущего типа элементов с использованием фабрики коллекций factory. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
| Inherited from | IterableOnceOps |
|---|
Source
Преобразует коллекцию в массив.
Примечание: НЕ вызывайте Array.from из этого метода.
| Inherited from | IterableOnceOps |
|---|
Source@inline
| Inherited from | IterableOnceOps |
|---|
Source
def toIndexedSeq: IndexedSeq[(K, V)]
| Inherited from | IterableOnceOps |
|---|
Source
| Inherited from | IterableOnceOps |
|---|
Source
| Definition Classes | Map -> IterableOnceOps |
|---|---|
| Inherited from | Map |
Source
| Returns | Эта коллекция в виде |
|---|---|
| Inherited from | IterableOnceOps |
Source
| Inherited from | IterableOnceOps |
|---|
Source
| Definition Classes | Map -> Function1 -> Iterable -> Any |
|---|---|
| Inherited from | Map |
Source
| Inherited from | IterableOnceOps |
|---|
Source
def transform[W](f: (K, V) => W): TreeSeqMap[K, W]
Эта функция преобразует все значения отображений, содержащихся в этом отображении, с помощью функции f.
| Value parameters |
|
|---|---|
| Returns | обновленное отображение |
| Inherited from | MapOps |
Source
Транспонирует эту итерируемую коллекцию итерируемых коллекций в итерируемую коллекцию итерируемых коллекций.
Тип результирующей коллекции будет определяться статическим типом итерируемой коллекции. Например:
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 |
|
|---|---|
| Value parameters |
|
| Returns | двумерная итерируемая коллекция итерируемых коллекций, где n-я строка является n-м столбцом этой итерируемой коллекции. |
| Throws |
|
| Inherited from | IterableOps |
Source
Попытка извлечения B из A в выражении сопоставления с образцом.
| Inherited from | PartialFunction |
|---|
Source
| Definition Classes | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Inherited from | StrictOptimizedIterableOps |
Source
| Definition Classes | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Inherited from | StrictOptimizedIterableOps |
Source
Обновление отображения для указанного ключа и его текущего, возможно, отображённого значения (Some если существует текущее отображение, None если нет).
Если функция переназначения возвращает Some(v), отображение обновляется с новым значением v. Если функция переназначения возвращает None, отображение удаляется (или остаётся отсутствующим, если оно изначально отсутствовало). Если сама функция вызывает исключение, исключение повторно выбрасывается, а текущее отображение остаётся неизменным.
| Value parameters |
|
|---|---|
| Returns | Новый map с обновлённым отображением с ключом |
| Inherited from | MapOps |
Source
Возвращает Stepper для значений этого map. См. метод stepper.
| Inherited from | MapOps |
|---|
Source
Собраны все значения этого map в итерируемом наборе.
| Returns | значения этого map в виде итерируемого. |
|---|---|
| Inherited from | MapOps |
Source
| 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 |
|
|---|---|
| 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 |
|
|---|---|
| Returns | обёртка map со значением по умолчанию |
| Inherited from | Map |
Source
| Definition Classes | MapFactoryDefaults -> IterableOps |
|---|---|
| Inherited from | MapFactoryDefaults |
Source
| Definition Classes | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Inherited from | StrictOptimizedIterableOps |
Source
Возвращает итерируемый набор, образованный из этого итерируемого набора и другого итерируемого набора, объединяя соответствующие элементы парами. Если один из двух наборов короче другого, элементы-заполнители используются для расширения более короткого набора до длины более длинного.
| Value parameters |
|
|---|---|
| Returns | новый набор типа |
| Inherited from | IterableOps |
Source
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Inherited from | StrictOptimizedIterableOps |
Concrete fields
Source
Source
© 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