Класс TreeMap.TreeMap
final class TreeMap[K, +V] extends AbstractMap[K, V] with SortedMap[K, V] with StrictOptimizedSortedMapOps[K, V, TreeMap, TreeMap[K, V]] with SortedMapFactoryDefaults[K, V, TreeMap, Iterable, Map] with DefaultSerializable
Неизменяемый SortedMap, значения которого хранятся в красно-чёрном дереве.
Этот класс оптимален, когда будут выполняться запросы по диапазону или когда требуется обход в порядке заданного упорядочения. Если вам нужны только поиски по ключу и неважно, в каком порядке итерации по парам ключ-значение, используйте * scala.collection.immutable.HashMap, который, как правило, имеет лучшую производительность. Если вам нужна последовательность вставки, рассмотрите * scala.collection.immutable.SeqMap, которому не нужно задавать упорядочение.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| См. также | "Обзор библиотеки коллекций Scala" раздел по |
| Пример |
import scala.collection.immutable.TreeMap
// Make a TreeMap via the companion object factory
val weekdays = TreeMap(
2 -> "Monday",
3 -> "Tuesday",
4 -> "Wednesday",
5 -> "Thursday",
6 -> "Friday"
)
// TreeMap(2 -> Monday, 3 -> Tuesday, 4 -> Wednesday, 5 -> Thursday, 6 -> Friday)
val days = weekdays ++ List(1 -> "Sunday", 7 -> "Saturday")
// TreeMap(1 -> Sunday, 2 -> Monday, 3 -> Tuesday, 4 -> Wednesday, 5 -> Thursday, 6 -> Friday, 7 -> Saturday)
val day3 = days.get(3) // Some("Tuesday")
val rangeOfDays = days.range(2, 5) // TreeMap(2 -> Monday, 3 -> Tuesday, 4 -> Wednesday)
val daysUntil2 = days.rangeUntil(2) // TreeMap(1 -> Sunday)
val daysTo2 = days.rangeTo(2) // TreeMap(1 -> Sunday, 2 -> Monday)
val daysAfter5 = days.rangeFrom(5) // TreeMap(5 -> Thursday, 6 -> Friday, 7 -> Saturday)
|
| Надтипы | 33 типа |
Наследуемые классы
Исходный код
Реализующий класс множества, возвращаемого keySet
| Наследуется от | MapOps |
|---|
Исходный код
Реализующий класс множества, возвращаемого keySet
| Наследуется от | SortedMapOps |
|---|
Конструкторы
Исходный код
Конкретные методы
Исходный код
Возвращает новое неизменяемое дерево отображений, содержащее элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элементов неизменяемого дерева отображений — это самый общий надкласс, охватывающий типы элементов двух операндов.
| Параметры значения |
|
|---|---|
| Возвращает | новое неизменяемое дерево отображений, содержащее все элементы этого неизменяемого дерева отображений, за которыми следуют все элементы |
| Определяющие классы | StrictOptimizedSortedMapOps -> StrictOptimizedMapOps -> StrictOptimizedSortedMapOps -> StrictOptimizedMapOps -> SortedMapOps -> MapOps |
Исходный код
Выбирает все элементы, кроме первых n.
| Параметры значения |
|
|---|---|
| Возвращает | неизменяемое дерево отображений, состоящее из всех элементов этого неизменяемого дерева отображений, кроме первых |
| Определяющие классы | IterableOps -> IterableOnceOps |
Исходный код
Остальная часть коллекции без её n последних элементов. Для линейных неизменяемых коллекций это должно предотвратить создание копии.
Примечание: даже при применении к представлению или ленивой коллекции она всегда заставит элементы.
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps |
|---|
Исходный код
Удаляет самый длинный префикс элементов, удовлетворяющих предикату.
| Параметры значения |
|
|---|---|
| Возвращает | самый длинный суффикс этого неизменяемого дерева отображений, первый элемент которого не удовлетворяет предикату |
| Определяющие классы | IterableOps -> IterableOnceOps |
Исходный код
Равенство карт реализуется с помощью метода поиска get. Этот метод возвращает true если
аргумент
oявляетсяMap,две карты имеют одинаковый размер size, и
для каждой
(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 |
Исходный код
Выбирает все элементы этой неизменяемой карты дерева, которые удовлетворяют предикату.
| Параметры |
|
|---|---|
| Возвращаемое значение | новая неизменяемая карта дерева, состоящая из всех элементов этой неизменяемой карты дерева, которые удовлетворяют заданному предикату |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
Исходный код
override def firstKey: K
Возвращает первый ключ коллекции.
| Классы определений | SortedMapOps -> SortedOps |
|---|
Исходный код
Применяет f к каждому элементу для побочных эффектов. Примечание: параметр [U] необходим для помощи в выводе типов scalac.
| Классы определений | IterableOnceOps |
|---|
Исходный код
override def foreachEntry[U](f: (K, V) => U): Unit
Применяет f к каждой паре ключ/значение для побочных эффектов. Примечание: параметр [U] необходим для помощи в выводе типов scalac.
| Классы определений | MapOps |
|---|
Исходный код
Возвращает значение, связанное с ключом, или None, если оно отсутствует.
| Параметры |
|
|---|---|
| Возвращаемое значение | объект Option, содержащий значение, связанное с |
Исходный код
override def getOrElse[V1 >: V](key: K, default: => V1): V1
Возвращает значение, связанное с ключом, или значение по умолчанию, если ключ не содержится в карте.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращаемое значение | значение, связанное с |
| Классы определений | MapOps |
Исходный код
override def head: (K, V)
Выбирает первый элемент этой неизменяемой карты дерева.
| Возвращаемое значение | первый элемент этой неизменяемой карты дерева. |
|---|---|
| Исключения |
|
| Классы определений | IterableOps |
Исходный код
Первая часть коллекции без последнего элемента.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут форсироваться.
| Классы определений | IterableOps |
|---|
Исходный код
Проверяет, является ли неизменяемая карта дерева пустой.
Примечание: Реализации в подклассах, которые не являются многократно проходимыми, должны позаботиться о том, чтобы не потреблять никаких элементов, когда isEmpty вызывается.
| Возвращаемое значение |
|
|---|---|
| Классы определений | IterableOnceOps |
Исходный код
Итератор можно использовать только один раз
Исходный код
def iteratorFrom(start: K): Iterator[(K, V)]
Создает итератор по всем парам ключ/значение, содержащимся в этой карте, у которых ключ больше или равен start в соответствии с упорядочением этой карты. x.iteratorFrom(y) эквивалентно, но часто более эффективно, чем x.from(y).iterator.
| Параметры |
|
|---|
Исходный код
Собирает все ключи этой карты в множестве.
| Возвращаемое значение | множество, содержащее все ключи этой карты. |
|---|---|
| Классы определений | SortedMapOps -> SortedMapOps -> MapOps -> MapOps |
Исходный код
Возвращает Stepper для ключей этой карты. См. метод stepper.
| Классы определений | MapOps |
|---|
Исходный код
def keysIteratorFrom(start: K): Iterator[K]
Создает итератор по всем ключам (или элементам), содержащимся в этой коллекции, которые больше или равны start в соответствии с порядком этой коллекции. x.keysIteratorFrom(y) эквивалентно, но часто более эффективно, чем x.from(y).keysIterator.
| Параметры |
|
|---|
Source
| Возвращает | Количество элементов в этом неизменяемом дереве отображений, если его можно вычислить с небольшой стоимостью, -1 в противном случае. Небольшая стоимость обычно означает: не требующая обхода коллекции. |
|---|---|
| Классы определения | IterableOnce |
Source
override def last: (K, V)
Выбирает последний элемент.
| Возвращает | Последний элемент этого неизменяемого дерева отображений. |
|---|---|
| Выбрасывает |
|
| Классы определения | IterableOps |
Source
override def lastKey: K
Возвращает последний ключ коллекции.
| Классы определения | SortedMapOps -> SortedOps |
|---|
Source
Находит элемент с наибольшим ключом, меньшим заданного ключа.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Классы определения | SortedMapOps |
Source
Находит элемент с наименьшим ключом, большим или равным заданному ключу.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Классы определения | SortedMapOps |
Source
Пара, состоящая из, во-первых, всех элементов, удовлетворяющих предикату p, и, во-вторых, всех элементов, которые не удовлетворяют. Интересно тем, что разделяет коллекцию на две части.
Реализация по умолчанию, представленная здесь, требует дважды пройтись по коллекции. Строгие коллекции имеют переопределённую версию partition в StrictOptimizedIterableOps, которая требует только одного прохода.
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
|---|
Source
Создаёт проектирование диапазона этой коллекции с нижней и верхней границами.
| Параметры значения |
|
|---|---|
| Классы определения | SortedOps |
Source
Создаёт проектирование диапазона этой коллекции. Любые изменения в проектировании диапазона обновят эту коллекцию, и наоборот.
Примечание: ключи не гарантируются как согласованные между этой коллекцией и проектированием. Это верно для буферов, где индексация относительна к проектированию.
| Параметры значения |
|
|---|
Source
Удаляет ключ из этого отображения, возвращая новое отображение.
| Параметры значения |
|
|---|---|
| Возвращает | новое отображение без привязки к ключу |
Source
Создаёт новое неизменяемое дерево отображений из этого неизменяемого дерева отображений, удаляя все элементы другой коллекции.
Примечание: даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно вычисляться.
| Параметры значения |
|
|---|---|
| Возвращает | новое неизменяемое дерево отображений, содержащее все элементы текущего неизменяемого дерева отображений, за исключением одного меньшего вхождения каждого из элементов |
| Классы определения | MapOps |
Source
Размер этого неизменяемого дерева отображений.
| Возвращает | число элементов в этом неизменяемом дереве отображений. |
|---|---|
| Классы определения | IterableOnceOps |
Source
Выбирает интервал элементов. Возвращаемое неизменяемое дерево отображений состоит из всех элементов x, которые удовлетворяют инварианту:
from <= indexOf(x) < until
| Параметры значения |
|
|---|---|
| Возвращает | неизменяемое дерево отображений, содержащее элементы, большие или равные индексу |
| Классы определения | IterableOps -> IterableOnceOps |
Source
Объект-компаньон этого упорядоченного отображения, предоставляющий различные методы создания.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Классы определения | SortedMap -> SortedMap -> SortedMapOps |
Source
Разделяет это неизменяемое дерево отображений на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что оценка предиката p не вызывает побочных эффектов.
| Параметры значения |
|
|---|---|
| Возвращает | пара, состоящая из самого длинного префикса этого неизменяемого дерева отображений, элементы которого удовлетворяют |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
Источник
Возвращает 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 |
|---|
Источник
Остальная часть набора без первого элемента.
| Классы определений | IterableOps |
|---|
Источник
Выбирает первые n элементов.
| Параметры значения |
|
|---|---|
| Возвращает | неизменяемое дерево карт, содержащее только первые |
| Классы определений | IterableOps -> IterableOnceOps |
Источник
Набор, содержащий последние n элементы этого набора.
Примечание: Даже при применении к представлению или ленивому набору элементы всегда будут принудительно вычисляться.
| Классы определений | StrictOptimizedIterableOps -> IterableOps |
|---|
Источник
Берёт самую длинную префиксную последовательность элементов, которые удовлетворяют предикату.
| Параметры значения |
|
|---|---|
| Возвращает | самый длинный префикс этого неизменяемого дерева карт, чьи элементы удовлетворяют предикату |
| Классы определений | IterableOps -> IterableOnceOps |
Источник
Эта функция преобразует все значения сопоставлений, содержащихся в этой карте, с помощью функции f.
| Параметры значения |
|
|---|---|
| Возвращает | обновлённая карта |
| Классы определений | SortedMapOps -> MapOps |
Источник
Создаёт новую карту, полученную путём обновления этой карты заданной парой ключ/значение.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая карта с добавленной в неё новой связью ключ/значение. <ошибка аннотации inheritdoc> |
Источник
Возвращает Stepper для значений этой карты. См. метод stepper.
| Классы определений | MapOps |
|---|
Источник
override def valuesIteratorFrom(start: K): Iterator[V]
Создаёт итератор по всем значениям, содержащимся в этой карте, которые связаны с ключом, большим или равным start в соответствии с порядком этой карты. x.valuesIteratorFrom(y) эквивалентно, но часто более эффективно, чем x.from(y).valuesIterator.
| Параметры значения |
|
|---|---|
| Классы определений | SortedMapOps |
Наследованные методы
Источник
final override def +[V1 >: V](kv: (K, V1)): CC[K, V1]
Псевдоним для updated
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая карта с добавленной в неё новой связью. |
| Классы определений | SortedMapOps -> SortedMapOps -> MapOps -> MapOps |
| Унаследовано от | 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 |
|---|
Источник
final def -(key: K): C
Псевдоним для removed
| Унаследовано от | MapOps |
|---|
Источник
final override def --(keys: IterableOnce[K]): C
Псевдоним для removedAll
| Классы определений | MapOps -> MapOps |
|---|---|
| Унаследовано от | MapOps |
Source
Добавляет все элементы этой карты в строковый буфер, используя начальную, конечную и разделительные строки. Записываемый текст начинается со строки 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 |
Source
Добавляет все элементы этой коллекции в строковый буфер. Записываемый текст состоит из строковых представлений (относительно метода 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 |
Source
Добавляет все элементы этой коллекции в строковый буфер, используя разделительную строку. Записываемый текст состоит из строковых представлений (относительно метода 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 |
Source
Компонует эту частичную функцию с другой частичной функцией, которая применяется к результатам этой частичной функции.
Обратите внимание, что вызов isDefinedAt для полученной частичной функции может применить первую частичную функцию и выполнить её побочный эффект. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | частичная функция с областью определения этой частичной функции, суженной другой частичной функцией, которая отображает аргументы |
| Унаследовано от | PartialFunction |
Source
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 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 |
Исходный код
def concat[B >: (K, V)](suffix: IterableOnce[B]): CC[B]
Возвращает новую итерируемую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элемента итерируемой коллекции — это наиболее специфический суперкласс, охватывающий типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, которая содержит все элементы этой итерируемой коллекции, за которыми следуют все элементы |
| Унаследовано от | IterableOps |
Исходный код
Проверяет, содержит ли эта карта привязку для ключа.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | MapOps |
Исходный код
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет данный массив xs начиная с индекса start не более чем len элементами этой коллекции.
Копирование прекращается, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива, или len элементов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода итератор, на котором он был вызван, следует удалить. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Исходный код
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет данный массив xs начиная с индекса start значениями этой коллекции.
Копирование прекращается, как только будут скопированы все элементы этой коллекции или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода необходимо удалить итератор, на котором он был вызван. Его использование не определено и может быть изменено. |
| Унаследовано от | IterableOnceOps |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями из этого набора.
Копирование завершится, как только будут скопированы все элементы этого набора или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода необходимо удалить итератор, на котором он был вызван. Его использование не определено и может быть изменено. |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, удовлетворяет ли каждый элемент итератора этого набора заданному предикату по отношению к соответствующему элементу другого набора.
Примечание: не будет завершаться для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Подсчитывает количество элементов в наборе, которые удовлетворяют предикату.
Примечание: не будет завершаться для наборов бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Источник
def default(key: K): V
Определяет вычисление значения по умолчанию для карты, возвращаемое, когда ключ не найден. Реализованный здесь метод выбрасывает исключение, но может быть переопределен в подклассах.
| Параметры значения |
|
|---|---|
| Унаследовано от | MapOps |
Источник
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 |
Источник
override def empty: CC[K, V]
Пустой набор того же типа, что и этот набор
| Возвращает | пустой итерируемый объект типа |
|---|---|
| Определяющие классы | SortedMapFactoryDefaults -> IterableOps |
| Унаследовано от | SortedMapFactoryDefaults |
Источник
Проверяет, выполняется ли предикат хотя бы для одного элемента в этом наборе.
Примечание: может не завершиться для бесконечных наборов.
| Параметры |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Выбирает все элементы этого итерируемого набора, которые не удовлетворяют предикату.
| Параметры |
|
|---|---|
| Возвращает | новый итерируемый набор, содержащий все элементы исходного набора, которые не удовлетворяют заданному предикату |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Находит первый элемент в наборе, удовлетворяющий предикату, если таковой существует.
Примечание: может не завершиться для бесконечных наборов.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Параметры |
|
|---|---|
| Возвращает | объект типа Option, содержащий первый элемент в наборе, который удовлетворяет |
| Унаследовано от | IterableOnceOps |
Источник
override def flatMap[K2, V2](f: ((K, V)) => IterableOnce[(K2, V2)]): CC[K2, V2]
Создает новый набор, применяя функцию ко всем элементам этого набора и используя элементы полученных коллекций.
| Параметры |
|
|---|---|
| Возвращает | новый набор, полученный путем применения заданной функции, принимающей коллекцию |
| Определяющие классы | StrictOptimizedMapOps -> MapOps |
| Унаследовано от | StrictOptimizedMapOps |
Источник
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 |
Источник
override def flatMap[K2, V2](f: ((K, V)) => IterableOnce[(K2, V2)])(implicit ordering: Ordering[K2]): CC[K2, V2]
Создаёт новый отсортированный массив, применяя функцию ко всем элементам этого массива и используя элементы полученных наборов.
| Параметры значения |
|
|---|---|
| Возвращает | новый массив, полученный в результате применения заданной функции, принимающей набор в качестве значения |
| Определяющие классы | StrictOptimizedSortedMapOps -> SortedMapOps |
| Унаследовано от | StrictOptimizedSortedMapOps |
Источник
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 |
Источник
def fold[A1 >: (K, V)](z: A1)(op: (A1, A1) => A1): A1
Складывает элементы этого набора с помощью указанного ассоциативного бинарного оператора. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективных порядков обхода.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Примечание: не завершится для наборов бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат применения оператора сложения |
| Унаследовано от | IterableOnceOps |
Источник
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 |
Источник
override protected def fromSpecific(coll: IterableOnce[(K, V)]): CC[K, V]
Определяет, как преобразовать заданный Iterable[A] в набор типа C.
Этот процесс может быть выполнен строго или нестрого (т. е. без оценки элементов результирующих наборов). Другими словами, этот метод определяет модель оценки набора.
| Примечание |
При реализации пользовательского типа набора и уточнении Как показывает аннотация |
|---|---|
| Определяющие классы | SortedMapFactoryDefaults -> IterableOps |
| Унаследовано от | SortedMapFactoryDefaults |
Источник
Разделяет этот итерируемый набор на карту итерируемых наборов в соответствии с некоторой функцией дискриминатора.
Примечание: даже при применении к представлению или ленивому набору, элементы всегда будут принудительно вычисляться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
Словарь, отображающий ключи на итерируемые коллекции таким образом, что выполняется следующее инвариантное свойство: (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 |
Исходный код
Итерирует по начальным частям этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения будут результатами последовательных применений init.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Возвращает | итератор по всем начальным частям этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Исходный код
def isDefinedAt(key: K): Boolean
Проверяет, содержит ли этот словарь привязку для ключа. Этот метод, реализующий абстрактный метод трейта PartialFunction, эквивалентен contains.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | MapOps |
Исходный код
override def isTraversableAgain: Boolean
Проверяет, может ли эта итерируемая коллекция быть многократно пройдена. Всегда истинно для Iterables и ложно для Iterators, если не переопределено.
| Возвращает |
|
|---|---|
| Классы определения | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Исходный код
Объект-компаньон этой неизменяемой коллекции, предоставляющий различные методы создания объектов.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Классы определения | Iterable -> Iterable -> IterableOps |
| Унаследовано от | Iterable |
Исходный код
Собирает все ключи этого словаря в итерируемой коллекции.
| Возвращает | ключи этого словаря как итерируемую коллекцию. |
|---|---|
| Унаследовано от | MapOps |
Исходный код
def keysIterator: Iterator[K]
Создает итератор для всех ключей.
| Возвращает | итератор по всем ключам. |
|---|---|
| Унаследовано от | MapOps |
Исходный код
def lastOption: Option[A]
Возвращает опциональный последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Возвращает | последний элемент этой итерируемой коллекции, если она не пуста, |
|---|---|
| Унаследовано от | IterableOps |
Source
Аналогично 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 |
Source
Преобразует эту частичную функцию в обычную функцию, возвращающую результат Option.
| Возвращает | функция, которая принимает аргумент |
|---|---|
| См. также | Function.unlift |
| Унаследовано от | PartialFunction |
Source
override def map[K2, V2](f: ((K, V)) => (K2, V2)): CC[K2, V2]
Создаёт новую карту, применяя функцию ко всем элементам этой карты.
| Параметры значения |
|
|---|---|
| Возвращает | новая карта, полученная путём применения заданной функции |
| Классы-определения | StrictOptimizedMapOps -> MapOps |
| Унаследовано от | StrictOptimizedMapOps |
Source
override def map[B](f: ((K, V)) => B): CC[B]
Создаёт новую итерабельную коллекцию, применяя функцию ко всем элементам этой итерабельной коллекции.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерабельная коллекция, полученная путём применения заданной функции |
| Классы-определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Source
Создаёт новую отсортированную карту, применяя функцию ко всем элементам этой карты.
| Параметры значения |
|
|---|---|
| Возвращает | новая карта, полученная путём применения заданной функции |
| Классы-определения | StrictOptimizedSortedMapOps -> SortedMapOps |
| Унаследовано от | StrictOptimizedSortedMapOps |
Source
Объект-компаньон этой карты, предоставляющий различные методы фабрики.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Классы-определения | Map -> Map -> MapOps |
| Унаследовано от | Map |
Source
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | наибольший элемент этой коллекции по отношению к порядку |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который дает наибольшее значение, измеряемое функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | первый элемент этой коллекции с наибольшим значением, измеряемым функцией f по отношению к порядку |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который дает наибольшее значение, измеряемое функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | значение опции, содержащей первый элемент этой коллекции с наибольшим значением, измеряемым функцией f по отношению к порядку |
| Унаследовано от | IterableOnceOps |
Source
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | значение опции, содержащей наибольший элемент этой коллекции по отношению к порядку |
| Унаследовано от | IterableOnceOps |
Source
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | наименьший элемент этого набора относительно упорядочения |
| Выбрасывает |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наименьшее значение, измеряемое функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этого набора с наименьшим значением, измеренным функцией f, относительно упорядочения |
| Выбрасывает |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наименьшее значение, измеряемое функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение Option, содержащее первый элемент этого набора с наименьшим значением, измеренным функцией f, относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение Option, содержащее наименьший элемент этого набора относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этого набора в строке.
Делегирует addString, который можно переопределить.
| Возвращает | строковое представление этого набора. В результирующей строке строковые представления (в соответствии с методом |
|---|---|
| Унаследовано от | IterableOnceOps |
Source
Отображает все элементы этого набора в строке с использованием разделителя.
Делегирует вызов addString, который может быть переопределён.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этого набора. В результирующей строке строковые представления (в соответствии с методом |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
Отображает все элементы этого набора в строке с использованием начальной, конечной и разделительной строк.
Делегирует вызов addString, который может быть переопределён.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этого набора. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
override protected def newSpecificBuilder: Builder[(K, V), CC[K, V]]
| Возвращает | строгий билдер для того же типа коллекции. Обратите внимание, что в случае ленивых коллекций (например, scala.collection.View или scala.collection.immutable.LazyList) реализовать этот метод возможно, но полученный |
|---|---|
| Примечание |
При реализации пользовательского типа коллекции и уточнении Как показывает аннотация |
| Классы определения | SortedMapFactoryDefaults -> IterableOps |
| Унаследовано от | SortedMapFactoryDefaults |
Source
Проверяет, пуста ли коллекция.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Source
Комбинирует эту частичную функцию с резервной частичной функцией, которая применяется, когда эта частичная функция не определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция, которая имеет в качестве области определения объединение областей определения этой частичной функции и |
| Унаследовано от | PartialFunction |
Source
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 |
Source
Перемножает элементы этого набора.
Примечание: не будет завершаться для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | произведение всех элементов этого набора относительно операции |
| Унаследовано от | IterableOnceOps |
Source
def rangeFrom(from: K): C
Создаёт проекцию диапазона этого набора без верхней границы.
| Параметры значения |
|
|---|---|
| Унаследовано от | SortedOps |
Source
def rangeTo(to: K): C
Создаёт проекцию диапазона этого набора без нижней границы.
| Параметры значения |
|
|---|---|
| Унаследовано от | SortedMapOps |
Source
def rangeUntil(until: K): C
Создаёт проекцию диапазона этого набора без нижней границы.
| Параметры значения |
|
|---|---|
| Унаследовано от | SortedOps |
Source
def reduce[B >: (K, V)](op: (B, B) => B): B
Сводит элементы этого набора, используя указанную ассоциативную бинарную операцию.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | Результат применения оператора reduce |
| Выбрасывает |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceLeft[B >: (K, V)](op: (B, (K, V)) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции слева направо.
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | результат вставки |
| Выбрасывает |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceLeftOption[B >: (K, V)](op: (B, (K, V)) => B): Option[B]
Опционально применяет бинарный оператор ко всем элементам этой коллекции слева направо.
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение Option, содержащее результат |
| Унаследовано от | IterableOnceOps |
Источник
def reduceOption[B >: (K, V)](op: (B, B) => B): Option[B]
Сокращает элементы этой коллекции, если таковые имеются, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | Значение Option, содержащее результат применения оператора reduce |
| Унаследовано от | IterableOnceOps |
Источник
def reduceRight[B >: (K, V)](op: ((K, V), B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции справа налево.
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | результат вставки |
| Выбрасывает |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceRightOption[B >: (K, V)](op: ((K, V), B) => B): Option[B]
Применяет бинарный оператор ко всем элементам этого набора, двигаясь справа налево.
Примечание: не завершается для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение варианта, содержащее результат |
| Унаследовано от | IterableOnceOps |
Источник
| Унаследовано от | 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 |
Источник
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 |
Исходный код
Разделяет этот итерируемый набор на пару префикс/суффикс в заданной позиции.
Примечание: c splitAt n эквивалентно (но, возможно, более эффективно), чем (c take n, c drop n).
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | пара итерируемых наборов, состоящих из первых |
| Классы определения | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Исходный код
Суммирует элементы этого набора.
Примечание: не будет завершаться для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | сумма всех элементов этого набора по отношению к оператору |
| Унаследовано от | IterableOnceOps |
Исходный код
Итерирует по хвостам этого итерируемого набора. Первое значение будет этим итерируемым набором, а последнее — пустым итерируемым набором, а промежуточные значения — результаты последовательных применений tail.
| Возвращает | итератор по всем хвостам этого итерируемого набора |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Исходный код
override def tapEach[U](f: ((K, V)) => U): C
Применяет функцию со побочным эффектом к каждому элементу в этом наборе. Строгие наборы немедленно применяют f к своим элементам, в то время как ленивые наборы, такие как представления и LazyLists, применяют f только к каждому элементу при и если этот элемент оценивается, и каждый раз, когда этот элемент оценивается.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | логически тот же набор, что и этот |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
Используя фабрику наборов factory, преобразуйте этот набор в соответствующее представление для текущего типа элемента A. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
Преобразование набора в массив.
Примечание к реализации: НЕ вызывайте Array.from из этого метода.
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
def toIndexedSeq: IndexedSeq[A]
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
| Классы определения | Map -> IterableOnceOps |
|---|---|
| Унаследовано от | Map |
Исходный код
| Возвращает | Этот набор как |
|---|---|
| Унаследовано от | IterableOnceOps |
Исходный код
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
Возвращает строковое представление объекта.
По умолчанию представление зависит от платформы.
| Возвращает | строковое представление объекта. |
|---|---|
| Классы определения | Map -> Function1 -> Iterable -> Any |
| Унаследовано от | Map |
Исходный код
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
Транспонирует этот итерируемый набор итерируемых наборов в итерируемый набор итерируемых наборов.
Тип результирующего набора будет определяться статическим типом итерируемого набора. Например:
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 |
Исходный код
Обновляет отображение для указанного ключа и его текущего, возможно, сопоставленного значения (Some если существует текущее отображение, None если нет).
Если функция переопределения возвращает Some(v), отображение обновляется с новым значением v. Если функция переопределения возвращает None, отображение удаляется (или остается отсутствующим, если изначально отсутствовало). Если сама функция вызывает исключение, исключение перебрасывается, а текущее отображение остается неизменным.
| Параметры значения |
|
|---|---|
| Возвращает | новый словарь с обновленным отображением с ключом |
| Классы-предки | SortedMapOps -> MapOps |
| Унаследовано от | SortedMapOps |
Исходный код
Собирает все значения этого словаря в итерируемой коллекции.
| Возвращает | значения этого словаря в виде итерируемой коллекции. |
|---|---|
| Унаследовано от | MapOps |
Исходный код
def valuesIterator: Iterator[V]
Создает итератор для всех значений в этом словаре.
| Возвращает | итератор по всем значениям, которые связаны с каким-либо ключом в этом словаре. |
|---|---|
| Унаследовано от | MapOps |
Исходный код
Представление над элементами этой коллекции.
| Классы-предки | MapOps -> IterableOps |
|---|---|
| Унаследовано от | MapOps |
Исходный код
override def withDefault[V1 >: V](d: K => V1): SortedMap[K, V1]
Тот же словарь с заданной функцией по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т. д., не затрагиваются withDefault.
Вызов методов преобразователей (например, map) не сохранит значение по умолчанию.
| Параметры значения |
|
|---|---|
| Возвращает | обёртку словаря со значением по умолчанию |
| Классы-предки | SortedMap -> Map |
| Унаследовано от | SortedMap |
Исходный код
override def withDefaultValue[V1 >: V](d: V1): SortedMap[K, V1]
Тот же словарь с заданным значением по умолчанию. Примечание: значение по умолчанию используется только для 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/immutable/TreeMap.html