Класс TreeMap.TreeMap
sealed class TreeMap[K, V] extends AbstractMap[K, V] with SortedMap[K, V] with SortedMapOps[K, V, TreeMap, TreeMap[K, V]] with StrictOptimizedIterableOps[(K, V), Iterable, TreeMap[K, V]] with StrictOptimizedMapOps[K, V, Map, TreeMap[K, V]] with StrictOptimizedSortedMapOps[K, V, TreeMap, TreeMap[K, V]] with SortedMapFactoryDefaults[K, V, TreeMap, Iterable, Map] with DefaultSerializable
Изменяемый отсортированный массив, реализованный с использованием красного-черного дерева в качестве базовой структуры данных.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Супертипы | 37 типов |
Конструкторы
Исходный код
Создаёт пустое TreeMap.
| Параметры значения |
|
|---|---|
| Возвращает | пустое |
Конкретные методы
Исходный код
Добавляет один элемент в этот изменяемый массив.
| Параметры значения |
|
|---|---|
| Возвращает | сам изменяемый массив. |
Исходный код
Очищает содержимое этого билдера. После выполнения этого метода билдер не будет содержать элементов.
| Классы определений | MapOps -> Builder -> Clearable |
|---|
Исходный код
Проверяет, содержит ли эта карта привязку для ключа.
| Параметры значения |
|
|---|---|
| Возвращает | true, если есть привязка для |
| Классы определений | MapOps |
Исходный код
Применяет f к каждому элементу для побочных эффектов. Примечание: параметр [U] необходим для улучшения работы средства инференции типов scalac.
| Классы определений | IterableOnceOps |
|---|
Исходный код
override def foreachEntry[U](f: (K, V) => U): Unit
Применяет f к каждой паре ключ/значение для побочных эффектов. Примечание: параметр [U] необходим для улучшения работы средства инференции типов scalac.
| Классы определений | MapOps |
|---|
Исходный код
Возвращает значение, связанное с ключом, или None, если такого значения нет.
| Параметры значения |
|
|---|---|
| Возвращает | Option, содержащий значение, связанное с |
Исходный код
override def head: (K, V)
Выбирает первый элемент этого изменяемого массива.
Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции не отсортирован.
| Возвращает | Первый элемент этого изменяемого массива. |
|---|---|
| Исключения |
|
| Классы определений | IterableOps |
Исходный код
Проверяет, пуст ли изменяемый массив.
Примечание: Реализации в подклассах, которые не являются многократно проходимыми, должны гарантировать, что они не будут потреблять элементы, когда вызывается isEmpty.
| Возвращает | true, если изменяемый массив не содержит элементов, false — в противном случае. |
|---|---|
| Классы определений | IterableOnceOps |
Source
Итератор может быть использован только один раз
Source
def iteratorFrom(start: K): Iterator[(K, V)]
Создаёт итератор по всем парам ключ/значение, содержащимся в этом словаре, у которых ключ больше или равен start согласно порядку этого словаря. x.iteratorFrom(y) эквивалентно, но часто эффективнее, чем x.from(y).iterator.
| Параметры значения |
|
|---|
Source
Возвращает Stepper для ключей этого словаря. См. метод stepper.
| Классы определения | MapOps |
|---|
Source
override def keysIterator: Iterator[K]
Создаёт итератор для всех ключей.
| Возвращает | итератор по всем ключам. |
|---|---|
| Классы определения | MapOps |
Source
def keysIteratorFrom(start: K): Iterator[K]
Создаёт итератор по всем ключам (или элементам) этого набора, которые больше или равны start согласно порядку этого набора. x.keysIteratorFrom(y) эквивалентно, но часто эффективнее, чем x.from(y).keysIterator.
| Параметры значения |
|
|---|
Source
| Возвращает | Количество элементов в наборе, если его можно вычислить без больших затрат, в противном случае -1. По умолчанию всегда возвращает -1. |
|---|---|
| Классы определения | MapOps -> Growable -> IterableOnce |
Source
override def last: (K, V)
Выбирает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Возвращает | Последний элемент этого изменяемого дерева словаря. |
|---|---|
| Исключения |
|
| Классы определения | IterableOps |
Source
Находит элемент с наибольшим ключом, меньшим заданного ключа.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Классы определения | SortedMapOps |
Source
Находит элемент с наименьшим ключом, большим или равным заданному ключу.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Классы определения | SortedMapOps |
Source
Создаёт проекцию диапазона этого словаря. Любые изменения в проекции диапазона будут обновлять исходный словарь, и наоборот.
Только записи с ключами между диапазоном ключей этой проекции будут отображаться как элементы этого словаря, независимо от того, добавляются ли записи через исходный словарь или через этот вид. Это означает, что если вы вставите ключ-значение в представление, ключ которого находится за пределами границ представления, вызовы get или contains _не_ будут учитывать вновь добавленную запись. Однако изменения всегда отражаются в исходном словаре.
| Параметры значения |
|
|---|
Source
Размер этого изменяемого дерева словаря.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Возвращает | количество элементов в этом изменяемом дереве словаря. |
|---|---|
| Классы определения | IterableOnceOps |
Source
Компаньон-объект этого упорядоченного словаря, предоставляющий различные методы фабрик.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Классы определения | SortedMap -> SortedMap -> SortedMapOps |
Source
Возвращает scala.collection.Stepper для элементов этой коллекции.
Stepper позволяет создавать поток Java для работы с коллекцией, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, Stepper может использоваться как итератор, который не упаковывает элементы.
Неявный параметр scala.collection.StepperShape определяет тип возвращаемого Stepper в соответствии с типом элемента этой коллекции.
Для коллекций
Int,Short,ByteилиChar, возвращается scala.collection.IntStepperДля коллекций
DoubleилиFloat, возвращается scala.collection.DoubleStepperДля коллекций
Longвозвращается scala.collection.LongStepperДля любого другого типа элементов, возвращается scala.collection.AnyStepper
Обратите внимание, что этот метод переопределяется в подклассах, а тип возврата уточняется до S with EfficientSplit, например scala.collection.IndexedSeqOps.stepper. Для Stepper, помеченных как scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Stepper могут быть преобразованы только в последовательные потоки.
| Классы определения | IterableOnce |
|---|
Source
def subtractOne(elem: K): TreeMap.this.type
Удаляет один элемент из этого изменяемого дерева словаря.
| Параметры значения |
|
|---|---|
| Возвращает | сам изменяемый массив дерева словаря |
Источник
Возвращает Stepper для значений этого отображения. См. метод stepper.
| Классы определений | MapOps |
|---|
Источник
override def valuesIterator: Iterator[V]
Создаёт итератор для всех значений в этом отображении.
| Возвращает | итератор по всем значениям, связанным с некоторым ключом в этом отображении. |
|---|---|
| Классы определений | MapOps |
Источник
override def valuesIteratorFrom(start: K): Iterator[V]
Создаёт итератор по всем значениям, содержащимся в этом отображении, которые связаны с ключом, больше или равным start, согласно порядку этого отображения. x.valuesIteratorFrom(y) эквивалентно, но часто более эффективно, чем x.from(y).valuesIterator.
| Параметры значения |
|
|---|---|
| Классы определений | SortedMapOps |
Наследованные методы
Источник
final override def ++[V2 >: V](xs: IterableOnce[(K, V2)]): CC[K, V2]
Псевдоним для concat
| Классы определений | SortedMapOps -> MapOps |
|---|---|
| Наследуется из | SortedMapOps |
Источник
final def ++[B >: (K, V)](suffix: IterableOnce[B]): CC[B]
Псевдоним для concat
| Наследуется из | IterableOps |
|---|
Источник
Псевдоним для addAll
| Наследуется из | Growable |
|---|
Источник
Псевдоним для addOne
| Наследуется из | Growable |
|---|
Источник
Псевдоним для subtractAll
| Наследуется из | Shrinkable |
|---|
Источник
final def -=(elem: K): Shrinkable.this.type
Псевдоним для subtractOne
| Наследуется из | Shrinkable |
|---|
Источник
Добавляет все элементы, созданные IterableOnce, в это расширяемое множество.
| Параметры значения |
|
|---|---|
| Возвращает | само расширяемое множество. |
| Наследуется из | Growable |
Источник
Добавляет все элементы этого отображения в строковый буфер, используя строки start, end и разделитель. Текст начинается со строки start и заканчивается строкой end. Между ними строковые представления (в соответствии с методом toString) всех элементов этого отображения разделяются строкой sep.
Пример:
scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)
scala> val b = new StringBuilder()
b: StringBuilder =
scala> a.addString(b , "List(" , ", " , ")")
res5: StringBuilder = List(1, 2, 3, 4)
| Параметры значения |
|
|---|---|
| Возвращает | строковый буфер |
| Классы определений | MapOps -> IterableOnceOps |
| Наследуется из | MapOps |
Источник
Добавляет все элементы этого набора в строковый буфер. Текст состоит из строковых представлений (в соответствии с методом 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 |
Источник
Добавляет все элементы этого набора в строковый буфер, используя разделительную строку. Текст состоит из строковых представлений (в соответствии с методом 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 |
Источник
Компонует эту частичную функцию с другой частичной функцией, которая применяется к результатам этой частичной функции.
Обратите внимание, что вызов isDefinedAt для полученной частичной функции может применить первую частичную функцию и выполнить её побочное действие. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения этой частичной функции, суженной другой частичной функцией, которая отображает аргументы |
| Наследуется из | PartialFunction |
Источник
override def andThen[C](k: V => C): PartialFunction[A, C]
Компонует эту частичную функцию с функцией преобразования, которая применяется к результатам этой частичной функции.
Если тип выполнения функции — PartialFunction, то используется другой метод andThen (обратите внимание на его предостережения).
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения этой частичной функции, возможно суженной указанной функцией, которая отображает аргументы |
| Классы определения | PartialFunction -> Function1 |
| Унаследовано от | PartialFunction |
Источник
def apply(key: K): V
Возвращает значение, связанное с заданным ключом. Этот метод вызывает метод default карты, если нет соответствия между заданным ключом и значением. Если не переопределён, метод default выбрасывает исключение NoSuchElementException.
| Параметры значения |
|
|---|---|
| Возвращает | значение, связанное с заданным ключом, или результат применения метода |
| Унаследовано от | MapOps |
Источник
override def applyOrElse[K1 <: K, V1 >: V](x: K1, default: K1 => V1): V1
Применяет эту частичную функцию к заданному аргументу, когда он содержится в области определения функции. Применяет функцию по умолчанию, когда эта частичная функция не определена.
Обратите внимание, что выражение pf.applyOrElse(x, default) эквивалентно
if(pf isDefinedAt x) pf(x) else default(x)
за исключением того, что метод applyOrElse может быть реализован более эффективно. Для всех литералов частичных функций компилятор генерирует реализацию applyOrElse, которая избегает двойной оценки соответствий шаблонов и условий. Это делает applyOrElse основой для эффективной реализации во многих операциях и сценариях, таких как:
- объединение частичных функций в цепочки orElse/andThen не приводит к чрезмерной оценке apply/isDefinedAt - lift и unlift не вычисляют исходные функции дважды при каждом вызове - runWith позволяет эффективно объединять частичные функции императивным стилем с применением действий в зависимости от условия
Для классов частичных функций, не являющихся литералами, с нетривиальным методом isDefinedAt, рекомендуется переопределить метод applyOrElse с пользовательской реализацией, которая избегает двойной оценки isDefinedAt . Это может привести к лучшей производительности и более предсказуемому поведению в отношении побочных эффектов.
| Параметры значения |
|
|---|---|
| Возвращает | результат применения этой функции или функции по умолчанию. |
| Классы определения | MapOps -> PartialFunction |
| Унаследовано от | MapOps |
Источник
Метод, который должен вызываться из каждой хорошо спроектированной функции equals, которая открыта для переопределения в подклассе. Смотрите Programming in Scala, Chapter 28 для обсуждения и проектирования.
| Параметры значения |
|
|---|---|
| Возвращает | true, если этот экземпляр может быть равен |
| Унаследовано от | Map |
Источник
override def clone(): C
Создает копию объекта-получателя.
По умолчанию реализация метода clone зависит от платформы.
| Возвращает | копию объекта-получателя. |
|---|---|
| Примечание | не определено SLS в качестве члена AnyRef |
| Классы определения | MapOps -> Cloneable -> Object |
| Унаследовано от | MapOps |
Источник
override def collect[K2, V2](pf: PartialFunction[(K, V), (K2, V2)]): CC[K2, V2]
Создаёт новую коллекцию, применяя частичную функцию ко всем элементам этой карты, для которых функция определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая карта, полученная путём применения заданной частичной функции |
| Классы определения | StrictOptimizedMapOps -> MapOps |
| Унаследовано от | StrictOptimizedMapOps |
Источник
override def collect[B](pf: PartialFunction[(K, V), B]): CC[B]
Создаёт новую итерируемую коллекцию, применяя частичную функцию ко всем элементам этой итерируемой коллекции, для которых функция определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, полученная путём применения заданной частичной функции |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
override def collect[K2, V2](pf: PartialFunction[(K, V), (K2, V2)])(implicit ordering: Ordering[K2]): CC[K2, V2]
Создаёт новую отсортированную карту, применяя частичную функцию ко всем элементам этой карты, для которых функция определена.
| Параметры значения |
|
|---|---|
| Возвращает | новая карта, полученная путём применения заданной частичной функции |
| Классы определения | StrictOptimizedSortedMapOps -> SortedMapOps |
| Унаследовано от | StrictOptimizedSortedMapOps |
Источник
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение Option, содержащее результат применения pf к первому значению, для которого она определена, или |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Компонует другую частичную функцию k с этой частичной функцией, так что эта частичная функция применяется к результатам k.
Обратите внимание, что вызов isDefinedAt на полученной частичной функции может применить первую частичную функцию и выполнить её побочный эффект. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | частичная функция с областью определения другой частичной функции, суженной этой частичной функцией, которая отображает аргументы |
| Унаследовано от | PartialFunction |
Источник
def compose[A](g: A => K): A => R
Компонует два экземпляра Function1 в новую Function1, применяя эту функцию последней.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | новая функция |
| Унаследовано от | Function1 |
Источник
override def concat[V2 >: V](xs: IterableOnce[(K, V2)]): CC[K, V2]
Возвращает новый словарь, содержащий элементы из левого операнда, после которых следуют элементы из правого операнда. Тип элементов словаря — это наиболее специфический суперкласс, охватывающий типы элементов двух операндов.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | новый словарь, который содержит все элементы этого словаря, после которых следуют все элементы |
| Классы определения | StrictOptimizedSortedMapOps -> StrictOptimizedMapOps -> SortedMapOps -> MapOps |
| Унаследовано от | StrictOptimizedSortedMapOps |
Источник
def concat[B >: (K, V)](suffix: IterableOnce[B]): CC[B]
Возвращает новую итерируемую коллекцию, содержащую элементы из левого операнда, после которых следуют элементы из правого операнда. Тип элемента итерируемой коллекции — это наиболее специфический суперкласс, охватывающий типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | новая итерируемая коллекция, содержащая все элементы этой итерируемой коллекции, после которых следуют все элементы |
| Унаследовано от | IterableOps |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет указанный массив xs начиная с индекса start не более чем len элементами этой коллекции.
Копирование прекратится, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива, или len элементов будут скопированы.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | количество элементов, записанных в массив |
| Примечание | Повторное использование: После вызова этого метода следует отказаться от используемого итератора. Его дальнейшее использование не определено и может быть изменено. |
| Унаследовано от | IterableOnceOps |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет указанный массив xs начиная с индекса start значениями этой коллекции.
Копирование прекратится, как только будут скопированы все элементы этого набора или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Повторное использование: после вызова этого метода следует удалить итератор, на котором он был вызван. Использование итератора после этого может привести к неопределенному поведению и изменению в будущем. |
| Унаследовано от | IterableOnceOps |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет указанный массив xs начиная с индекса start значениями этого набора.
Копирование прекратится, как только будут скопированы все элементы этого набора или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Повторное использование: после вызова этого метода следует удалить итератор, на котором он был вызван. Использование итератора после этого может привести к неопределенному поведению и изменению в будущем. |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, соответствует ли каждый элемент итератора этого набора соответствующему элементу другого набора, удовлетворяя условию предиката.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Считает количество элементов в наборе, которые удовлетворяют предикату.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Источник
def default(key: K): V
Определяет вычисление значения по умолчанию для карты, возвращаемое при отсутствии ключа. Реализованная здесь функция выбрасывает исключение, но она может быть переопределена в подклассах.
| Параметры значения |
|
|---|---|
| Унаследовано от | MapOps |
Source
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, кроме первых |
| Унаследовано от | IterableOps |
Source
Остальная часть коллекции без её n последних элементов. Для линейных неизменяемых коллекций это должно предотвратить создание копии.
Примечание: даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно вычисляться.
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Source
Удаляет самый длинный префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | самый длинный суффикс этой итерируемой коллекции, первый элемент которой не удовлетворяет предикату |
| Унаследовано от | IterableOps |
Source
def elementWise: ElementWiseExtractor[A, B]
Возвращает объект-экстрактор с методом unapplySeq, который извлекает каждый элемент данных последовательности.
| Пример |
val firstChar: String => Option[Char] = _.headOption
Seq("foo", "bar", "baz") match {
case firstChar.unlift.elementWise(c0, c1, c2) =>
println(s"$c0, $c1, $c2") // Output: f, b, b
}
|
|---|---|
| Унаследовано от | PartialFunction |
Source
override def empty: CC[K, V]
Пустая итерируемая коллекция того же типа, что и эта итерируемая коллекция
| Возвращает | пустая итерируемая коллекция типа |
|---|---|
| Классы определения | SortedMapFactoryDefaults -> IterableOps |
| Унаследовано от | SortedMapFactoryDefaults |
Source
Равенство карт реализуется с использованием метода поиска 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
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Классы определения | SortedMap -> Map -> Equals -> Any |
| Унаследовано от | SortedMap |
Source
Проверяет, выполняется ли предикат хотя бы для одного элемента этой коллекции.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Source
Выбирает все элементы этой итерируемой коллекции, удовлетворяющие предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новая итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, удовлетворяющих заданному предикату |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Source
Сохраняет только те отображения, для которых предикат p возвращает true.
| Параметры значения |
|
|---|---|
| Унаследовано от | MapOps |
Source
Выбирает все элементы этой итерируемой коллекции, которые не удовлетворяют предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новая итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, которые не удовлетворяют заданному предикату |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Source
Находит первый элемент коллекции, удовлетворяющий предикату, если таковой существует.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа Option, содержащее первый элемент в коллекции, удовлетворяющий |
| Унаследовано от | IterableOnceOps |
Source
def firstKey: K
Возвращает первый ключ коллекции.
| Унаследовано от | SortedMapOps |
|---|
Source
override def flatMap[K2, V2](f: ((K, V)) => IterableOnce[(K2, V2)]): CC[K2, V2]
Создаёт новый словарь, применяя функцию ко всем элементам этого словаря и используя элементы полученных коллекций.
| Параметры значения |
|
|---|---|
| Возвращает | новый словарь, полученный путём применения заданной функции, принимающей коллекции |
| Классы определений | StrictOptimizedMapOps -> MapOps |
| Унаследовано от | StrictOptimizedMapOps |
Source
override def flatMap[B](f: ((K, V)) => IterableOnce[B]): CC[B]
Создаёт новую коллекцию итерируемых объектов, применяя функцию ко всем элементам этой итерируемой коллекции и используя элементы полученных коллекций.
Например:
def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")
Тип результирующей коллекции определяется статическим типом итерируемой коллекции. Это может иногда приводить к неожиданным результатам. Например:
// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)
// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap ((word: String) => word.toSeq)
// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)
// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, полученная путём применения данной функции, принимающей коллекции |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Source
override def flatMap[K2, V2](f: ((K, V)) => IterableOnce[(K2, V2)])(implicit ordering: Ordering[K2]): CC[K2, V2]
Создаёт новый отсортированный словарь, применяя функцию ко всем элементам этого словаря и используя элементы полученных коллекций.
| Параметры значения |
|
|---|---|
| Возвращает | новый словарь, полученный путём применения заданной функции, принимающей коллекции |
| Классы определений | StrictOptimizedSortedMapOps -> SortedMapOps |
| Унаследовано от | StrictOptimizedSortedMapOps |
Source
override def flatten[B](implicit toIterableOnce: ((K, V)) => IterableOnce[B]): CC[B]
Преобразует эту итерируемую коллекцию итерируемых коллекций в итерируемую коллекцию, образованную элементами этих итерируемых коллекций.
Тип результирующей коллекции будет определяться типом итерируемой коллекции. Например:
val xs = List(
Set(1, 2, 3),
Set(1, 2, 3)
).flatten
// xs == List(1, 2, 3, 1, 2, 3)
val ys = Set(
List(1, 2, 3),
List(3, 2, 1)
).flatten
// ys == Set(1, 2, 3)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, полученная путём конкатенации всех итерируемых коллекций элементов. |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Source
def fold[A1 >: (K, V)](z: A1)(op: (A1, A1) => A1): A1
Складывает элементы этой коллекции с использованием заданного ассоциативного бинарного оператора. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективных порядков обхода.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат применения оператора сложения |
| Унаследовано от | IterableOnceOps |
Source
def foldLeft[B](z: B)(op: (B, (K, V)) => B): B
Применяет бинарный оператор к начальному значению и всем элементам этой коллекции слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции не упорядочен, или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Source
def foldRight[B](z: B)(op: ((K, V), B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции и начальному значению, справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции не упорядочен, или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Source
Проверяет, выполняется ли предикат для всех элементов этой коллекции.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Source
override protected def fromSpecific(coll: IterableOnce[(K, V)]): CC[K, V]
Определяет, как преобразовать заданный Iterable[A] в коллекцию типа C.
Этот процесс может выполняться строго или нестрого (т.е. без оценки элементов результирующих коллекций). Другими словами, этот метод определяет модель оценки коллекции.
| Примечание |
При реализации пользовательского типа коллекции и уточнении Как свидетельствует аннотация |
|---|---|
| Классы определения | SortedMapFactoryDefaults -> IterableOps |
| Унаследовано от | SortedMapFactoryDefaults |
Источник
def getOrElse[V1 >: V](key: K, default: => V1): V1
Возвращает значение, связанное с ключом, или значение по умолчанию, если ключ не содержится в карте.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | значение, связанное с |
| Унаследовано от | MapOps |
Источник
def getOrElseUpdate(key: K, op: => V): V
Если заданный ключ уже есть в этой карте, возвращает связанное значение.
В противном случае вычисляет значение из заданного выражения op, сохраняет его в карте по ключу и возвращает это значение.
Реализации карты с конкурентным доступом могут оценивать выражение op несколько раз или могут оценить op без вставки результата.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | значение, связанное с ключом (либо ранее, либо в результате выполнения метода). |
| Унаследовано от | 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 |
Источник
Вычисляет значение хэш-кода для объекта.
Алгоритм хэширования по умолчанию зависит от платформы.
Обратите внимание, что для двух объектов могут быть одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)) , но они могут быть не равны (o1.equals(o2) возвращает false). Вырожденная реализация может всегда возвращать 0. Однако требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true), у них были идентичные хэш-коды (o1.hashCode.equals(o2.hashCode)). Поэтому при переопределении этого метода убедитесь, что поведение согласуется с методом equals.
| Возвращает | значение хэш-кода для этого объекта. |
|---|---|
| Классы определений | Map -> Any |
| Унаследовано от | Map |
Источник
def headOption: Option[A]
Возвращает первый элемент, если он существует.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Возвращает | первый элемент этого итерируемого набора, если он не пустой, |
|---|---|
| Унаследовано от | IterableOps |
Источник
def init: C
Часть набора без последнего элемента.
Примечание: Даже при применении к представлению или ленивому набору элементов он всегда принудительно вычисляет элементы.
| Унаследовано от | IterableOps |
|---|
Источник
Итерирует по начальным частям этого итерируемого набора. Первое значение будет этим набором, а последнее — пустым набором. Промежуточные значения будут результатами последовательных применений init.
Примечание: Даже при применении к представлению или ленивому набору элементов он всегда принудительно вычисляет элементы.
| Возвращает | итератор по всем начальным элементам этого итерируемого набора |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Исходный код
def isDefinedAt(key: K): Boolean
Проверяет, содержит ли эта карта привязку для ключа. Этот метод, который реализует абстрактный метод тракта PartialFunction, эквивалентен contains.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | MapOps |
Исходный код
override def isTraversableAgain: Boolean
Проверяет, может ли этот итерируемый набор быть повторно пройден. Всегда истинно для Iterable и ложно для Iterator, если не переопределено.
| Возвращает |
|
|---|---|
| Классы определения | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Исходный код
Объект-компаньон этого итерируемого набора, предоставляющий различные методы создания.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Классы определения | Iterable -> Iterable -> IterableOps |
| Унаследовано от | Iterable |
Исходный код
Собирает все ключи этой карты в множестве.
| Возвращает | множество, содержащее все ключи этой карты. |
|---|---|
| Классы определения | SortedMapOps -> MapOps |
| Унаследовано от | SortedMapOps |
Исходный код
Собирает все ключи этой карты в итерируемом наборе.
| Возвращает | ключи этой карты в качестве итерируемого набора. |
|---|---|
| Унаследовано от | MapOps |
Исходный код
def lastKey: K
Возвращает последний ключ коллекции.
| Унаследовано от | SortedMapOps |
|---|
Исходный код
def lastOption: Option[A]
Возвращает последний элемент (опционально).
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Возвращает | последний элемент этого итерируемого набора, если он не пустой, |
|---|---|
| Унаследовано от | IterableOps |
Исходный код
Аналогично 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 |
Исходный код
override def map[K2, V2](f: ((K, V)) => (K2, V2)): CC[K2, V2]
Создает новую карту, применяя функцию ко всем элементам этой карты.
| Параметры значения |
|
|---|---|
| Возвращает | новая карта, полученная путем применения заданной функции |
| Классы определения | StrictOptimizedMapOps -> MapOps |
| Унаследовано от | StrictOptimizedMapOps |
Исходный код
override def map[B](f: ((K, V)) => B): CC[B]
Создает новый итерируемый набор, применяя функцию ко всем элементам этого итерируемого набора.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый итерируемый набор, полученный путем применения заданной функции |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
Создает новую упорядоченную карту, применяя функцию ко всем элементам этой карты.
| Параметры значения |
|
|---|---|
| Возвращает | новая карта, полученная путем применения заданной функции |
| Классы определения | StrictOptimizedSortedMapOps -> SortedMapOps |
| Унаследовано от | StrictOptimizedSortedMapOps |
Исходный код
Объект-компаньон этой карты, предоставляющий различные методы создания.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Определяющие классы | Map -> Map -> MapOps |
| Унаследовано от | Map |
Исходный код
Строитель, полученный из этого строителя путём преобразования результата с использованием f.
| Унаследовано от | Builder |
|---|
Исходный код
def mapValuesInPlace(f: (K, V) => V): MapOps.this.type
Применяет функцию преобразования ко всем значениям, содержащимся в этом словаре. Функция преобразования генерирует новые значения из существующих значений ключей.
| Параметры значения |
|
|---|---|
| Возвращает | сам словарь. |
| Унаследовано от | MapOps |
Исходный код
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наибольший элемент этой коллекции относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Исходный код
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Исходный код
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение Option, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Исходный код
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение option, содержащее наибольший элемент этой коллекции по отношению к упорядочению |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наименьший элемент этой коллекции по отношению к упорядочению |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который возвращает наименьшее значение, измеряемое функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наименьшим значением, измеряемым функцией f по отношению к упорядочению |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который возвращает наименьшее значение, измеряемое функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение option, содержащее первый элемент этой коллекции с наименьшим значением, измеряемым функцией f по отношению к упорядочению |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение option, содержащее наименьший элемент этой коллекции по отношению к упорядочению |
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этой коллекции в строке.
Делегирует addString, который можно переопределить.
| Возвращает | строковое представление этого набора. В результирующей строке строковые представления (с точки зрения метода |
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этого набора в строке, используя разделительную строку.
Делегирует addString, который может быть переопределён.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этого набора. В результирующей строке строковые представления (с точки зрения метода |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этого набора в строке, используя начальную, конечную и разделительные строки.
Делегирует addString, который может быть переопределён.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этого набора. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
override protected def newSpecificBuilder: Builder[(K, V), CC[K, V]]
| Возвращает | строгий билдер для того же типа коллекции. Обратите внимание, что в случае ленивых коллекций (например, scala.collection.View или scala.collection.immutable.LazyList), реализация этого метода возможна, но полученный |
|---|---|
| Примечание |
При реализации пользовательского типа коллекции и уточнении Как видно из аннотации |
| Классы определений | SortedMapFactoryDefaults -> IterableOps |
| Унаследовано от | SortedMapFactoryDefaults |
Источник
Проверяет, не пуста ли коллекция.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Компонует эту частичную функцию со вспомогательной частичной функцией, которая применяется в тех случаях, когда эта частичная функция не определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция, область определения которой является объединением областей определения этой частичной функции и |
| Унаследовано от | PartialFunction |
Источник
Пара, состоящая, во-первых, из всех элементов, удовлетворяющих предикату p, и, во-вторых, из всех элементов, которые не удовлетворяют. Интересно, потому что разбивает коллекцию на две части.
Указанная здесь реализация по умолчанию требует два прохода по коллекции. Строгие коллекции имеют переопределённую версию partition в StrictOptimizedIterableOps, которая требует только одного прохода.
| Классы определений | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
override def partitionMap[A1, A2](f: ((K, V)) => Either[A1, A2]): (CC[A1], CC[A2])
Применяет функцию f к каждому элементу коллекции и возвращает пару итерируемых коллекций: первая содержит значения, возвращённые f и заключённые в scala.util.Left, а вторая - значения, заключённые в scala.util.Right.
Пример:
val xs = Iterable(1, "one", 2, "two", 3, "three") partitionMap {
case i: Int => Left(i)
case s: String => Right(s)
}
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | пара итерируемых коллекций: первая содержит значения, возвращённые |
| Классы определений | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Перемножает элементы этой коллекции.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | произведение всех элементов этой коллекции относительно операции |
| Унаследовано от | IterableOnceOps |
Источник
Добавляет новую пару ключ/значение в этот массив и, при необходимости, возвращает ранее привязанное значение. Если в массиве уже есть отображение для ключа, оно будет перезаписано новым значением.
| Параметры значения |
|
|---|---|
| Возвращает | значение параметра, содержащее значение, связанное с ключом до выполнения операции |
| Унаследовано от | MapOps |
Исходный код
def range(from: K, until: K): C
Создаёт проекцию диапазона этого набора с нижней и верхней границами.
| Параметры значения |
|
|---|---|
| Унаследовано от | SortedOps |
Исходный код
def rangeFrom(from: K): C
Создаёт проекцию диапазона этого набора без верхней границы.
| Параметры значения |
|
|---|---|
| Унаследовано от | SortedOps |
Исходный код
def rangeTo(to: K): C
Создаёт проекцию диапазона этого набора без нижней границы.
| Параметры значения |
|
|---|---|
| Унаследовано от | SortedMapOps |
Исходный код
def rangeUntil(until: K): C
Создаёт проекцию диапазона этого набора без нижней границы.
| Параметры значения |
|
|---|---|
| Унаследовано от | SortedOps |
Исходный код
def reduce[B >: (K, V)](op: (B, B) => B): B
Сводит элементы этого набора, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Результат применения оператора reduce |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Исходный код
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]
Возвращает значение, полученное при применении бинарного оператора ко всем элементам этой коллекции слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | объект типа Option, содержащий результат |
| Унаследовано от | IterableOnceOps |
Source
def reduceOption[B >: (K, V)](op: (B, B) => B): Option[B]
Применяет заданный ассоциативный бинарный оператор к элементам этой коллекции, если таковые имеются.
Порядок выполнения операций над элементами не определен и может быть недетерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Объект типа Option, содержащий результат применения оператора 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]
Возвращает значение, полученное при применении бинарного оператора ко всем элементам этой коллекции справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | объект типа Option, содержащий результат |
| Унаследовано от | IterableOnceOps |
Source
Удаляет ключ из этого словаря, возвращая значение, которое было ранее ассоциировано с этим ключом, как объект типа Option.
| Параметры значения |
|
|---|---|
| Возвращает | значение параметра, содержащее значение, связанное ранее с |
| Унаследовано от | MapOps |
Исходный код
def result(): C
Коллекция результатов, состоящая из всех элементов, добавленных до сих пор.
| Унаследовано от | MapOps |
|---|
Исходный код
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
Компонует эту частичную функцию с функцией действия, которая применяется к результатам этой частичной функции. Функция действия вызывается только для побочных эффектов; её результат игнорируется.
Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно
if(pf isDefinedAt x) { action(pf(x)); true } else false
за исключением того, что runWith реализовано с помощью applyOrElse и, следовательно, потенциально более эффективно. Использование runWith позволяет избежать двойной оценки соответствий шаблонов и защитных условий для частичных функций-литералов.
| Параметры значения |
|
|---|---|
| Возвращает | функция, которая отображает аргументы |
| См. также |
|
| Унаследовано от | PartialFunction |
Исходный код
def scan[B >: (K, V)](z: B)(op: (B, B) => B): CC[B]
Вычисляет префиксное сканирование элементов коллекции.
Примечание: нейтральный элемент z может применяться более одного раза.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, содержащая префиксное сканирование элементов в этой итерируемой коллекции |
| Унаследовано от | IterableOps |
Исходный код
override def scanLeft[B](z: B)(op: (B, (K, V)) => B): CC[B]
Производит итерируемую коллекцию, содержащую кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | коллекция с промежуточными результатами |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
def scanRight[B](z: B)(op: ((K, V), B) => B): CC[B]
Производит коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Голова коллекции - последний кумулятивный результат.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
Примечание: даже при применении к представлению или ленивой коллекции всегда будет принудительно вычислять элементы.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | коллекция с промежуточными результатами |
| Унаследовано от | IterableOps |
Исходный код
Сравнивает размер этой итерируемой коллекции с размером другой 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 |
Исходный код
Подсказка о том, что ожидается, что result этого билдера будет иметь тот же размер, что и заданная коллекция, плюс некоторая погрешность. Это будет давать подсказку только в том случае, если коллекция имеет известный размер. Некоторые классы билдеров оптимизируют свою структуру на основе подсказки. Однако реализации билдеров должны корректно работать даже в случае неверной подсказки, т. е. если добавляется другое количество элементов.
| Параметры значения |
|
|---|---|
| Унаследовано от | Builder |
Исходный код
Подсказка о том, сколько элементов ожидается добавить при вызове следующего result. Некоторые классы билдеров оптимизируют свою структуру на основе подсказки. Однако реализации билдеров должны корректно работать даже в случае неверной подсказки, т. е. если добавляется другое количество элементов.
| Параметры значения |
|
|---|---|
| Унаследовано от | Builder |
Исходный код
Указывает предполагаемое количество элементов, которые будут добавлены при следующем вызове result, вместе с верхней границей, задаваемой размером другого набора. Некоторые классы-билдеры оптимизируют свою структуру на основе подсказки. Однако реализации билдеров должны корректно работать, даже если подсказка неверна, т.е. добавляется другое количество элементов.
| Параметры значения |
|
|---|---|
| Унаследовано от | Builder |
Источник
final def sizeIs: SizeCompareOps
Возвращает значение класса, содержащего операции для сравнения размера этого итерируемого набора с тестовым значением.
Эти операции реализованы с помощью sizeCompare(Int) и позволяют использовать следующие более читаемые выражения:
this.sizeIs < size // this.sizeCompare(size) < 0 this.sizeIs <= size // this.sizeCompare(size) <= 0 this.sizeIs == size // this.sizeCompare(size) == 0 this.sizeIs != size // this.sizeCompare(size) != 0 this.sizeIs >= size // this.sizeCompare(size) >= 0 this.sizeIs > size // this.sizeCompare(size) > 0
| Унаследовано от | IterableOps |
|---|
Источник
Выбирает интервал элементов. Полученный итерируемый набор состоит из всех элементов x, которые удовлетворяют инварианту:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемый набор, содержащий элементы, большие или равные индексу |
| Унаследовано от | IterableOps |
Источник
Группирует элементы в блоки фиксированного размера, перемещая "скользящее окно" по ним (в отличие от разделения на части, как в grouped).
Возвращаемый итератор будет пустым при вызове на пустом наборе. Последний элемент, который производит итератор, может быть меньше размера окна, если исходный набор не исчерпан окном до него, а его последний элемент не пропущен шагом перед ним.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, производящий итерируемые наборы размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Группирует элементы в блоки фиксированного размера, перемещая "скользящее окно" по ним (в отличие от разделения на части, как в grouped).
Пустой набор возвращает пустой итератор, а набор, содержащий меньше элементов, чем размер окна, возвращает итератор, который произведет исходный набор как свой единственный элемент.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, производящий итерируемые наборы размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Разделяет этот итерируемый набор на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно), чем (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | пара, состоящая из самого длинного префикса этого итерируемого набора, чьи элементы все удовлетворяют |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Разделяет этот итерируемый набор на пару префикс/суффикс в заданной позиции.
Примечание: c splitAt n эквивалентно (но, возможно, более эффективно), чем (c take n, c drop n).
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | пара итерируемых наборов, состоящих из первых |
| Классы определений | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Источник
Удаляет все элементы, производимые итератором, из этого сжимаемого набора.
| Параметры значения |
|
|---|---|
| Возвращает | сам сжимаемый набор |
| Унаследовано от | Shrinkable |
Источник
Суммирует элементы этого набора.
Примечание: не будет завершаться для бесконечных наборов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | сумма всех элементов этого набора относительно операции |
| Унаследовано от | IterableOnceOps |
Источник
def tail: C
Остальная часть набора без его первого элемента.
| Унаследовано от | IterableOps |
|---|
Источник
Итерирует по хвостам этого итерируемого набора. Первое значение будет этим итерируемым набором, а последнее — пустым итерируемым набором, а промежуточные значения — результатами последовательного применения tail.
| Возвращает | итератор по всем хвостам этого итерируемого набора |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Source
Выбирает первые n элементов.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемый набор, содержащий только первые |
| Унаследовано от | IterableOps |
Source
Набор, содержащий последние n элементов этого набора.
Примечание: Даже при применении к представлению или ленивому набору он всегда будет принудительно вычислять элементы.
| Классы-определения | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Source
Берёт самое длинное префиксное подмножество элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | самое длинное префиксное подмножество этого итерируемого набора, все элементы которого удовлетворяют предикату |
| Унаследовано от | IterableOps |
Source
override def tapEach[U](f: ((K, V)) => U): C
Применяет функцию с побочным эффектом к каждому элементу в этом наборе. Строгие наборы будут применять f к своим элементам немедленно, в то время как ленивые наборы, такие как представления и LazyLists, будут применять f к каждому элементу только тогда, когда этот элемент будет вычислен, и каждый раз, когда этот элемент вычисляется.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | тот же логический набор, что и этот |
| Классы-определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Source
Используя фабрику коллекций factory, преобразовать этот набор в соответствующее представление для текущего типа элементов A. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
| Унаследовано от | IterableOnceOps |
|---|
Source
Преобразовать набор в массив.
Примечание реализации: НЕ вызывайте Array.from из этого метода.
| Унаследовано от | IterableOnceOps |
|---|
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
def toIndexedSeq: IndexedSeq[A]
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
def toSeq: Последовательность[A]
| Возвращает | Это коллекция в виде |
|---|---|
| Унаследовано от | IterableOnceOps |
Исходный код
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
Возвращает строковое представление объекта.
По умолчанию представление зависит от платформы.
| Возвращает | строковое представление объекта. |
|---|---|
| Классы-определения | Карта -> Функция1 -> Итерируемый -> Любой |
| Унаследовано от | Карта |
Исходный код
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
def transpose[B](implicit asIterable: ((K, V)) => Итерируемый[B]): CC[CC[B]]
Транспонирует эту итерируемую коллекцию итерируемых коллекций в итерируемую коллекцию итерируемых коллекций.
Тип результирующей коллекции будет определяться статическим типом итерируемой коллекции. Например:
val xs = List(
Set(1, 2, 3),
Set(4, 5, 6)).transpose
// xs == List(
// List(1, 4),
// List(2, 5),
// List(3, 6))
val ys = Vector(
List(1, 2, 3),
List(4, 5, 6)).transpose
// ys == Vector(
// Vector(1, 4),
// Vector(2, 5),
// Vector(3, 6))
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | двухмерная итерируемая коллекция итерируемых коллекций, в которой n-я строка соответствует n-му столбцу этой итерируемой коллекции. |
| Исключения |
|
| Унаследовано от | IterableOps |
Исходный код
Попытка извлечь B из A в выражении сопоставления с образцом.
| Унаследовано от | PartialFunction |
|---|
Исходный код
| Описание классов | SortedMap -> SortedMapOps -> SortedMap -> SortedMapOps |
|---|---|
| Унаследовано от | SortedMap |
Источник
override def unzip[A1, A2](implicit asPair: ((K, V)) => (A1, A2)): (CC[A1], CC[A2])
Преобразует это итерируемое множество пар в два множества, содержащие первую и вторую половину каждой пары.
val xs = Iterable(
(1, "one"),
(2, "two"),
(3, "three")).unzip
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | пару итерируемых множеств, содержащих первую, соответственно вторую половину каждой пары элементов этого итерируемого множества. |
| Описание классов | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
override def unzip3[A1, A2, A3](implicit asTriple: ((K, V)) => (A1, A2, A3)): (CC[A1], CC[A2], CC[A3])
Преобразует это итерируемое множество троек в три множества первого, второго и третьего элемента каждой тройки.
val xs = Iterable(
(1, "one", '1'),
(2, "two", '2'),
(3, "three", '3')).unzip3
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three),
// Iterable(1, 2, 3))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | тройку итерируемых множеств, содержащих первый, второй, соответственно третий член каждой тройки элементов этого итерируемого множества. |
| Описание классов | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Добавляет новую пару ключ/значение в эту карту. Если карта уже содержит сопоставление для ключа, оно будет перезаписано новым значением.
| Параметры значения |
|
|---|---|
| Унаследовано от | MapOps |
Источник
Обновить сопоставление для указанного ключа и его текущего, необязательно сопоставленного значения (Some если есть текущее сопоставление, None если нет).
Если функция переназначения возвращает Some(v), сопоставление обновляется новым значением v. Если функция переназначения возвращает None, сопоставление удаляется (или остается отсутствующим, если изначально отсутствовало). Если сама функция вызывает исключение, исключение перебрасывается, а текущее сопоставление остается неизменным.
| Параметры значения |
|
|---|---|
| Возвращает | новое значение, связанное с указанным ключом |
| Унаследовано от | MapOps |
Источник
Собраны все значения этой карты в итерируемом множестве.
| Возвращает | значения этой карты как итерируемое множество. |
|---|---|
| Унаследовано от | MapOps |
Источник
Представление над элементами этого набора.
| Описание классов | MapOps -> IterableOps |
|---|---|
| Унаследовано от | MapOps |
Источник
override def withDefault(d: K => V): SortedMap[K, V]
Та же отсортированная карта с заданной функцией по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т.д., не затрагиваются withDefault.
Вызов методов преобразования (например, map) не сохранит значение по умолчанию.
| Параметры значения |
|
|---|---|
| Возвращает | обертка карты со значением по умолчанию |
| Описание классов | SortedMap -> Map |
| Унаследовано от | SortedMap |
Источник
override def withDefaultValue(d: V): SortedMap[K, V]
Та же карта со заданным значением по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т.д., не затрагиваются withDefaultValue.
Вызов методов преобразования (например, map) не сохранит значение по умолчанию.
| Параметры значения |
|
|---|---|
| Возвращает | обертка карты со значением по умолчанию |
| Описание классов | SortedMap -> Map |
| Унаследовано от | SortedMap |
Источник
Создаёт нестрогий фильтр этой карты.
Примечание: разница между c filter p и c withFilter p в том, что первый создаёт новое множество, а второй только ограничивает область последующих map, flatMap, foreach, и withFilter операций.
Примечание: может возвращать разные результаты для разных запусков, если тип базового множества не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | объект класса |
| Описание классов | SortedMapFactoryDefaults -> IterableOps |
| Унаследовано от | SortedMapFactoryDefaults |
Источник
override def zip[B](that: IterableOnce[B]): CC[(A, B)]
Возвращает итерируемое множество, сформированное из этого итерируемого множества и другого итерируемого множества путем объединения соответствующих элементов в пары. Если одно из двух множеств длиннее другого, его оставшиеся элементы игнорируются.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый итерируемый набор, содержащий пары, состоящие из соответствующих элементов этого итерируемого набора и |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Возвращает итерируемый набор, сформированный из этого итерируемого набора и другого итерируемого набора путём объединения соответствующих элементов в пары. Если один из двух наборов короче другого, для расширения более короткого набора до длины более длинного используются элементы-заполнители.
| Параметры значения |
|
|---|---|
| Возвращает | новый набор типа |
| Унаследовано от | IterableOps |
Источник
override def zipWithIndex: CC[(A, Int)]
Сцепляет этот итерируемый набор с его индексами.
| Возвращает | Новый итерируемый набор, содержащий пары, состоящие из всех элементов этого итерируемого набора, связанных с их индексом. Индексы начинаются с |
|---|---|
| Пример | |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Неявные значения
Источник
© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/collection/mutable/TreeMap.html