Класс IntMap.IntMap
sealed abstract class IntMap[+T] extends AbstractMap[Int, T] with StrictOptimizedMapOps[Int, T, Map, IntMap[T]] with Serializable
Специализированная неизменяемая структура карты для целочисленных ключей, основанная на быстрых объединяемых картах целых чисел Окасаки и Гилла. По существу, это дерево, основанное на двоичных разрядах целых чисел.
Примечание: этот класс с версии 2.8 в значительной степени устарел по сравнению с HashMap.
| Параметры типа |
|
|---|---|
| Надтипы | 24 типа |
Наследуемые классы
Исходный код
Реализующий класс множества, возвращаемого keySet
| Наследуется от | MapOps |
|---|
Конкретные методы
Исходный код
Псевдоним для updated
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая карта с новым связыванием, добавленным в эту карту. |
| Определяющие классы | MapOps -> MapOps |
Исходный код
Псевдоним для concat
| Определяющие классы | MapOps |
|---|
Исходный код
Исходный код
final override def apply(key: Int): T
Получает значение, связанное с заданным ключом. Этот метод вызывает метод default карты, если нет сопоставления между заданным ключом и значением. Если не переопределён, метод default выбрасывает NoSuchElementException.
| Параметры значения |
|
|---|---|
| Возвращает | значение, связанное с заданным ключом, или результат метода |
| Определяющие классы | MapOps -> Function1 |
Исходный код
Исходный код
Возвращает новую неизменяемую карту целых чисел, содержащую элементы из левого операнда, после элементов из правого операнда. Тип элементов неизменяемой карты целых чисел — это наиболее общий надкласс, охватывающий типы элементов двух операндов.
| Параметры значения |
|
|---|---|
| Возвращает | новая неизменяемая карта целых чисел, которая содержит все элементы этой неизменяемой карты целых чисел, за которыми следуют все элементы |
| Определяющие классы | StrictOptimizedMapOps -> StrictOptimizedMapOps -> MapOps |
Исходный код
Пустой перебираемый объект того же типа, что и этот перебираемый объект
| Возвращает | пустой перебираемый объект типа |
|---|---|
| Определяющие классы | MapFactoryDefaults -> IterableFactoryDefaults -> IterableOps |
Исходный код
Выбирает все элементы этой неизменяемой карты целых чисел, удовлетворяющие предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новая неизменяемая карта целых чисел, состоящая из всех элементов этой неизменяемой карты целых чисел, удовлетворяющих заданному предикату |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
Исходный код
final def firstKey: Int
Элемент с наименьшим значением ключа, рассматриваемого в порядке без знаков.
Исходный код
Исходный код
Перебирает пары ключ-значение карты в порядке без знаков ключей.
| Определяющие классы | IterableOnceOps |
|---|
Исходный код
override def foreachEntry[U](f: (Int, T) => U): Unit
Примените f к каждой паре ключ/значение для побочных эффектов. Примечание: [U] параметр необходим для помощи в инференции типов scalac.
| Классы определений | MapOps |
|---|
Исходный кодfinal def foreachKey[U](f: Int => U): Unit
Перебирает ключи карты. То же, что и keys.foreach(f), но может быть более эффективным.
| Параметры значения |
|
|---|
Исходный кодfinal def foreachValue[U](f: T => U): Unit
Перебирает значения карты. То же, что и values.foreach(f), но может быть более эффективным.
| Параметры значения |
|
|---|
Исходный код
Возвращает значение, связанное с ключом, необязательно.
| Параметры значения |
|
|---|---|
| Возвращает | объект Option, содержащий значение, связанное с |
Исходный кодfinal override def getOrElse[S >: T](key: Int, default: => S): S
Возвращает значение, связанное с ключом, или значение по умолчанию, если ключ не содержится в карте.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение, связанное с |
| Классы определений | MapOps |
Исходный код
Пересечение с левым смещением. Возвращает карту, которая имеет все те же отображения, что и эта, но только для ключей, присутствующих в другой карте.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Карта со всеми ключами, которые есть как в |
Исходный код
Вычисляет пересечение этих двух карт с помощью функции комбинирования. Результирующая карта — это карта, содержащая только ключи, присутствующие в обеих картах, и значения, полученные из исходных отображений путём их комбинирования с помощью функции f.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Пересечение |
Исходный код
Проверяет, является ли карта неизменяемых целых чисел пустой.
Примечание: Реализации в подклассах, которые не повторяются, должны позаботиться о том, чтобы не потреблять никаких элементов, когда isEmpty вызывается.
| Возвращает |
|
|---|---|
| Классы определений | IterableOnceOps |
Исходный код
Итератор по парам ключ-значение карты в порядке возрастания ключей.
| Возвращает | итератор по парам целых ключей и соответствующих значений. |
|---|
Исходный кодoverride def keysIterator: Iterator[Int]
Создаёт итератор для всех ключей.
| Возвращает | итератор по всем ключам. |
|---|---|
| Классы определений | MapOps |
Исходный кодoverride def knownSize: Int
| Возвращает | Количество элементов в этой неизменяемой карте целых чисел, если его можно вычислить без затрат, в противном случае -1. Без затрат обычно означает: Не требуется проход по коллекции. |
|---|---|
| Классы определений | IterableOnce |
Исходный кодfinal def lastKey: Int
Элемент с наибольшим значением ключа, рассматриваемым в порядке возрастания.
Исходный код
Исходный код
Функция, совмещающая преобразование и фильтрацию. Возвращает IntMap, такую, что для каждого отображения (key, value) в этой карте, если f(key, value) == None карта не содержит отображения для ключа, и если f(key, value).
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Изменённая карта. |
Исходный код
Удаляет ключ из этой карты, возвращая новую карту.
| Параметры значения |
|
|---|---|
| Возвращает | новая карта без привязки к ключу |
Исходный кодfinal override def size: Int
Размер этой неизменяемой карты целых чисел.
| Возвращает | количество элементов в этой неизменяемой карте целых чисел. |
|---|---|
| Классы определений | IterableOnceOps |
Исходный код
| Классы определений | IterableOnceOps |
|---|
Исходный код
Эта функция преобразует все значения отображений, содержащихся в этой карте, с помощью функции f.
| Параметры значения |
|
|---|---|
| Возвращает | обновлённая карта |
| Классы определений | MapOps |
Source
Образует объединённую карту с картой that, используя функцию объединения для разрешения конфликтов.
| Тип параметров |
|
|---|---|
| Значения параметров |
|
| Возвращает | Объединение |
Source
def updateWith[S >: T](key: Int, value: S, f: (T, S) => S): IntMap[S]
Обновляет карту, используя предоставленную функцию для разрешения конфликтов, если ключ уже присутствует.
Эквивалентно:
this.get(key) match {
case None => this.update(key, value)
case Some(oldvalue) => this.update(key, f(oldvalue, value)
}
| Тип параметров |
|
|---|---|
| Значения параметров |
|
| Возвращает | Обновлённая карта. |
Source
Создаёт новую карту, полученную путём обновления этой карты заданной парой ключ/значение.
| Тип параметров |
|
|---|---|
| Значения параметров |
|
| Возвращает | Новая карта с новым соответствием ключ/значение, добавленным в эту карту. <invalid inheritdoc annotation> |
| Классы определения | MapOps |
Source
override def valuesIterator: Iterator[T]
Создаёт итератор для всех значений в этой карте.
| Возвращает | итератор по всем значениям, которые связаны с некоторым ключом в этой карте. |
|---|---|
| Классы определения | MapOps |
Методы, унаследованные от предков
Source
final def ++[B >: (Int, T)](suffix: IterableOnce[B]): CC[B]
Псевдоним для concat
| Унаследованно от | IterableOps |
|---|
Source
final def -(key: Int): C
Псевдоним для removed
| Унаследованно от | MapOps |
|---|
Source
final override def --(keys: IterableOnce[Int]): C
Псевдоним для removedAll
| Классы определения | MapOps -> MapOps |
|---|---|
| Унаследованно от | MapOps |
Source
Добавляет все элементы этой коллекции в строковый буфер. Записываемый текст состоит из строковых представлений (с точки зрения метода toString) всех элементов этой коллекции без разделительной строки.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> val h = a.addString(b) h: StringBuilder = 1234
| Значения параметров |
|
|---|---|
| Возвращает | строковый буфер |
| Унаследованно от | IterableOnceOps |
Source
Добавляет все элементы этой коллекции в строковый буфер, используя разделительную строку. Записываемый текст состоит из строковых представлений (с точки зрения метода toString) всех элементов этой коллекции, разделённых строкой sep.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> a.addString(b, ", ") res0: StringBuilder = 1, 2, 3, 4
| Значения параметров |
|
|---|---|
| Возвращает | строковый буфер |
| Унаследованно от | IterableOnceOps |
Source
Добавляет все элементы этой карты в строковый буфер, используя начальную, конечную и разделительные строки. Записываемый текст начинается со строки start и заканчивается строкой end. Внутри, строковые представления (с точки зрения метода toString) всех элементов этой карты разделены строкой sep.
Пример:
scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)
scala> val b = new StringBuilder()
b: StringBuilder =
scala> a.addString(b , "List(" , ", " , ")")
res5: StringBuilder = List(1, 2, 3, 4)
| Значения параметров |
|
|---|---|
| Возвращает | строковый буфер |
| Классы определения | MapOps -> IterableOnceOps |
| Унаследованно от | MapOps |
Source
Компонует эту частичную функцию с другой частичной функцией, которая применяется к результатам этой частичной функции.
Обратите внимание, что вызов isDefinedAt на результирующей частичной функции может применить первую частичную функцию и выполнить её побочное действие. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.
| Тип параметров |
|
|---|---|
| Значения параметров |
|
| Возвращает | частичная функция с областью определения этой частичной функции, суженной другой частичной функцией, которая отображает аргументы |
| Унаследованно от | PartialFunction |
Source
override def andThen[C](k: T => C): PartialFunction[A, C]
Компонует эту частичную функцию с функцией преобразования, которая применяется к результатам этой частичной функции.
Если тип времени выполнения функции является PartialFunction, то используется другой метод andThen (обратите внимание на предостережения).
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения этой частичной функции, возможно суженной заданной функцией, которая отображает аргументы |
| Классы определения | PartialFunction -> Function1 |
| Унаследовано от | PartialFunction |
Исходный код
override def applyOrElse[K1 <: Int, V1 >: T](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, открытой для переопределения в подклассе. См. Программирование на Scala, глава 28 для обсуждения и проектирования.
| Параметры значения |
|
|---|---|
| Возвращает | true, если этот экземпляр может быть равен |
| Унаследовано от | Map |
Исходный код
override def collect[B](pf: PartialFunction[(Int, T), B]): CC[B]
Создает новую коллекцию итерируемых объектов, применяя частичную функцию ко всем элементам этой итерируемой коллекции, для которых она определена.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, полученная в результате применения заданной частичной функции |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
override def collect[K2, V2](pf: PartialFunction[(Int, T), (K2, V2)]): CC[K2, V2]
Создаёт новую коллекцию, применяя частичную функцию ко всем элементам этой карты, для которых она определена.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая карта, полученная в результате применения заданной частичной функции |
| Классы определения | StrictOptimizedMapOps -> MapOps |
| Унаследовано от | StrictOptimizedMapOps |
Исходный код
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа option, содержащее pf, примененное к первому значению, для которого оно определено, или |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Исходный код
Компонует другую частичную функцию k с этой частичной функцией таким образом, что эта частичная функция применяется к результатам k.
Обратите внимание, что вызов isDefinedAt для результирующей частичной функции может применить первую частичную функцию и выполнить ее побочный эффект. Для повышения эффективности рекомендуется вызывать applyOrElse вместо isDefinedAt или apply.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения, суженной другой частичной функцией, которая отображает аргументы |
| Унаследовано от | PartialFunction |
Исходный код
def compose[A](g: A => Int): A => R
Компонует два экземпляра Function1 в новую Function1, при этом эта функция применяется последней.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая функция |
| Унаследовано от | Function1 |
Исходный код
def concat[B >: (Int, T)](suffix: IterableOnce[B]): CC[B]
Возвращает новую итерируемую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элемента итерируемой коллекции является наиболее специфичным суперклассом, охватывающим типы элементов двух операндов.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, которая содержит все элементы этой итерируемой коллекции, за которыми следуют все элементы |
| Унаследовано от | IterableOps |
Source
Проверяет, содержит ли эта карта привязку для ключа.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | MapOps |
Source
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет указанный массив xs начиная с индекса start не более чем len элементами этой коллекции.
Копирование прекращается, как только скопированы все элементы этой коллекции, достигнут конец массива или len элементов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Source
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет указанный массив xs начиная с индекса start значениями этой коллекции.
Копирование прекращается, как только скопированы все элементы этой коллекции или достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Source
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет указанный массив xs начиная с индекса start значениями этой коллекции.
Копирование прекращается, как только скопированы все элементы этой коллекции или достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Source
Проверяет, соответствуют ли каждый элемент итератора этой коллекции соответствующему элементу другой коллекции, удовлетворяя условиям предиката.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Source
Подсчитывает количество элементов в коллекции, удовлетворяющих предикату.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Source
def default(key: Int): V
Определяет вычисление значения по умолчанию для карты, возвращаемое, когда ключ не найден. Реализованный здесь метод генерирует исключение, но он может быть переопределен в подклассах.
| Параметры значения |
|
|---|---|
| Унаследовано от | MapOps |
Source
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, кроме первых |
| Унаследовано от | IterableOps |
Source
Остальная часть коллекции без n последних элементов. Для линейных неизменяемых коллекций это должно избегать создания копии.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Классы определений | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Source
Удаляет наибольший префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | наибольший суффикс этой итерируемой коллекции, первый элемент которой не удовлетворяет предикату |
| Унаследовано от | IterableOps |
Source
def elementWise: ElementWiseExtractor[A, B]
Возвращает объект экстрактора с методом unapplySeq, который извлекает каждый элемент данных последовательности.
| Пример |
val firstChar: String => Option[Char] = _.headOption
Seq("foo", "bar", "baz") match {
case firstChar.unlift.elementWise(c0, c1, c2) =>
println(s"$c0, $c1, $c2") // Output: f, b, b
}
|
|---|---|
| Унаследовано от | PartialFunction |
Source
Равенство карт реализовано с использованием метода поиска 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 |
Source
Проверяет, выполняется ли предикат хотя бы для одного элемента этой коллекции.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращаемое значение |
|
| Унаследовано от | IterableOnceOps |
Source
Выбирает все элементы этой итерируемой коллекции, которые не удовлетворяют предикату.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | новая итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, которые не удовлетворяют заданному предикату |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Source
Находит первый элемент коллекции, удовлетворяющий предикату, если таковой существует.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | значение типа option, содержащее первый элемент в коллекции, который удовлетворяет |
| Унаследовано от | IterableOnceOps |
Source
override def flatMap[B](f: ((Int, T)) => IterableOnce[B]): CC[B]
Создаёт новую итерируемую коллекцию, применяя функцию ко всем элементам этой итерируемой коллекции и используя элементы полученных коллекций.
Например:
def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")
Тип результирующей коллекции определяется статическим типом итерируемой коллекции. Это может иногда приводить к неожиданным результатам. Например:
// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)
// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap ((word: String) => word.toSeq)
// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)
// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | новая итерируемая коллекция, полученная путём применения данной функции, возвращающей коллекцию |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Source
override def flatMap[K2, V2](f: ((Int, T)) => IterableOnce[(K2, V2)]): CC[K2, V2]
Создаёт новую карту, применяя функцию ко всем элементам этой карты и используя элементы полученных коллекций.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | новая карта, полученная путём применения данной функции, возвращающей коллекцию |
| Классы определений | StrictOptimizedMapOps -> MapOps |
| Унаследовано от | StrictOptimizedMapOps |
Source
override def flatten[B](implicit toIterableOnce: ((Int, T)) => IterableOnce[B]): CC[B]
Преобразует эту итерируемую коллекцию коллекций в итерируемую коллекцию, образованную из элементов этих коллекций.
Тип результирующей коллекции определяется типом итерируемой коллекции. Например:
val xs = List(
Set(1, 2, 3),
Set(1, 2, 3)
).flatten
// xs == List(1, 2, 3, 1, 2, 3)
val ys = Set(
List(1, 2, 3),
List(3, 2, 1)
).flatten
// ys == Set(1, 2, 3)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | новая итерируемая коллекция, полученная путём конкатенации всех коллекций элементов. |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Source
def fold[A1 >: (Int, T)](z: A1)(op: (A1, A1) => A1): A1
Складывает элементы этой коллекции с использованием указанного ассоциативного бинарного оператора. По умолчанию в IterableOnce эквивалентно foldLeft, но может быть переопределено для более эффективных порядков обхода.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | результат применения оператора сложения |
| Унаследовано от | IterableOnceOps |
Source
def foldLeft[B](z: B)(op: (B, (Int, T)) => B): B
Применяет бинарный оператор к начальному значению и всем элементам этой коллекции, слева направо.
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Источник
def foldRight[B](z: B)(op: ((Int, T), B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции и начальному значению, двигаясь справа налево.
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, выполняется ли предикат для всех элементов этой коллекции.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Разбивает эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с некоторой функцией-дискриминатором.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут форсироваться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
Карта из ключей в итерируемые коллекции, придерживающаяся следующего инварианта: (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: ((Int, T)) => K)(f: ((Int, T)) => 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: Int): Boolean
Проверяет, содержит ли эта карта привязку для ключа. Этот метод, реализующий абстрактный метод трактата PartialFunction, эквивалентен contains.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | MapOps |
Исходный код
override def isTraversableAgain: Boolean
Проверяет, может ли этот итерируемый набор быть многократно пройденным. Всегда истинно для итерируемых наборов и ложно для итераторов, если не переопределено.
| Возвращает |
|
|---|---|
| Классы определения | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Исходный код
Объект-компаньон этого неизменяемого набора, предоставляющий различные методы создания.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Классы определения | Iterable -> Iterable -> IterableOps |
| Унаследовано от | Iterable |
Исходный код
Собирает все ключи этой карты в множество.
| Возвращает | множество, содержащее все ключи этой карты. |
|---|---|
| Классы определения | MapOps -> MapOps |
| Унаследовано от | MapOps |
Исходный код
Возвращает Stepper для ключей этой карты. См. метод stepper.
| Унаследовано от | MapOps |
|---|
Исходный код
Собирает все ключи этой карты в итерируемый набор.
| Возвращает | ключи этой карты в виде итерируемого набора. |
|---|---|
| Унаследовано от | 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 |
Исходный код
override def map[B](f: ((Int, T)) => B): CC[B]
Создаёт новый итерируемый набор, применяя функцию ко всем элементам этого итерируемого набора.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый итерируемый набор, полученный путём применения заданной функции |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
override def map[K2, V2](f: ((Int, T)) => (K2, V2)): CC[K2, V2]
Создаёт новую карту, применяя функцию ко всем элементам этой карты.
| Параметры значения |
|
|---|---|
| Возвращает | новая карта, полученная путём применения заданной функции |
| Классы определения | StrictOptimizedMapOps -> MapOps |
| Унаследовано от | StrictOptimizedMapOps |
Исходный код
Объект-компаньон этой карты, предоставляющий различные методы создания.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Определяющие классы | Map -> Map -> MapOps |
| Унаследовано от | Map |
Источник
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наибольший элемент этой коллекции относительно порядка |
| Исключения |
|
| Унаследовано от | 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, которая требует только одного прохода.
| Классы-определения | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
override def partitionMap[A1, A2](f: ((Int, T)) => Either[A1, A2]): (CC[A1], CC[A2])
Применяет функцию f к каждому элементу набора и возвращает пару наборов: первый содержит те значения, которые функция f вернула в обёртке scala.util.Left, а второй — те, которые вернула в обёртке scala.util.Right.
Пример:
val xs = Iterable(1, "one", 2, "two", 3, "three") partitionMap {
case i: Int => Left(i)
case s: String => Right(s)
}
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | пара итерируемых наборов: первый набор состоит из значений, возвращенных |
| Классы определений | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Перемножает элементы этого набора.
Примечание: не завершится для бесконечных наборов.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | произведение всех элементов этого набора относительно оператора |
| Унаследовано от | IterableOnceOps |
Источник
def reduce[B >: (Int, T)](op: (B, B) => B): B
Сводит элементы этого набора с помощью указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | Результат применения оператора reduce |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceLeft[B >: (Int, T)](op: (B, (Int, T)) => B): B
Применяет бинарный оператор ко всем элементам этого набора слева направо.
Примечание: не завершится для бесконечных наборов.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен, или если оператор ассоциативен и коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceLeftOption[B >: (Int, T)](op: (B, (Int, T)) => B): Option[B]
Факультативно применяет бинарный оператор ко всем элементам этого набора слева направо.
Примечание: не завершится для бесконечных наборов.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора упорядочен, или если оператор ассоциативен и коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее результат |
| Унаследовано от | IterableOnceOps |
Источник
def reduceOption[B >: (Int, T)](op: (B, B) => B): Option[B]
Применяет заданный ассоциативный бинарный оператор ко всем элементам этой коллекции, если они есть.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | Значение типа Option, содержащее результат применения оператора reduce |
| Унаследовано от | IterableOnceOps |
Источник
def reduceRight[B >: (Int, T)](op: ((Int, T), B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и не коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceRightOption[B >: (Int, T)](op: ((Int, T), B) => B): Option[B]
Возможно применить бинарный оператор ко всем элементам этой коллекции справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее результат |
| Унаследовано от | IterableOnceOps |
Источник
def removedAll(keys: IterableOnce[Int]): C
Создает новую неизменяемую карту из этой неизменяемой карты, удаляя все элементы из другой коллекции.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Параметры значения |
|
|---|---|
| Возвращает | новая неизменяемая карта, содержащая все элементы текущей неизменяемой карты, за исключением одного меньшего вхождения каждого элемента из |
| Унаследовано от | MapOps |
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
Комбинирует эту частичную функцию с функцией действия, которая применяется к результатам этой частичной функции. Функция действия вызывается только для своих побочных эффектов; ее результат игнорируется.
Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно
if(pf isDefinedAt x) { action(pf(x)); true } else false
за исключением того, что runWith реализуется с помощью applyOrElse и, следовательно, потенциально более эффективна. Использование runWith предотвращает двойное вычисление совпадений шаблонов и условий для литералов частичных функций.
| Параметры значения |
|
|---|---|
| Возвращает | функция, которая отображает аргументы |
| См. также |
|
| Унаследовано от | PartialFunction |
Источник
def scan[B >: (Int, T)](z: B)(op: (B, B) => B): CC[B]
Вычисляет префиксный скан элементов коллекции.
Примечание: нейтральный элемент z может применяться более одного раза.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, содержащая префиксное сканирование элементов в этой итерируемой коллекции |
| Унаследовано от | IterableOps |
Источник
override def scanLeft[B](z: B)(op: (B, (Int, T)) => B): CC[B]
Создает итерируемую коллекцию, содержащую кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | коллекция с промежуточными результатами |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
def scanRight[B](z: B)(op: ((Int, T), B) => B): CC[B]
Создает коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Головка коллекции — последний кумулятивный результат.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | коллекция с промежуточными результатами |
| Унаследовано от | IterableOps |
Источник
Сравнивает размер этой итерируемой коллекции с размером другой Iterable.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < that.size x == 0 if this.size == that.size x > 0 if this.size > that.size Метод, как он реализован здесь, не вызывает |
| Унаследовано от | IterableOps |
Исходный код
Сравнивает размер этой итерируемой коллекции со значением проверки.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < otherSize x == 0 if this.size == otherSize x > 0 if this.size > otherSize Метод, как он реализован здесь, не вызывает |
| См. также | |
| Унаследовано от | IterableOps |
Исходный код
final def sizeIs: SizeCompareOps
Возвращает объект значения, содержащий операции для сравнения размера этой итерируемой коллекции со значением проверки.
Эти операции реализованы с помощью sizeCompare(Int) и позволяют использовать следующие более удобочитаемые варианты:
this.sizeIs < size // this.sizeCompare(size) < 0 this.sizeIs <= size // this.sizeCompare(size) <= 0 this.sizeIs == size // this.sizeCompare(size) == 0 this.sizeIs != size // this.sizeCompare(size) != 0 this.sizeIs >= size // this.sizeCompare(size) >= 0 this.sizeIs > size // this.sizeCompare(size) > 0
| Унаследовано от | IterableOps |
|---|
Исходный код
Выбирает интервал элементов. Возвращаемая итерируемая коллекция состоит из всех элементов x, которые удовлетворяют условию:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемая коллекция, содержащая элементы, большие или равные индексу |
| Унаследовано от | IterableOps |
Исходный код
Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» по ним (в отличие от разбиения их, как это делается в grouped.)
Возвращаемый итератор будет пустым, когда вызывается для пустой коллекции. Последний элемент, который производит итератор, может быть меньше размера окна, когда исходная коллекция не исчерпывается окном до него, и последний элемент не пропускается шагом до него.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, производящий итерируемые коллекции размером |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Исходный код
Группирует элементы в блоки фиксированного размера, пропуская по ним «скользящее окно» (в отличие от их разбиения, как это делается в grouped).
Пустой коллекцией возвращается пустой итератор, а непустой коллекцией, содержащей меньше элементов, чем размер окна, возвращается итератор, который будет генерировать исходную коллекцию как единственный элемент.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые коллекции размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | пара, состоящая из самого длинного префикса этой итерируемой коллекции, элементы которой удовлетворяют |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в заданной позиции.
Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | пара итерируемых коллекций, состоящая из первых |
| Классы определений | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Источник
Возвращает scala.collection.Stepper для элементов этой коллекции.
Stepper позволяет создавать Java-поток для работы с коллекцией, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, Stepper может использоваться как итератор, который не упаковывает элементы.
Неявный параметр scala.collection.StepperShape определяет тип результирующего Stepper в соответствии с типом элемента этой коллекции.
Для коллекций
Int,Short,ByteилиChar, возвращается scala.collection.IntStepperДля коллекций
DoubleилиFloat, возвращается scala.collection.DoubleStepperДля коллекций
Longвозвращается scala.collection.LongStepperДля любого другого типа элементов возвращается scala.collection.AnyStepper
Обратите внимание, что этот метод переопределяется в подклассах, а тип возвращаемого значения уточняется до S with EfficientSplit, например, scala.collection.IndexedSeqOps.stepper. Для Stepper, помеченных scala.collection.Stepper.EfficientSplit, преобразователи в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Stepper можно преобразовать только в последовательные потоки.
| Унаследовано от | IterableOnce |
|---|
Исходный код
Суммирует элементы этого набора.
Примечание: не будет завершаться для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | сумма всех элементов этого набора по отношению к оператору |
| Унаследовано от | IterableOnceOps |
Исходный код
def tail: C
Остальная часть набора без первого элемента.
| Унаследовано от | IterableOps |
|---|
Исходный код
Перебирает хвосты этого итерируемого набора. Первое значение будет этим итерируемым набором, а последнее — пустым итерируемым набором, а промежуточные значения — результаты последовательных применений tail.
| Возвращаемое значение | итератор по всем хвостам этого итерируемого набора |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Исходный код
Выбирает первые n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип основного набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | итерируемый набор, содержащий только первые |
| Унаследовано от | IterableOps |
Исходный код
Коллекция, содержащая последние n элементов этого набора.
Примечание: даже при применении к представлению или ленивому набору элементы всегда будут принудительно вычисляться.
| Классы-определения | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
Возвращает наибольший префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип основного набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | наибольший префикс этого итерируемого набора, элементы которого удовлетворяют предикату |
| Унаследовано от | IterableOps |
Исходный код
override def tapEach[U](f: ((Int, T)) => U): C
Применяет функцию со побочным эффектом к каждому элементу в этом наборе. Строгие наборы немедленно применят f к своим элементам, в то время как ленивые наборы, такие как представления и LazyLists, будут применять f к каждому элементу только тогда, когда он будет оценён, и каждый раз, когда этот элемент оценивается.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | тот же логический набор, что и этот |
| Классы-определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
Используя фабрику наборов factory, преобразуйте этот набор в соответствующее представление для текущего типа элементов A. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
Преобразовать набор в массив.
Примечание: не вызывайте Array.from из этого метода.
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
def toIndexedSeq: IndexedSeq[A]
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
| Классы-определения | Map -> IterableOnceOps |
|---|---|
| Унаследовано от | Map |
Исходный код
| Возвращаемое значение | Этот набор в виде |
|---|---|
| Унаследовано от | IterableOnceOps |
Исходный код
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
Возвращает строковое представление объекта.
Значение по умолчанию зависит от платформы.
| Возвращаемое значение | строковое представление объекта. |
|---|---|
| Классы-определения | Map -> Function1 -> Iterable -> Any |
| Унаследовано от | Map |
Исходный код
| Унаследовано от | 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
override def unzip[A1, A2](implicit asPair: ((Int, T)) => (A1, A2)): (CC[A1], CC[A2])
Преобразует это итерируемое множество пар в два множества первой и второй половины каждой пары.
val xs = Iterable(
(1, "one"),
(2, "two"),
(3, "three")).unzip
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | пара итерируемых множеств, содержащая первую и вторую половину каждой пары элементов этого итерируемого множества. |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Source
override def unzip3[A1, A2, A3](implicit asTriple: ((Int, T)) => (A1, A2, A3)): (CC[A1], CC[A2], CC[A3])
Преобразует это итерируемое множество троек в три множества первого, второго и третьего элемента каждой тройки.
val xs = Iterable(
(1, "one", '1'),
(2, "two", '2'),
(3, "three", '3')).unzip3
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three),
// Iterable(1, 2, 3))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | тройку итерируемых множеств, содержащую первый, второй и соответственно третий член каждой тройки элементов этого итерируемого множества. |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Source
Обновляет отображение для указанного ключа и его текущего, необязательно сопоставленного значения (Some если есть текущее отображение, None если нет).
Если функция пересопоставления возвращает Some(v), отображение обновляется с новым значением v. Если функция пересопоставления возвращает None, отображение удаляется (или остается отсутствующим, если изначально отсутствовало). Если сама функция вызывает исключение, исключение повторно выбрасывается, и текущее отображение остается без изменений.
| Параметры значения |
|
|---|---|
| Возвращает | Новый словарь с обновленным отображением по ключу |
| Унаследовано от | MapOps |
Source
Возвращает Stepper для значений этого словаря. См. метод stepper.
| Унаследовано от | MapOps |
|---|
Source
Собирает все значения этого словаря в итерируемом множестве.
| Возвращает | значения этого словаря в виде итерируемого множества. |
|---|---|
| Унаследовано от | MapOps |
Source
Представление элементов этого множества.
| Определяющие классы | MapOps -> IterableOps |
|---|---|
| Унаследовано от | MapOps |
Source
def withDefault[V1 >: T](d: Int => V1): Map[K, V1]
Тот же словарь с заданной функцией по умолчанию. Примечание: Значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т. д., не зависят от withDefault.
Вызов методов преобразования (например, map) не сохранит значение по умолчанию.
| Параметры значения |
|
|---|---|
| Возвращает | обёртка словаря с значением по умолчанию |
| Унаследовано от | Map |
Source
def withDefaultValue[V1 >: T](d: V1): Map[K, V1]
Тот же словарь с заданным значением по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т. д., не зависят от withDefaultValue.
Вызов методов преобразования (например, map) не сохранит значение по умолчанию.
| Параметры значения |
|
|---|---|
| Возвращает | обёртка словаря с значением по умолчанию |
| Унаследовано от | Map |
Source
Создаёт нестрогий фильтр этого словаря.
Примечание: разница между c filter p и c withFilter p заключается в том, что первый создаёт новое множество, а второй только ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.
Примечание: результаты могут отличаться при разных запусках, если только тип основного множества не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | объект класса |
| Классы определения | MapFactoryDefaults -> IterableOps |
| Унаследовано от | MapFactoryDefaults |
Источник
override def zip[B](that: IterableOnce[B]): CC[(A, B)]
Возвращает итерируемое множество, сформированное из этого итерируемого множества и другого итерируемого множества путем объединения соответствующих элементов в пары. Если одно из двух множеств длиннее другого, его оставшиеся элементы игнорируются.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новое итерируемое множество, содержащее пары, состоящие из соответствующих элементов этого итерируемого множества и |
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Возвращает итерируемое множество, сформированное из этого итерируемого множества и другого итерируемого множества путем объединения соответствующих элементов в пары. Если одно из двух множеств короче другого, используются элементы-заполнители для расширения более короткого множества до длины более длинного.
| Параметры значения |
|
|---|---|
| Возвращает | новая коллекция типа |
| Унаследовано от | IterableOps |
Источник
override def zipWithIndex: CC[(A, Int)]
Объединяет это итерируемое множество со своими индексами.
| Возвращает | новое итерируемое множество, содержащее пары, состоящие из всех элементов этого итерируемого множества, соединенных со своим индексом. Индексы начинаются с |
|---|---|
| Пример | |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/collection/immutable/IntMap.html