Класс Map.WithDefault
class WithDefault[K, V](val underlying: Map[K, V], val defaultValue: K => V) extends AbstractMap[K, V] with MapOps[K, V, Map, WithDefault[K, V]] with Serializable
| Подтипы | 27 типов |
|---|---|
| Известные подтипы |
Конкретные методы
Исходный код
def addOne(elem: (K, V)): WithDefault.this.type
Добавляет один элемент в эту изменяемую карту.
| Параметры значения |
|
|---|---|
| Возвращает | изменяемую карту. |
Исходный код
Очищает содержимое этого билдера. После выполнения этого метода билдер не будет содержать элементов.
| Классы определения | MapOps -> Builder -> Clearable |
|---|
Исходный код
Возвращает новую изменяемую карту, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элементов изменяемой карты — это самый специфичный суперкласс, охватывающий типы элементов двух операндов.
| Параметры значения |
|
|---|---|
| Возвращает | новая изменяемая карта, которая содержит все элементы этой изменяемой карты, за которыми следуют все элементы |
| Классы определения | MapOps |
Исходный код
override def default(key: K): V
Определяет вычисление значения по умолчанию для карты, возвращаемое, когда ключ не найден. Реализованный здесь метод выбрасывает исключение, но он может быть переопределен в подклассах.
| Параметры значения |
|
|---|---|
| Классы определения | MapOps |
Исходный код
override def empty: WithDefault[K, V]
Пустой итератор того же типа, что и этот итератор.
| Возвращает | пустой итератор типа |
|---|---|
| Классы определения | MapFactoryDefaults -> IterableFactoryDefaults -> IterableOps |
Исходный код
Необязательно возвращает значение, связанное с ключом.
| Параметры значения |
|
|---|---|
| Возвращает | вариант значения, содержащий значение, связанное с |
Источник
Проверяет, является ли изменяемая карта пустой.
Примечание: Реализации в подклассах, которые не являются многократно проходными, должны позаботиться о том, чтобы не использовать какие-либо элементы при вызове isEmpty.
| Возвращает |
|
|---|---|
| Классы определений | IterableOnceOps |
Источник
Итератор может быть использован только один раз
Источник
| Возвращает | Количество элементов в коллекции, если его можно вычислить быстро, -1 в противном случае. Реализация по умолчанию всегда возвращает -1. |
|---|---|
| Классы определений | MapOps -> Growable -> IterableOnce |
Источник
Объект-компаньон этой карты, предоставляющий различные методы фабрик.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Классы определений | Map -> Map -> MapOps |
Источник
def subtractOne(elem: K): WithDefault.this.type
Удаляет один элемент из этой изменяемой карты.
| Параметры значения |
|
|---|---|
| Возвращает | сама изменяемая карта |
Наследованные методы
Источник
def ++[V2 >: V](xs: IterableOnce[(K, V2)]): CC[K, V2]
Псевдоним для concat
| Наследованный от | MapOps |
|---|
Источник
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. Внутри строковые представления (с точки зрения метода 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, Глава 28 для обсуждения и проектирования.
| Параметры значения |
|
|---|---|
| Возвращает | true, если этот экземпляр потенциально может быть равен |
| Унаследовано от | Map |
Исходный код
override def clone(): C
Создает копию объекта-получателя.
По умолчанию реализация метода clone зависит от платформы.
| Возвращает | копию объекта-получателя. |
|---|---|
| Примечание | не определен SLS как член AnyRef |
| Определяющие классы | MapOps -> Cloneable -> Object |
| Унаследовано от | MapOps |
Исходный код
def collect[K2, V2](pf: PartialFunction[(K, V), (K2, V2)]): CC[K2, V2]
Создает новую коллекцию, применяя частичную функцию ко всем элементам этой карты, для которых функция определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая карта, полученная в результате применения заданной частичной функции |
| Унаследовано от | MapOps |
Исходный код
def collect[B](pf: PartialFunction[(K, V), B]): CC[B]
Создаёт новую итерируемую коллекцию, применяя частичную функцию ко всем элементам этой итерируемой коллекции, для которых функция определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, полученная в результате применения заданной частичной функции |
| Унаследовано от | IterableOps |
Исходный код
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение опции, содержащей 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 |
Source
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start не более чем len элементами из этого набора.
Копирование прекращается, как только скопированы все элементы этого набора, достигнут конец массива или скопировано len элементов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода необходимо отказаться от итератора, на котором он был вызван. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Source
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями из этого набора.
Копирование прекращается, как только скопированы все элементы этого набора или достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода необходимо отказаться от итератора, на котором он был вызван. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Source
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями из этого набора.
Копирование прекращается, как только скопированы все элементы этого набора или достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода необходимо отказаться от итератора, на котором он был вызван. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Source
Проверяет, удовлетворяет ли каждый элемент итератора этого набора отношению к соответствующему элементу другого набора, удовлетворяя условиям предиката.
Примечание: не будет завершаться для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Source
Подсчитывает количество элементов в наборе, удовлетворяющих предикату.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Источник
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, кроме первых |
| Унаследовано от | IterableOps |
Источник
Выбирает все элементы, кроме последних n.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, кроме последних |
| Унаследовано от | IterableOps |
Источник
Удаляет самую длинную префиксную последовательность элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | самый длинный суффикс этой итерируемой коллекции, первый элемент которого не удовлетворяет предикату |
| Унаследовано от | IterableOps |
Источник
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 |
Источник
Равенство карт реализуется с использованием метода поиска 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
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Классы определений | Map -> Equals -> Any |
| Унаследовано от | Map |
Источник
Проверяет, выполняется ли предикат хотя бы для одного элемента этого набора.
Примечание: для бесконечных наборов может не завершиться.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Выбирает все элементы этого итерируемого набора, которые удовлетворяют предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новый итерируемый набор, состоящий из всех элементов этого итерируемого набора, которые удовлетворяют заданному предикату |
| Унаследовано от | IterableOps |
Источник
Оставляет только те сопоставления, для которых предикат p возвращает true.
| Параметры значения |
|
|---|---|
| Унаследовано от | MapOps |
Источник
Выбирает все элементы этого итерируемого набора, которые не удовлетворяют предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новый итерируемый набор, состоящий из всех элементов этого итерируемого набора, которые не удовлетворяют заданному предикату |
| Унаследовано от | IterableOps |
Источник
Находит первый элемент набора, удовлетворяющий предикату, если такой существует.
Примечание: для бесконечных наборов может не завершиться.
Примечание: может возвращать разные результаты для разных запусков, если тип основного набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа Option, содержащее первый элемент в наборе, который удовлетворяет предикату |
| Унаследовано от | IterableOnceOps |
Источник
def flatMap[K2, V2](f: ((K, V)) => IterableOnce[(K2, V2)]): CC[K2, V2]
Создаёт новое отображение, применяя функцию ко всем элементам этого отображения и используя элементы полученных наборов.
| Параметры значения |
|
|---|---|
| Возвращает | новое отображение, полученное путём применения заданной функции, принимающей набор, |
| Унаследовано от | MapOps |
Источник
def flatMap[B](f: ((K, V)) => IterableOnce[B]): CC[B]
Строит новый итерируемый набор, применяя функцию ко всем элементам этого итерируемого набора и используя элементы полученных наборов.
Например:
def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")
Тип результирующего набора определяется статическим типом итерируемого набора. Это может иногда приводить к неожиданным результатам. Например:
// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)
// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap ((word: String) => word.toSeq)
// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)
// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый итерируемый набор, полученный путём применения заданной функции, принимающей набор, |
| Унаследовано от | IterableOps |
Источник
def flatten[B](implicit asIterable: ((K, V)) => IterableOnce[B]): CC[B]
Преобразует этот итерируемый набор наборов в итерируемый набор, образованный элементами этих наборов.
Тип результирующего набора определяется типом итерируемого набора. Например:
val xs = List(
Set(1, 2, 3),
Set(1, 2, 3)
).flatten
// xs == List(1, 2, 3, 1, 2, 3)
val ys = Set(
List(1, 2, 3),
List(3, 2, 1)
).flatten
// ys == Set(1, 2, 3)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый итерируемый набор, полученный путём конкатенации всех наборов элементов. |
| Унаследовано от | IterableOps |
Источник
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 |
Источник
Применяет f к каждому элементу для его побочных эффектов. Примечание: параметр [U] необходим для помощи в инференции типов scalac.
| Унаследовано от | IterableOnceOps |
|---|
Источник
def foreachEntry[U](f: (K, V) => U): Unit
Применяет f к каждой паре ключ/значение для ее побочных эффектов. Примечание: параметр [U] необходим для помощи в инференции типов scalac.
| Унаследовано от | MapOps |
|---|
Источник
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 head: A
Выбирает первый элемент этого итерируемого набора.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не является упорядоченным.
| Возвращает | первый элемент этого итерируемого набора. |
|---|---|
| Выбрасывает |
|
| Унаследовано от | IterableOps |
Источник
def headOption: Option[A]
Выбирает первый элемент, если он есть.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не является упорядоченным.
| Возвращает | первый элемент этого итерируемого набора, если он не пуст, |
|---|---|
| Унаследовано от | IterableOps |
Источник
def init: C
Первая часть набора без последнего элемента.
Примечание: Даже при применении к представлению или ленивому набору, элементы всегда будут принудительно вычислены.
| Унаследовано от | IterableOps |
|---|
Источник
Итерируется по начальным частям этого итерируемого набора. Первое значение будет этим итерируемым набором, а последнее — пустым итерируемым набором, при этом промежуточные значения являются результатом последовательных применений init.
Примечание: Даже при применении к представлению или ленивому набору, элементы всегда будут принудительно вычислены.
| Возвращает | итератор по всем начальным частям этого итерируемого набора |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Источник
def isDefinedAt(key: K): Boolean
Проверяет, содержит ли эта карта привязку для ключа. Этот метод, реализующий абстрактный метод тракта PartialFunction, эквивалентен contains.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | MapOps |
Источник
override def isTraversableAgain: Boolean
Проверяет, можно ли повторно пройти по этому итерируемому набору. Всегда true для Iterable и false для Iterator, если не переопределено.
| Возвращает |
|
|---|---|
| Определяющие классы | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Источник
Компаньон-объект этого итерируемого набора, предоставляющий различные методы создания.
| Примечание | При реализации пользовательского типа набора и уточнении |
|---|---|
| Определяющие классы | Iterable -> Iterable -> IterableOps |
| Унаследовано от | Iterable |
Источник
Собирает все ключи этой карты в множестве.
| Возвращает | множество, содержащее все ключи этой карты. |
|---|---|
| Унаследовано от | MapOps |
Источник
Возвращает Stepper для ключей этой карты. См. метод stepper.
| Унаследовано от | MapOps |
|---|
Источник
Собирает все ключи этой карты в итерируемый набор.
| Возвращает | ключи этой карты в виде итерируемого набора. |
|---|---|
| Унаследовано от | MapOps |
Источник
def keysIterator: Iterator[K]
Создает итератор для всех ключей.
| Возвращает | итератор по всем ключам. |
|---|---|
| Унаследовано от | MapOps |
Источник
def last: A
Выбирает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не является упорядоченным.
| Возвращает | Последний элемент этого итерируемого набора. |
|---|---|
| Выбрасывает |
|
| Унаследовано от | IterableOps |
Источник
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 |
Источник
def map[K2, V2](f: ((K, V)) => (K2, V2)): CC[K2, V2]
Создаёт новую карту, применяя функцию ко всем элементам этой карты.
| Параметры значений |
|
|---|---|
| Возвращает | новая карта, полученная в результате применения заданной функции |
| Унаследовано от | MapOps |
Источник
def map[B](f: ((K, V)) => B): CC[B]
Создаёт новую итерируемую коллекцию, применяя функцию ко всем элементам этой итерируемой коллекции.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | новая итерируемая коллекция, полученная в результате применения заданной функции |
| Унаследовано от | IterableOps |
Источник
Бильдер, полученный из этого билдера путём отображения результата с помощью f.
| Унаследовано от | Builder |
|---|
Источник
def mapValuesInPlace(f: (K, V) => V): MapOps.this.type
Применяет функцию преобразования ко всем значениям, содержащимся в этой карте. Функция преобразования создаёт новые значения из существующих связанных с ключами значений.
| Параметры значений |
|
|---|---|
| Возвращает | сама карта. |
| Унаследовано от | MapOps |
Источник
Находит наибольший элемент.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | наибольший элемент этой коллекции относительно порядка |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наибольшим значением, измеренным функцией f по отношению к порядку |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа option, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f по отношению к порядку |
| Унаследовано от | IterableOnceOps |
Source
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа option, содержащее наибольший элемент этой коллекции по отношению к порядку |
| Унаследовано от | IterableOnceOps |
Source
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | наименьший элемент этой коллекции по отношению к порядку |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который даёт наименьшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | первый элемент этого набора с наименьшим значением, измеренным функцией f с учётом порядка |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который даёт наименьшее значение, измеренное функцией f.
Примечание: не завершится для наборов бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение Option, содержащее первый элемент этого набора с наименьшим значением, измеренным функцией f с учётом порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершится для наборов бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение Option, содержащее наименьший элемент этого набора с учётом порядка |
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этого набора в строке.
Делегирует addString, который может быть переопределён.
| Возвращает | строковое представление этого набора. В результирующей строке строковые представления (с учётом метода |
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этого набора в строке с использованием разделительной строки.
Делегирует addString, который может быть переопределён.
| Параметры значений |
|
|---|---|
| Возвращает | строковое представление этого набора. В результирующей строке строковые представления (с учётом метода |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этого набора в строке с использованием начальной, конечной и разделительной строк.
Делегирует addString, который может быть переопределён.
| Параметры значений |
|
|---|---|
| Возвращает | строковое представление этого набора. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, не пуст ли набор.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Компонует эту частичную функцию с резервной частичной функцией, которая применяется в случаях, когда эта частичная функция не определена.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | частичная функция, область определения которой является объединением областей определения этой частичной функции и |
| Унаследовано от | PartialFunction |
Источник
Пара, состоящая из, во-первых, всех элементов, удовлетворяющих предикату p, и, во-вторых, всех элементов, которые не удовлетворяют ему. Интересно тем, что разбивает набор на две части.
Реализация по умолчанию, представленная здесь, требует двух проходов по набору. Строгие наборы имеют переопределённую версию partition в StrictOptimizedIterableOps, которая требует только одного прохода.
| Унаследовано от | IterableOps |
|---|
Источник
def partitionMap[A1, A2](f: ((K, V)) => Either[A1, A2]): (CC[A1], CC[A2])
Применяет функцию f к каждому элементу набора и возвращает пару наборов: первый набор содержит значения, возвращённые f, заключённые в scala.util.Left, а второй набор содержит значения, заключённые в scala.util.Right.
Пример:
val xs = Iterable(1, "one", 2, "two", 3, "three") partitionMap {
case i: Int => Left(i)
case s: String => Right(s)
}
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | пару итерируемых наборов: первый содержит значения, возвращённые |
| Унаследовано от | IterableOps |
Источник
Перемножает элементы этого набора.
Примечание: не завершится для наборов бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | произведение всех элементов этой коллекции по отношению к оператору |
| Унаследовано от | IterableOnceOps |
Источник
Добавляет новую пару ключ/значение в эту карту и необязательно возвращает ранее связанное значение. Если в карте уже есть отображение для ключа, оно будет перезаписано новым значением.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа Option, содержащее значение, связанное с ключом до выполнения операции |
| Унаследовано от | MapOps |
Источник
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]
Применяет (опционально) бинарный оператор ко всем элементам этой коллекции, справа налево.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее результат |
| Унаследовано от | IterableOnceOps |
Источник
Удаляет ключ из этой карты, возвращая значение, ранее связанное с этим ключом, как значение типа Option.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа 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 |
Исходный код
def scanLeft[B](z: B)(op: (B, (K, V)) => B): CC[B]
Создаёт итерируемую коллекцию, содержащую кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | коллекция с промежуточными результатами |
| Унаследовано от | IterableOps |
Исходный код
def scanRight[B](z: B)(op: ((K, V), B) => B): CC[B]
Создаёт коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Головка коллекции — последний кумулятивный результат.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычислены.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | коллекция с промежуточными результатами |
| Унаследовано от | IterableOps |
Исходный код
Размер этой коллекции.
Примечание: не завершится для коллекций бесконечного размера.
| Возвращает | количество элементов в этой коллекции. |
|---|---|
| Унаследовано от | IterableOnceOps |
Исходный код
Сравнивает размер этой итерируемой коллекции с размером другой 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 |
Исходный код
Даёт подсказку о том, что ожидается, что размер этого билдера будет равен размеру заданной коллекции плюс некоторое значение дельты. Это обеспечит подсказку только в том случае, если коллекция имеет известный размер. Некоторые классы билдеров оптимизируют свою структуру на основе подсказки. Однако реализации билдеров должны работать корректно даже если подсказка неверна, то есть, если добавляется другое количество элементов.
| Параметры значения |
|
|---|---|
| Унаследовано от | 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 не вызывает побочных эффектов.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | пара, состоящая из самого длинного префикса этой итерируемой коллекции, элементы которой все удовлетворяют |
| Унаследовано от | IterableOps |
Источник
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в заданной позиции.
Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | пара итерируемых коллекций, состоящая из первых |
| Классы определений | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Источник
Возвращает scala.collection.Stepper для элементов этой коллекции.
Stepper позволяет создать Java-поток для работы с коллекцией, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, Stepper может использоваться как итератор, который не упаковывает элементы.
Неявный параметр scala.collection.StepperShape определяет тип возвращаемого Stepper в соответствии с типом элемента этой коллекции.
Для коллекций типа
Int,Short,ByteилиChar, возвращается scala.collection.IntStepperДля коллекций типа
DoubleилиFloat, возвращается scala.collection.DoubleStepperДля коллекций типа
Longвозвращается scala.collection.LongStepperДля любого другого типа элементов возвращается scala.collection.AnyStepper
Обратите внимание, что этот метод переопределяется в подклассах, и тип возвращаемого значения уточняется до S with EfficientSplit, например scala.collection.IndexedSeqOps.stepper. Для Steppers, помеченных как scala.collection.Stepper.EfficientSplit, преобразователи в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Steppers могут быть преобразованы только в последовательные потоки.
| Унаследовано от | IterableOnce |
|---|
Источник
Удаляет все элементы, производимые итератором, из этой сжимаемой коллекции.
| Параметры значения |
|
|---|---|
| Возвращает | сама сжимаемая коллекция |
| Унаследовано от | Shrinkable |
Источник
Суммирует элементы этой коллекции.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | сумма всех элементов этой коллекции по отношению к оператору |
| Унаследовано от | IterableOnceOps |
Источник
def tail: C
Остальная часть коллекции без ее первого элемента.
| Унаследовано от | IterableOps |
|---|
Источник
Итерирует хвосты этого итерируемого набора. Первое значение будет этим итерируемым набором, а последнее — пустым итерируемым набором, промежуточные значения — результаты последовательного применения tail.
| Возвращает | итератор по всем хвостам этого итерируемого набора |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Выбирает первые n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемый набор, состоящий только из первых |
| Унаследовано от | IterableOps |
Источник
Выбирает последние n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемый набор, состоящий только из последних |
| Унаследовано от | IterableOps |
Источник
Возвращает самую длинную префиксную последовательность элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | самая длинная префиксная последовательность этого итерируемого набора, все элементы которой удовлетворяют предикату |
| Унаследовано от | IterableOps |
Источник
override def tapEach[U](f: ((K, V)) => U): C
Применяет функцию со побочным эффектом к каждому элементу в этом наборе. Строгие наборы немедленно применяют f к своим элементам, в то время как ленивые наборы, такие как представления и LazyLists, применяют f к каждому элементу только при его вычислении и каждый раз, когда элемент вычисляется.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | логически такой же набор, как этот |
| Классы определений | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Источник
Принимая фабрику набора 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 |
|---|
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Возвращает | Этот набор как |
|---|---|
| Унаследовано от | 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 |
|---|
Источник
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))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | пара итерируемых наборов, содержащих первую, соответственно вторую половину каждой пары элементов этого итерируемого набора. |
| Унаследованно от | IterableOps |
Источник
def unzip3[A1, A2, A3](implicit asTriple: ((K, V)) => (A1, A2, A3)): (CC[A1], CC[A2], CC[A3])
Преобразует этот итерируемый набор троек в три набора первого, второго и третьего элемента каждой тройки.
val xs = Iterable(
(1, "one", '1'),
(2, "two", '2'),
(3, "three", '3')).unzip3
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three),
// Iterable(1, 2, 3))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | тройка итерируемых наборов, содержащих первый, второй, соответственно третий член каждой тройки элементов этого итерируемого набора. |
| Унаследованно от | IterableOps |
Источник
Добавляет новую пару ключ/значение в этот массив. Если в массиве уже есть отображение для ключа, оно будет перезаписано новым значением.
| Параметры значения |
|
|---|---|
| Унаследованно от | MapOps |
Источник
Обновляет отображение для указанного ключа и его текущего значения, которое может быть необязательным (Some если есть текущее отображение, None если нет).
Если функция переназначения возвращает Some(v), отображение обновляется с новым значением v. Если функция переназначения возвращает None, отображение удаляется (или остается отсутствующим, если изначально отсутствовало). Если сама функция вызывает исключение, исключение перехватывается, а текущее отображение остается без изменений.
| Параметры значения |
|
|---|---|
| Возвращает | новое значение, связанное с указанным ключом |
| Унаследованно от | MapOps |
Источник
Возвращает Stepper для значений этого массива. См. метод stepper.
| Унаследованно от | MapOps |
|---|
Источник
Собраны все значения этого массива в итерируемый набор.
| Возвращает | значения этого массива в виде итерируемого объекта. |
|---|---|
| Унаследованно от | MapOps |
Источник
def valuesIterator: Iterator[V]
Создает итератор для всех значений в этом массиве.
| Возвращает | итератор по всем значениям, которые связаны с некоторым ключом в этом массиве. |
|---|---|
| Унаследованно от | MapOps |
Источник
Представление элементов этого набора.
| Классы определения | MapOps -> IterableOps |
|---|---|
| Унаследованно от | MapOps |
Источник
def withDefault(d: K => V): Map[K, V]
Тот же массив с заданной функцией по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т.д., не затрагиваются withDefaultValue.
Вызов методов преобразования (например, map) не сохранит значение по умолчанию.
| Параметры значения |
|
|---|---|
| Возвращает | обёртка над массивом со значением по умолчанию |
| Унаследованно от | Map |
Источник
def withDefaultValue(d: V): Map[K, V]
Тот же массив с заданным значением по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т.д., не затрагиваются withDefaultValue.
Вызов методов преобразования (например, map) не сохранит значение по умолчанию.
| Параметры значения |
|
|---|---|
| Возвращает | обёртка над массивом со значением по умолчанию |
| Унаследованно от | Map |
Источник
Создаёт нестрогий фильтр этого массива.
Примечание: различие между c filter p и c withFilter p заключается в том, что первый создаёт новый набор, а второй только ограничивает область последующих map, flatMap, foreach, и withFilter операций.
Примечание: может возвращать разные результаты при разных запусках, если только тип базового набора не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | объект класса |
| Классы определения | MapFactoryDefaults -> IterableOps |
| Унаследовано от | MapFactoryDefaults |
Источник
def zip[B](that: IterableOnce[B]): CC[(A, B)]
Возвращает итерируемое множество, сформированное из этого итерируемого множества и другого итерируемого множества путём объединения соответствующих элементов в пары. Если одно из двух множеств длиннее другого, его оставшиеся элементы игнорируются.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новое итерируемое множество, содержащее пары, состоящие из соответствующих элементов этого итерируемого множества и |
| Унаследовано от | IterableOps |
Источник
Возвращает итерируемое множество, сформированное из этого итерируемого множества и другого итерируемого множества путём объединения соответствующих элементов в пары. Если одно из двух множеств короче другого, для расширения короче множества до длины более длинного используются элементы-заполнители.
| Параметры значения |
|
|---|---|
| Возвращает | новое множество типа |
| Унаследовано от | IterableOps |
Источник
def zipWithIndex: CC[(A, Int)]
Объединяет это итерируемое множество с его индексами.
| Возвращает | Новое итерируемое множество, содержащее пары, состоящие из всех элементов этого итерируемого множества, связанных с их индексом. Индексы начинаются с |
|---|---|
| Пример | |
| Унаследовано от | IterableOps |
Конкретные поля
Источник
val defaultValue: K => V
Источник
val underlying: Map[K, V]
© 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/Map$$WithDefault.html