Операции над картами MapOps
Базовый трайт для неизменяемых реализаций карт
| Суперайты | |
|---|---|
| Известные подтипы | 20 типов |
Классы
Исходный код
Реализующий класс множества, возвращаемого keySet
Абстрактные методы
Исходный код
protected def coll: C & CC[K, V]
| Возвращаемое значение | Это коллекция в качестве |
|---|
Исходный код
def removed(key: K): C
Удаляет ключ из этой карты, возвращая новую карту.
| Параметры |
|
|---|---|
| Возвращаемое значение | Новая карта без привязки для ключа |
Исходный код
def updated[V1 >: V](key: K, value: V1): CC[K, V1]
Создаёт новую карту, полученную путём обновления этой карты заданной парой ключ/значение.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращаемое значение | Новая карта с добавленной парой ключ/значение в эту карту. <некорректная аннотация inheritdoc> |
Конкретные методы
Исходный код
override def +[V1 >: V](kv: (K, V1)): CC[K, V1]
Псевдоним для updated
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращаемое значение | Новая карта с добавленной привязкой в эту карту. |
| Классы определения | MapOps |
Исходный код
final def -(key: K): C
Псевдоним для removed
Исходный код
final override def --(keys: IterableOnce[K]): C
Псевдоним для removedAll
| Классы-определения | MapOps |
|---|
Исходный код
Собирает все ключи этой карты в множество.
| Возвращаемое значение | множество, содержащее все ключи этой карты. |
|---|---|
| Классы-определения | MapOps |
Исходный код
def removedAll(keys: IterableOnce[K]): C
Создаёт новую неизменяемую карту из этой неизменяемой карты, удаляя все элементы из другого набора.
Примечание: даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно вычисляться.
| Параметры значений |
|
|---|---|
| Возвращаемое значение | новая неизменяемая карта, содержащая все элементы текущей неизменяемой карты, кроме одного меньше вхождения каждого элемента из |
Исходный код
def transform[W](f: (K, V) => W): CC[K, W]
Эта функция преобразует все значения отображений, содержащихся в этой карте, с помощью функции f.
| Параметры значений |
|
|---|---|
| Возвращаемое значение | обновлённая карта |
Исходный код
Обновляет отображение для указанного ключа и его текущего, необязательно отображённого значения (Some если есть текущее отображение, None если нет).
Если функция переназначения возвращает Some(v), отображение обновляется с новым значением v. Если функция переназначения возвращает None, отображение удаляется (или остаётся отсутствующим, если изначально отсутствовало). Если сама функция вызывает исключение, исключение перебрасывается, а текущее отображение остаётся неизменным.
| Параметры значений |
|
|---|---|
| Возвращаемое значение | Новая карта с обновлённым отображением по ключу |
Унаследованные методы
Исходный код
def ++[V2 >: V](xs: IterableOnce[(K, V2)]): CC[K, V2]
Псевдоним для concat
| Унаследовано от | MapOps |
|---|
Исходный код
final def ++[B >: (K, V)](suffix: IterableOnce[B]): CC[B]
Псевдоним для concat
| Унаследовано от | IterableOps |
|---|
Исходный код
Добавляет все элементы этой карты в строку-построитель, используя начальную, конечную и разделительные строки. Текст начинается со строки 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 для полученной частичной функции может применить первую частичную функцию и выполнить её побочное действие. Для повышения эффективности рекомендуется вместо isDefinedAt или apply использовать applyOrElse.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения этой частичной функции, суженной другой частичной функцией, которая отображает аргументы |
| Унаследовано от | 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 |
Исходный код
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 |
Source
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение Option, содержащее результат применения pf к первому значению, для которого она определена, или |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
Компонует другую частичную функцию k с этой частичной функцией таким образом, что эта частичная функция применяется к результатам k.
Обратите внимание, что вызов isDefinedAt на результирующей частичной функции может применить первую частичную функцию и выполнить ее побочный эффект. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения, суженной с помощью этой частичной функции, которая отображает аргументы |
| Унаследовано от | PartialFunction |
Source
def compose[A](g: A => K): A => R
Компонует две функции Function1 в новую Function1, применяя эту функцию последней.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая функция |
| Унаследовано от | Function1 |
Source
def concat[V2 >: V](suffix: IterableOnce[(K, V2)]): CC[K, V2]
Возвращает новую карту, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элемента карты — это наиболее конкретный суперкласс, охватывающий типы элементов двух операндов.
| Параметры значения |
|
|---|---|
| Возвращает | новая карта, содержащая все элементы этой карты, за которыми следуют все элементы |
| Унаследовано от | MapOps |
Source
def concat[B >: (K, V)](suffix: IterableOnce[B]): CC[B]
Возвращает новую итерируемую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элемента итерируемой коллекции — это наиболее конкретный суперкласс, охватывающий типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, содержащая все элементы этой итерируемой коллекции, за которыми следуют все элементы |
| Унаследовано от | IterableOps |
Source
Проверяет, содержит ли эта карта привязку для ключа.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | MapOps |
Source
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет указанный массив xs начиная с индекса start не более чем len элементами этой коллекции.
Копирование прекращается, когда либо все элементы этой коллекции были скопированы, либо достигнут конец массива, либо было скопировано len элементов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван. Его использование неопределено и может измениться. |
| Унаследовано от | IterableOnceOps |
Source
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет указанный массив xs начиная с индекса start значениями из этой коллекции.
Копирование прекращается, когда либо все элементы этой коллекции были скопированы, либо достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван. Его использование неопределено и может измениться. |
| Унаследовано от | IterableOnceOps |
Source
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет указанный массив xs начиная с индекса start значениями из этой коллекции.
Копирование прекращается, когда либо все элементы этой коллекции были скопированы, либо достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван. Его использование неопределено и может измениться. |
| Унаследовано от | IterableOnceOps |
Source
Проверяет, соответствуют ли все элементы итератора этой коллекции соответствующим элементам другой коллекции, удовлетворяя условию предиката.
Примечание: не завершится для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Подсчитывает количество элементов в коллекции, удовлетворяющих предикату.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значений |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Источник
def default(key: K): V
Определяет вычисление значения по умолчанию для карты, возвращаемое, когда ключ не найден. Реализованный здесь метод выбрасывает исключение, но может быть переопределен в подклассах.
| Параметры значений |
|
|---|---|
| Унаследовано от | MapOps |
Источник
Выбирает все элементы, кроме первых 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 |
Источник
def empty: C
Пустая итерируемая коллекция того же типа, что и эта итерируемая коллекция.
| Возвращает | пустая итерируемая коллекция типа |
|---|---|
| Унаследовано от | IterableOps |
Источник
Проверяет, выполняется ли предикат хотя бы для одного элемента этой коллекции.
Примечание: может не завершаться для коллекций бесконечного размера.
| Параметры значений |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Выбирает все элементы этой итерируемой коллекции, удовлетворяющие предикату.
| Параметры значений |
|
|---|---|
| Возвращает | новая итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, удовлетворяющих заданному предикату |
| Унаследовано от | IterableOps |
Источник
Выбирает все элементы этой итерируемой коллекции, которые не удовлетворяют предикату.
| Параметры значений |
|
|---|---|
| Возвращает | новая итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, которые не удовлетворяют заданному предикату |
| Унаследовано от | 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+")END_OF_DOCUMENT_MARKER
Тип результирующего набора определяется статическим типом итерируемого набора. Это иногда может привести к неожиданным результатам. Например:
// 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 |
|---|
Источник
Возвращает значение, связанное с ключом.
| Параметры значения |
|
|---|---|
| Возвращает | опциональный параметр, содержащий значение, связанное с |
| Унаследовано от | MapOps |
Источник
def getOrElse[V1 >: V](key: K, default: => V1): V1
Возвращает значение, связанное с ключом, или значение по умолчанию, если ключ не содержится в отображении.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение, связанное с |
| Унаследовано от | MapOps |
Источник
Разбивает этот итерируемый набор на карту итерируемых наборов по некоторой функции-дискриминатору.
Примечание: Даже при применении к представлению или ленивому набору элементы всегда будут форсироваться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
Словарь, сопоставляющий ключи итерируемым коллекциям, удовлетворяющим следующему инварианту: (xs groupBy f)(k) = xs filter (x => f(x) == k) То есть, каждый ключ |
| Унаследовано от | IterableOps |
Источник
Разделяет эту итерируемую коллекцию на словарь итерируемых коллекций в соответствии с функцией-дискриминатором key. Каждый элемент группы преобразуется в значение типа B с помощью функции value.
Эквивалентно groupBy(key).mapValues(_.map(f)), но более эффективно.
case class User(name: String, age: Int) def namesByAge(users: Seq[User]): Map[Int, Seq[String]] = users.groupMap(_.age)(_.name)
Примечание: Даже при применении к представлению или ленивой коллекции, она всегда принудительно обращается к элементам.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Унаследовано от | IterableOps |
Источник
def groupMapReduce[K, B](key: ((K, V)) => K)(f: ((K, V)) => B)(reduce: (B, B) => B): Map[K, B]
Разделяет эту итерируемую коллекцию на словарь в соответствии с функцией-дискриминатором key. Все значения с одинаковым дискриминатором затем преобразуются функцией f и затем сводятся к одному значению с помощью функции reduce.
Эквивалентно groupBy(key).mapValues(_.map(f).reduce(reduce)), но более эффективно.
def occurrences[A](as: Seq[A]): Map[A, Int] = as.groupMapReduce(identity)(_ => 1)(_ + _)
Примечание: Даже при применении к представлению или ленивой коллекции, она всегда принудительно обращается к элементам.
| Унаследовано от | IterableOps |
|---|
Источник
Разделяет элементы на итерируемые коллекции фиксированного размера.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые коллекции размером |
| См. также | scala.collection.Iterator, метод |
| Унаследовано от | IterableOps |
Источник
def head: A
Выбирает первый элемент этой итерируемой коллекции.
Примечание: может возвращать разные результаты для разных запусков, если тип основной коллекции не упорядочен.
| Возвращает | первый элемент этой итерируемой коллекции. |
|---|---|
| Исключения |
|
| Унаследовано от | IterableOps |
Источник
def headOption: Option[A]
Необязательно выбирает первый элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип основной коллекции не упорядочен.
| Возвращает | первый элемент этой итерируемой коллекции, если она непустая, |
|---|---|
| Унаследовано от | IterableOps |
Источник
def init: C
Часть коллекции без её последнего элемента.
Примечание: Даже при применении к представлению или ленивой коллекции, она всегда принудительно обращается к элементам.
| Унаследовано от | IterableOps |
|---|
Источник
Итерируется по начальным частям этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, промежуточные значения — результаты последовательных применений init.
Примечание: Даже при применении к представлению или ленивой коллекции, она всегда принудительно обращается к элементам.
| Возвращает | итератор по всем начальным частям этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Источник
def isDefinedAt(key: K): Boolean
Проверяет, содержит ли этот словарь привязку для ключа. Этот метод, реализующий абстрактный метод трейта PartialFunction, эквивалентен contains.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | MapOps |
Источник
Проверяет, пуста ли коллекция.
Примечание: Реализации в дочерних классах, которые не являются многократно итерируемыми, должны позаботиться о том, чтобы не потреблять элементы, когда isEmpty вызывается.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
override def isTraversableAgain: Boolean
Проверяет, может ли эта итерируемая коллекция быть многократно пройдена. Всегда истинно для Iterables и ложно для Iterators, если не переопределено.
| Возвращает |
|
|---|---|
| Классы-определения | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Источник
def iterableFactory: IterableFactory[CC]
Компаньон-объект этой итерируемой коллекции, предоставляющий различные методы создания.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Унаследовано от | IterableOps |
Источник
Итератор может быть использован только один раз
| Унаследовано от | IterableOnce |
|---|
Источник
Возвращает Stepper для ключей этого словаря. См. метод stepper.
| Унаследовано от | MapOps |
|---|
Источник
Собирает все ключи этого словаря в итерируемую коллекцию.
| Возвращает | ключи этой карты в виде итерируемого объекта. |
|---|---|
| Унаследовано от | MapOps |
Источник
def keysIterator: Iterator[K]
Создает итератор для всех ключей.
| Возвращает | итератор по всем ключам. |
|---|---|
| Унаследовано от | MapOps |
Источник
| Возвращает | Количество элементов в этом наборе, если его можно вычислить недорого, в противном случае -1. Недорого обычно означает: не требует обхода коллекции. |
|---|---|
| Унаследовано от | IterableOnce |
Источник
def last: A
Выбирает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Возвращает | Последний элемент этой итерируемой коллекции. |
|---|---|
| Исключение |
|
| Унаследовано от | IterableOps |
Источник
def lastOption: Option[A]
Необязательно выбирает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Возвращает | последний элемент этой итерируемой коллекции, если она непуста, |
|---|---|
| Унаследовано от | IterableOps |
Источник
Преобразует эту частичную функцию в обычную функцию, возвращающую 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 |
Источник
def mapFactory: MapFactory[CC]
Объект-компаньон этой карты, предоставляющий различные методы создания.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Унаследовано от | MapOps |
Источник
Находит наибольший элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наибольший элемент этой коллекции по отношению к упорядочению |
| Исключение |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наибольшее значение, измеряемое функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наибольшим значением, измеренным функцией f по отношению к упорядочению |
| Исключение |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наибольшее значение, измеряемое функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение-вариант, содержащий первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Источник
Находит наибольший элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение-вариант, содержащий наибольший элемент этой коллекции относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | наименьший элемент этого набора относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который возвращает наименьшее значение, измеренное функцией 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 |
Источник
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 |
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
Комбинирует эту частичную функцию с функцией действия, которая применяется к результатам этой частичной функции. Функция действия вызывается только для своих побочных эффектов; её результат игнорируется.
Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно
if(pf isDefinedAt x) { action(pf(x)); true } else false
за исключением того, что runWith реализовано через applyOrElse и, следовательно, потенциально более эффективно. Использование runWith позволяет избежать двойной оценки совпадений шаблонов и условий для литералов частичных функций.
| Параметры значения |
|
|---|---|
| Возвращает | функция, которая сопоставляет аргументы |
| См. также |
|
| Унаследовано от | PartialFunction |
Source
def scan[B >: (K, V)](z: B)(op: (B, B) => B): CC[B]
Вычисляет префиксное сканирование элементов коллекции.
Примечание: нейтральный элемент z может быть применён более одного раза.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерабельная коллекция, содержащая префиксное сканирование элементов в этой итерабельной коллекции |
| Унаследовано от | IterableOps |
Source
def scanLeft[B](z: B)(op: (B, (K, V)) => B): CC[B]
Создаёт итерабельную коллекцию, содержащую кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | коллекция с промежуточными результатами |
| Унаследовано от | IterableOps |
Source
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 |
Source
Размер этой коллекции.
Примечание: не завершит работу для коллекций бесконечного размера.
| Возвращает | количество элементов в этой коллекции. |
|---|---|
| Унаследовано от | IterableOnceOps |
Source
Сравнивает размер этой итерабельной коллекции с размером другой Iterable.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < that.size x == 0 if this.size == that.size x > 0 if this.size > that.size Метод, как реализован здесь, не вызывает |
| Унаследовано от | IterableOps |
Source
Сравнивает размер этой итерабельной коллекции со значением теста.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < otherSize x == 0 if this.size == otherSize x > 0 if this.size > otherSize Метод, как реализован здесь, не вызывает |
| См. также | |
| Унаследовано от | IterableOps |
Source
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 |
|---|
Source
Выбирает интервал элементов. Возвращаемая итерабельная коллекция состоит из всех элементов x, которые удовлетворяют инварианту:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерабельная коллекция, содержащая элементы, большие или равные индексу |
| Унаследовано от | IterableOps |
Source
Группирует элементы в блоки фиксированного размера, пропуская "скользящее окно" по ним (в отличие от разбиения их, как это делается в grouped.)
Возвращаемый итератор будет пустым, когда вызывается на пустой коллекции. Последний элемент, который итератор производит, может быть меньше размера окна, когда исходная коллекция не исчерпана окном перед ним и его последний элемент не пропущен шагом перед ним.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, производящий итерабельные коллекции размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Source
Группирует элементы в блоки фиксированного размера, пропуская "скользящее окно" по ним (в отличие от разбиения их, как это делается в grouped.)
Пустая коллекция возвращает пустой итератор, а непустая коллекция, содержащая меньше элементов, чем размер окна, возвращает итератор, который произведёт исходную коллекцию как единственный элемент.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, производящий итерабельные коллекции размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Source
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен.
| Параметры значений |
|
|---|---|
| Возвращает | пара, состоящая из самого длинного префикса этой итерируемой коллекции, элементы которого удовлетворяют |
| Унаследовано от | IterableOps |
Source
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в заданной позиции.
Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен.
| Параметры значений |
|
|---|---|
| Возвращает | пара итерируемых коллекций, состоящая из первых |
| Классы-предки | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Source
Возвращает scala.collection.Stepper для элементов этой коллекции.
Stepper позволяет создавать Java-поток для работы с коллекцией, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, Stepper может использоваться как итератор, который не упаковывает элементы.
Неявный параметр scala.collection.StepperShape определяет тип результирующего Stepper в соответствии с типом элементов этой коллекции.
Для коллекций
Int,Short,ByteилиChar, возвращается scala.collection.IntStepperДля коллекций
DoubleилиFloat, возвращается scala.collection.DoubleStepperДля коллекций
Long, возвращается scala.collection.LongStepperДля любого другого типа элементов возвращается scala.collection.AnyStepper
Обратите внимание, что этот метод переопределяется в подклассах, и тип возвращаемого значения уточняется до S with EfficientSplit, например, scala.collection.IndexedSeqOps.stepper. Для Stepper, помеченных scala.collection.Stepper.EfficientSplit, преобразователи в scala.jdk.StreamConverters позволяют создавать параллельные потоки, тогда как обычные Stepper можно преобразовать только в последовательные потоки.
| Унаследовано от | IterableOnce |
|---|
Source
Суммирует элементы этой коллекции.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типов |
|
|---|---|
| Параметры значений |
|
| Возвращает | сумма всех элементов этой коллекции относительно оператора |
| Унаследовано от | IterableOnceOps |
Source
def tail: C
Остальная часть коллекции без её первого элемента.
| Унаследовано от | IterableOps |
|---|
Source
Итерирует по хвостам этой итерируемой коллекции. Первое значение — это сама итерируемая коллекция, а последнее — пустая итерируемая коллекция, промежуточные значения — результаты последовательного применения tail.
| Возвращает | итератор по всем хвостам этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Source
Выбирает первые n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен.
| Параметры значений |
|
|---|---|
| Возвращает | итерируемая коллекция, содержащая только первые |
| Унаследовано от | IterableOps |
Source
Выбирает последние n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен.
| Параметры значений |
|
|---|---|
| Возвращает | итерируемая коллекция, содержащая только последние |
| Унаследовано от | IterableOps |
Source
Берет самый длинный префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен.
| Параметры значений |
|
|---|---|
| Возвращает | самый длинный префикс этой итерируемой коллекции, элементы которого удовлетворяют предикату |
| Унаследовано от | IterableOps |
Source
override def tapEach[U](f: ((K, V)) => U): C
Применяет функцию побочного эффекта к каждому элементу в этой коллекции. Строгие коллекции немедленно применят f к своим элементам, в то время как ленивые коллекции, такие как просмотры и LazyList, применят f только к каждому элементу при и если этот элемент оценивается, и каждый раз, когда этот элемент оценивается.
| Параметры типов |
|
|---|---|
| Параметры значений |
|
| Возвращает | Такая же логическая коллекция, как и эта |
| Классы-предки | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Source
Взяв фабрику коллекций factory, преобразуйте эту коллекцию в соответствующее представление для текущего типа элементов A. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
| Унаследовано от | IterableOnceOps |
|---|
Source
Преобразовать коллекцию в массив.
Примечание к реализации: НЕ вызывайте Array.from из этого метода.
| Унаследовано от | IterableOnceOps |
|---|
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
def toIndexedSeq: IndexedSeq[A]
| Унаследовано от | IterableOnceOps |
|---|
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
| Возвращает | Эту коллекцию в виде |
|---|---|
| Унаследовано от | IterableOnceOps |
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
Возвращает строковое представление объекта.
Значение по умолчанию зависит от платформы.
| Возвращает | строковое представление объекта. |
|---|---|
| Классы-определения | Function1 -> Any |
| Унаследовано от | Function1 |
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
Транспонирует эту итерируемую коллекцию итерируемых коллекций в итерируемую коллекцию итерируемых коллекций.
Тип результирующей коллекции будет определяться статическим типом итерируемой коллекции. Например:
val xs = List(
Set(1, 2, 3),
Set(4, 5, 6)).transpose
// xs == List(
// List(1, 4),
// List(2, 5),
// List(3, 6))
val ys = Vector(
List(1, 2, 3),
List(4, 5, 6)).transpose
// ys == Vector(
// Vector(1, 4),
// Vector(2, 5),
// Vector(3, 6))
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | двухмерная итерируемая коллекция итерируемых коллекций, в которой n-я строка является n-м столбцом этой итерируемой коллекции. |
| Исключение |
|
| Унаследовано от | IterableOps |
Source
Пытается извлечь B из A в выражении сопоставления с образцом.
| Унаследовано от | PartialFunction |
|---|
Source
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 |
Source
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 |
Source
Возвращает Stepper для значений этой карты. См. метод stepper.
| Унаследовано от | MapOps |
|---|
Source
Собрать все значения этой карты в итерируемой коллекции.
| Возвращает | значения этой карты в виде итерируемой коллекции. |
|---|---|
| Унаследовано от | MapOps |
Source
def valuesIterator: Iterator[V]
Создает итератор для всех значений в этой карте.
| Возвращает | итератор по всем значениям, связанным с каким-либо ключом в этой карте. |
|---|---|
| Унаследовано от | MapOps |
Source
Представление над элементами этой коллекции.
| Классы-определения | MapOps -> IterableOps |
|---|---|
| Унаследовано от | MapOps |
Source
Создает нестрогий фильтр этой итерируемой коллекции.
Примечание: разница между c filter p и c withFilter p заключается в том, что первый создаёт новую коллекцию, а второй только ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | объект класса |
| Унаследовано от | IterableOps |
Исходный код
def zip[B](that: IterableOnce[B]): CC[(A, B)]
Возвращает итерируемую коллекцию, сформированную из этой итерируемой коллекции и другой итерируемой коллекции путём объединения соответствующих элементов в пары. Если одна из двух коллекций длиннее другой, её оставшиеся элементы игнорируются.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, содержащая пары, состоящие из соответствующих элементов этой итерируемой коллекции и |
| Унаследовано от | IterableOps |
Исходный код
Возвращает итерируемую коллекцию, сформированную из этой итерируемой коллекции и другой итерируемой коллекции путём объединения соответствующих элементов в пары. Если одна из двух коллекций короче другой, для расширения более короткой коллекции до длины более длинной используются элементы-заполнители.
| Параметры значения |
|
|---|---|
| Возвращает | новая коллекция типа |
| Унаследовано от | IterableOps |
Исходный код
def zipWithIndex: CC[(A, Int)]
Объединяет эту итерируемую коллекцию с её индексами.
| Возвращает | новая итерируемая коллекция, содержащая пары, состоящие из всех элементов этой итерируемой коллекции, сопоставленных с их индексом. Индексы начинаются с |
|---|---|
| Пример | |
| Унаследовано от | IterableOps |
© 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/MapOps.html