Spec-Zone.ru › Scala 3.1

Класс scala.collection.immutable.IntMap

Объект-компаньон • Исходный код

sealed abstract class IntMap[+T] extends AbstractMap[Int, T] with StrictOptimizedMapOps[Int, T, Map, IntMap[T]] with Serializable

Специализированная неизменяемая структура карты для целочисленных ключей, основанная на статье «Быстрые объединяемые целочисленные карты» (Fast Mergeable Integer Maps) Окасаки и Гила. По сути, это дерево, основанное на двоичных разрядах целых чисел.

Примечание: Этот класс с версии 2.8 в значительной степени устарел, его заменил HashMap.

Параметры типа
T

Тип значений, связанных с целочисленными ключами.

Супертипы
24 типа
интерфейс Serializable
интерфейс StrictOptimizedMapOps[Int, T, Map, IntMap[T]]
интерфейс StrictOptimizedMapOps[Int, T, Map, IntMap[T]]
интерфейс StrictOptimizedIterableOps[(Int, T), Iterable, IntMap[T]]
класс AbstractMap[Int, T]
интерфейс Map[Int, T]
интерфейс MapOps[Int, T, Map, IntMap[T]]
интерфейс Iterable[(Int, T)]
класс AbstractMap[Int, T]
интерфейс Map[Int, T]
интерфейс Equals
интерфейс MapFactoryDefaults[Int, T, Map, Iterable]
интерфейс MapOps[Int, T, Map, IntMap[T]]
интерфейс PartialFunction[Int, T]
интерфейс Int => T
класс AbstractIterable[(Int, T)]
интерфейс Iterable[(Int, T)]
интерфейс IterableFactoryDefaults[(Int, T), Iterable]
интерфейс IterableOps[(Int, T), Iterable, IntMap[T]]
интерфейс IterableOnceOps[(Int, T), Iterable, IntMap[T]]
интерфейс IterableOnce[(Int, T)]
класс Object
интерфейс Matchable
класс Any

Наследуемые классы

Исходный код
protected class ImmutableKeySet extends AbstractSet[K] with DefaultSerializable

Реализующий класс множества, возвращаемого keySet

Наследуется от MapOps

Конкретные методы

Исходный код
override def +[S >: T](kv: (Int, S)): IntMap[S]

Определяющие классы MapOps -> MapOps

Исходный код
override def ++[V1 >: T](that: IterableOnce[(Int, V1)]): IntMap[V1]

Определяющие классы MapOps

Исходный код
def ++[S >: T](that: IntMap[S]): IntMap[S]

Исходный код@tailrec
final override def apply(key: Int): T

Определяющие классы MapOps -> Function1

Исходный код
def collect[V2](pf: PartialFunction[(Int, T), (Int, V2)]): IntMap[V2]

Исходный код
override def concat[V1 >: T](that: IterableOnce[(Int, V1)]): IntMap[V1]

Определяющие классы StrictOptimizedMapOps -> StrictOptimizedMapOps -> MapOps

Исходный код
override def empty: IntMap[T]

Определяющие классы MapFactoryDefaults -> IterableFactoryDefaults -> IterableOps

Исходный код
override def filter(f: (Int, T) => Boolean): IntMap[T]

Определяющие классы StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps

Исходный код@tailrec
final def firstKey: Int

Элемент с наименьшим значением ключа, учитываемый в порядке беззнаковых целых чисел.

Исходный код
def flatMap[V2](f: (Int, T) => IterableOnce[(Int, V2)]): IntMap[V2]

Исходный код
final override def foreach[U](f: (Int, T) => U): Unit

Проходит по парам ключ-значение карты в порядке беззнаковых ключей.

Определяющие классы IterableOnceOps

Исходный код
override def foreachEntry[U](f: (Int, T) => U): Unit

Определяющие классы MapOps

Исходный код
final def foreachKey[U](f: Int => U): Unit

Проход по ключам карты. То же, что и keys.foreach(f), но может быть эффективнее.

Параметры
f

Тело цикла

Исходный код
final def foreachValue[U](f: T => U): Unit

Проход по значениям карты. То же, что и values.foreach(f), но может быть эффективнее.

Параметры
f

Тело цикла

Исходный код@tailrec
final def get(key: Int): Option[T]

Исходный код@tailrec
final override def getOrElse[S >: T](key: Int, default: => S): S

Definition Classes MapOps

Source
def intersection[R](that: IntMap[R]): IntMap[T]

Пересечение (левостороннее). Возвращает карту, содержащую все те же отображения, что и эта, но только для ключей, присутствующих в другой карте.

Type parameters
R

Тип значений в that.

Value parameters
that

Карта для пересечения.

Returns

Карта, содержащая все ключи, присутствующие как в this, так и в that, сопоставленные с соответствующими значениями из this.

Source
def intersectionWith[S, R](that: IntMap[S], f: (Int, T, S) => R): IntMap[R]

Пересечение двух карт с функцией комбинирования. Результирующая карта содержит только ключи, присутствующие в обеих картах, и значения, полученные из исходных отображений путём комбинирования их с f.

Type parameters
R

Тип значений в результирующей LongMap.

S

Тип значений в that.

Value parameters
f

Функция комбинирования.

that

Карта для пересечения.

Returns

Пересечение this и that, со значениями для идентичных ключей, полученными с помощью функции f.

Source
override def isEmpty: Boolean

Definition Classes IterableOnceOps

Source
def iterator: Iterator[(Int, T)]

Итератор по парам ключ-значение карты в порядке возрастания ключей.

Returns

Итератор пар целых ключей и соответствующих значений.

Source
override def keysIterator: Iterator[Int]

Definition Classes MapOps

Source
override def knownSize: Int

Definition Classes IterableOnce

Source@tailrec
final def lastKey: Int

Элемент с наибольшим значением ключа, упорядоченном по возрастанию.

Source
def map[V2](f: (Int, T) => (Int, V2)): IntMap[V2]

Source
def modifyOrRemove[S](f: (Int, T) => Option[S]): IntMap[S]

Комбинированная функция трансформации и фильтрации. Возвращает IntMap, такую что для каждого (key, value) отображения в этой карте, если f(key, value) == None, то карта не содержит отображения для ключа, и если f(key, value).

Type parameters
S

Тип значений в результирующей LongMap.

Value parameters
f

Функция трансформации.

Returns

Изменённая карта.

Source
def removed(key: Int): IntMap[T]

Source
final override def size: Int

Definition Classes IterableOnceOps

Source
override def toList: List[(Int, T)]

Definition Classes IterableOnceOps

Source
override def transform[S](f: (Int, T) => S): IntMap[S]

Definition Classes MapOps

Source
def unionWith[S >: T](that: IntMap[S], f: (Int, S, S) => S): IntMap[S]

Объединение карты с переданной картой, используя функцию комбинирования для разрешения конфликтов.

Type parameters
S

Тип значений в that, являющийся супертипом значений в this.

Value parameters
f

Функция, используемая для разрешения конфликтов между двумя отображениями.

that

Карта для объединения.

Returns

Объединение this и that, где конфликты идентичных ключей разрешаются с помощью функции f.

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)
}
Type parameters
S

Супертип значений в этой LongMap.

Value parameters
f

Функция для разрешения конфликтов.

key

Ключ для обновления

value

Значение, используемое, если конфликта нет

Returns

Обновлённая карта.

Source
override def updated[S >: T](key: Int, value: S): IntMap[S]

Definition Classes MapOps

Source
override def valuesIterator: Iterator[T]

Definition Classes MapOps

Inherited methods

Source@inline
final def ++[B >: (Int, T)](suffix: IterableOnce[B]): Iterable[B]

Псевдоним для concat

Inherited from IterableOps

Source@inline
final def -(key: Int): IntMap[T]

Псевдоним для removed

Inherited from MapOps

Source@inline
final override def --(keys: IterableOnce[Int]): IntMap[T]

Псевдоним для removedAll

Классы определений MapOps -> MapOps
Унаследовано от MapOps

Исходный код@inline
final def addString(b: StringBuilder): StringBuilder

Добавляет все элементы этой коллекции в строковый буфер. Записываемый текст состоит из строковых представлений (относительно метода 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
Параметры значения
b

строковый буфер, в который добавляются элементы.

Возвращает

строковый буфер b, в который были добавлены элементы.

Унаследовано от IterableOnceOps

Исходный код@inline
final def addString(b: StringBuilder, sep: String): StringBuilder

Добавляет все элементы этой коллекции в строковый буфер с использованием разделительной строки. Записываемый текст состоит из строковых представлений (относительно метода 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
Параметры значения
b

строковый буфер, в который добавляются элементы.

sep

разделительная строка.

Возвращает

строковый буфер b, в который были добавлены элементы.

Унаследовано от IterableOnceOps

Исходный код
override def addString(sb: StringBuilder, start: String, sep: String, end: String): StringBuilder

Классы определений MapOps -> IterableOnceOps
Унаследовано от MapOps

Исходный код
def andThen[C](k: PartialFunction[T, C]): PartialFunction[Int, C]

Компонует эту частичную функцию с другой частичной функцией, которая применяется к результатам этой частичной функции.

Обратите внимание, что вызов isDefinedAt для полученной частичной функции может применить первую частичную функцию и выполнить ее побочное действие. Для повышения эффективности рекомендуется вызывать applyOrElse вместо isDefinedAt или apply.

Параметры типа
C

тип результата функции преобразования.

Параметры значения
k

функция преобразования

Возвращает

частичная функция с областью определения этой частичной функции, суженная другой частичной функцией, которая отображает аргументы x в k(this(x)).

Унаследовано от PartialFunction

Исходный код
override def andThen[C](k: T => C): PartialFunction[Int, C]

Компонует эту частичную функцию с функцией преобразования, которая применяется к результатам этой частичной функции.

Если тип функции во время выполнения является PartialFunction, то используется другой метод andThen (обратите внимание на его предостережения).

Параметры типа
C

тип результата функции преобразования.

Параметры значения
k

функция преобразования

Возвращает

частичная функция с областью определения этой частичной функции, возможно, суженной указанной функцией, которая отображает аргументы x в k(this(x)).

Классы определений PartialFunction -> Function1
Унаследовано от PartialFunction

Исходный код
override def applyOrElse[K1 <: Int, V1 >: T](x: K1, default: K1 => V1): V1

Классы определений MapOps -> PartialFunction
Унаследовано от MapOps

Исходный код
def canEqual(that: Any): Boolean

Унаследовано от Map

Исходный код
override def collect[B](pf: PartialFunction[(Int, T), B]): Iterable[B]

Классы определений StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Исходный код
override def collect[K2, V2](pf: PartialFunction[(Int, T), (K2, V2)]): Map[K2, V2]

Классы определений StrictOptimizedMapOps -> MapOps
Унаследовано от StrictOptimizedMapOps

Исходный код
def collectFirst[B](pf: PartialFunction[(Int, T), B]): Option[B]

Ищет первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.

Примечание: может не завершиться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не является упорядоченным.

Параметры значения
pf

частичная функция

Возвращает

значение типа Option, содержащее применённую pf к первому значению, для которого она определена, или None, если такового нет.

Пример

Seq("a", 1, 5L).collectFirst({ case x: Int => x*10 }) = Some(10)

Унаследовано от IterableOnceOps

Исходный код
def compose[R](k: PartialFunction[R, Int]): PartialFunction[R, T]

Компонует другую частичную функцию k с этой частичной функцией так, что эта частичная функция применяется к результатам k.

Обратите внимание, что вызов isDefinedAt для полученной частичной функции может применить первую частичную функцию и выполнить ее побочное действие. Для повышения эффективности рекомендуется вызывать applyOrElse вместо isDefinedAt или apply.

Параметры типа
R

тип параметра функции преобразования.

Параметры значения
k

функция преобразования

Возвращает

частичная функция с областью определения другой частичной функции, суженной этой частичной функцией, которая отображает аргументы x в this(k(x)).

Унаследовано от PartialFunction

Исходный код@unspecialized
def compose[A](g: A => Int): A => T

Компонует два экземпляра Function1 в новый Function1, при этом эта функция применяется последней.

Параметры типа
A

тип, к которому можно применить функцию g

Параметры значения
g

функция A => T1

Возвращаемое значение

новая функция f, такая что f(x) == apply(g(x))

Унаследовано от Function1

Исходный код
def concat[B >: (Int, T)](suffix: IterableOnce[B]): Iterable[B]

Возвращает новую итерируемую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элементов итерируемой коллекции — это наиболее специфичный суперкласс, охватывающий типы элементов двух операндов.

Параметры типа
B

тип элементов возвращаемой коллекции.

Параметры значения
suffix

перебираемый объект для добавления.

Возвращаемое значение

новая итерируемая коллекция, которая содержит все элементы этой итерируемой коллекции, за которыми следуют все элементы suffix.

Унаследовано от IterableOps

Исходный код
def contains(key: Int): Boolean

Проверяет, содержит ли эта карта привязку для ключа.

Параметры значения
key

ключ

Возвращаемое значение

true если для key существует привязка в этой карте, false в противном случае.

Унаследовано от MapOps

Исходный код
def copyToArray[B >: (Int, T)](xs: Array[B], start: Int, len: Int): Int

Копирует элементы в массив, возвращая количество скопированных элементов.

Заполняет заданный массив xs начиная с индекса start не более чем len элементами из этой коллекции.

Копирование прекращается, как только либо все элементы этой коллекции были скопированы, либо достигнут конец массива, либо скопировано len элементов.

Параметры типа
B

тип элементов массива.

Параметры значения
len

максимальное количество копируемых элементов.

start

начальный индекс xs.

xs

массив для заполнения.

Возвращаемое значение

количество элементов, записанных в массив

Примечание

Повторное использование: После вызова этого метода итератор, на котором он был вызван, следует отбросить. Использование его неопределено и может измениться.

Унаследовано от IterableOnceOps

Исходный код@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
def copyToArray[B >: (Int, T)](xs: Array[B], start: Int): Int

Копирует элементы в массив, возвращая количество скопированных элементов.

Заполняет заданный массив xs начиная с индекса start значениями из этой коллекции.

Копирование прекращается, как только либо все элементы этой коллекции были скопированы, либо достигнут конец массива.

Параметры типа
B

тип элементов массива.

Параметры значения
start

начальный индекс xs.

xs

массив для заполнения.

Возвращаемое значение

количество элементов, записанных в массив

Примечание

Повторное использование: После вызова этого метода итератор, на котором он был вызван, следует отбросить. Использование его неопределено и может измениться.

Унаследовано от IterableOnceOps

Исходный код@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
def copyToArray[B >: (Int, T)](xs: Array[B]): Int

Копирует элементы в массив, возвращая количество скопированных элементов.

Заполняет заданный массив xs начиная с индекса start значениями этого набора.

Копирование прекращается, как только будут скопированы все элементы этого набора или будет достигнут конец массива.

Параметры типа
B

тип элементов массива.

Параметры значения
xs

массив для заполнения.

Возвращаемое значение

количество элементов, записанных в массив

Примечание

Переиспользование: после вызова этого метода итератор, на котором он был вызван, следует удалить. Его дальнейшее использование не определено и может измениться.

Унаследовано от IterableOnceOps

Источник
def corresponds[B](that: IterableOnce[B])(p: ((Int, T), B) => Boolean): Boolean

Проверяет, соответствует ли каждый элемент итератора этого набора соответствующему элементу другого набора, удовлетворяя условию предиката.

Примечание: не завершится для наборов бесконечной длины.

Параметры типа
B

тип элементов that

Параметры значения
p

предикат, связывающий элементы обоих наборов

that

другой набор

Возвращаемое значение

true если оба набора имеют одинаковую длину и p(x, y) является true для всех соответствующих элементов x итератора и y другого набора that, иначе false

Унаследовано от IterableOnceOps

Источник
def count(p: (Int, T) => Boolean): Int

Подсчитывает количество элементов в наборе, удовлетворяющих предикату.

Примечание: не завершится для наборов бесконечной длины.

Параметры значения
p

предикат для проверки элементов.

Возвращаемое значение

количество элементов, удовлетворяющих предикату p.

Унаследовано от IterableOnceOps

Источник@throws(scala.throws.$lessinit$greater$default$1[scala.NoSuchElementException])
def default(key: Int): T

Определяет вычисление значения по умолчанию для карты, возвращаемое, когда ключ не найден. Реализованный здесь метод генерирует исключение, но может быть переопределён в подклассах.

Параметры значения
key

заданное значение ключа, для которого отсутствует связывание.

Унаследовано от MapOps

Источник
def drop(n: Int): IntMap[T]

Унаследовано от IterableOps

Источник
override def dropRight(n: Int): IntMap[T]

Часть набора без его n последних элементов. Для линейных неизменяемых наборов это должно избегать создания копии.

Примечание: даже при применении к представлению или ленивому набору элементы всегда будут вычислены.

END_OF_DOCUMENT_MARKER
Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

Source
def dropWhile(p: (Int, T) => Boolean): IntMap[T]

Inherited from IterableOps

Source
def elementWise: ElementWiseExtractor[Int, T]

Возвращает объект-экстрактор с методом unapplySeq, который извлекает каждый элемент данных последовательности.

Example
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
}
Inherited from PartialFunction

Source
override def equals(o: Any): Boolean

Равенство карт реализовано с использованием метода поиска get. Этот метод возвращает true если

  • аргумент o является Map,

  • две карты имеют одинаковый размер, и

  • для каждой пары (key, value) в этой карте, other.get(key) == Some(value).

Реализация equals проверяет метод canEqual, поэтому подклассы Map могут сузить равенство до определённых типов карт. Реализации Map в стандартной библиотеке могут быть все сравнимы, их методы canEqual возвращают true.

Примечание: Метод equals соблюдает законы равенства (симметрия, транзитивность) только если две карты используют одну и ту же функцию эквивалентности ключей в операции поиска. Например, операция эквивалентности ключей в scala.collection.immutable.TreeMap определяется её упорядочением. Сравнение TreeMap с HashMap приводит к неожиданным результатам, если ordering.equiv(k1, k2) (используемая для поиска в TreeMap) отличается от k1 == k2 (используемая для поиска в HashMap).

scala> import scala.collection.immutable._
scala> val ord: Ordering[String] = _ compareToIgnoreCase _

scala> TreeMap("A" -> 1)(ord) == HashMap("a" -> 1)
val res0: Boolean = false

scala> HashMap("a" -> 1) == TreeMap("A" -> 1)(ord)
val res1: Boolean = true
Value parameters
o

Карта, с которой сравнивается эта карта

Returns

true если две карты равны согласно описанию

Definition Classes Map -> Equals -> Any
Inherited from Map

Source
def exists(p: (Int, T) => Boolean): Boolean

Проверяет, выполняется ли предикат хотя бы для одного элемента этой коллекции.

Примечание: может не завершиться для коллекций бесконечного размера.

Value parameters
p

предикат, используемый для проверки элементов.

Returns

true если данный предикат p удовлетворяется по крайней мере одним элементом этой коллекции, в противном случае false

Inherited from IterableOnceOps

Source
override def filterNot(pred: (Int, T) => Boolean): IntMap[T]

Definition Classes StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Inherited from StrictOptimizedIterableOps

Source
def find(p: (Int, T) => Boolean): Option[(Int, T)]

Находит первый элемент коллекции, удовлетворяющий предикату, если таковой существует.

Примечание: может не завершиться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

Value parameters
p

предикат, используемый для проверки элементов.

Returns

значение Option, содержащее первый элемент в коллекции, удовлетворяющий p, или None если такой не существует.

Inherited from IterableOnceOps

Source
override def flatMap[B](f: (Int, T) => IterableOnce[B]): Iterable[B]

Definition Classes StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Inherited from StrictOptimizedIterableOps

Source
override def flatMap[K2, V2](f: (Int, T) => IterableOnce[(K2, V2)]): Map[K2, V2]

Definition Classes StrictOptimizedMapOps -> MapOps
Inherited from StrictOptimizedMapOps

Source
override def flatten[B](implicit toIterableOnce: (Int, T) => IterableOnce[B]): Iterable[B]

Definition Classes StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Inherited from StrictOptimizedIterableOps

Source
def fold[A1 >: (Int, T)](z: A1)(op: (A1, A1) => A1): A1

Складывает элементы этой коллекции, используя указанный ассоциативный бинарный оператор. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективного порядка обхода.

Порядок выполнения операций над элементами не определён и может быть не детерминированным.

Примечание: не завершится для коллекций бесконечного размера.

Type parameters
A1

параметр типа для бинарного оператора, супертип A.

Value parameters
op

бинарный оператор, который должен быть ассоциативным.

z

нейтральный элемент для операции fold; может добавляться к результату любое количество раз, и не должен изменять результат (например, Nil для конкатенации списков, 0 для сложения или 1 для умножения).

Returns

результат применения оператора fold op между всеми элементами и z, или z если эта коллекция пустая.

Inherited from IterableOnceOps

Source
def foldLeft[B](z: B)(op: (B, (Int, T)) => B): B

Применяет бинарный оператор к начальному значению и всем элементам этой коллекции, слева направо.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если базовый тип коллекции упорядочен или оператор ассоциативен и коммутативен.

Type parameters
B

тип результата бинарного оператора.

Value parameters
op

бинарный оператор.

z

начальное значение.

Returns

результат вставки op между последовательными элементами этой коллекции слева направо с начальным значением z слева: op(...op(z, x1), x2, ..., xn), где x1, ..., xn - элементы этой коллекции. Возвращает z если эта коллекция пуста.

Inherited from IterableOnceOps

Source
def foldRight[B](z: B)(op: ((Int, T), B) => B): B

Применяет бинарный оператор ко всем элементам этого набора и начальному значению, двигаясь справа налево.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.

Параметры типа
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

z

начальное значение.

Возвращает

результат вставки op между последовательными элементами этой коллекции, двигаясь справа налево с начальным значением z справа: op(x1, op(x2, ... op(xn, z)...)) где x1, ..., xn - это элементы этой коллекции. Возвращает z если эта коллекция пустая.

Унаследовано от IterableOnceOps

Source
def forall(p: (Int, T) => Boolean): Boolean

Проверяет, выполняется ли предикат для всех элементов этой коллекции.

Примечание: может не завершиться для коллекций бесконечного размера.

Параметры значения
p

предикат, используемый для проверки элементов.

Возвращает

true если эта коллекция пустая или данный предикат p выполняется для всех элементов этой коллекции, иначе false.

Унаследовано от IterableOnceOps

Source
def groupBy[K](f: (Int, T) => K): Map[K, IntMap[T]]

Разбивает эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с некоторой функцией-дискриминатором.

Примечание: даже при применении к представлению или ленивой коллекции она всегда принудительно заставляет элементы.

Параметры типа
K

тип ключей, возвращаемых функцией-дискриминатором.

Параметры значения
f

функция-дискриминатор.

Возвращает

Карта от ключей к итерируемым коллекциям, такая что выполняется следующая инвариантность:

(xs groupBy f)(k) = xs filter (x => f(x) == k)

То есть каждый ключ k связан с итерируемой коллекцией тех элементов x, для которых f(x) равно k.

Унаследовано от IterableOps

Source
def groupMap[K, B](key: (Int, T) => K)(f: (Int, T) => B): Map[K, Iterable[B]]

Разбивает эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с функцией-дискриминатором 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)

Примечание: даже при применении к представлению или ленивой коллекции она всегда принудительно заставляет элементы.

Параметры типа
B

тип значений, возвращаемых функцией преобразования

K

тип ключей, возвращаемых функцией-дискриминатором

Параметры значения
f

функция преобразования элементов

key

функция-дискриминатор

Унаследовано от IterableOps

Source
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

Исходный код
def grouped(size: Int): Iterator[IntMap[T]]

Разделяет элементы в итерируемых коллекциях фиксированного размера.

Параметры значения
size

количество элементов в группе

Возвращает

Итератор, генерирующий итерируемые коллекции размером size, за исключением последней, которая будет меньше, чем размер size, если элементы не делятся равномерно.

См. также

scala.collection.Iterator, метод grouped

Унаследовано от IterableOps

Исходный код
override def hashCode(): Int

Классы определения Map -> Any
Унаследовано от Map

Исходный код
def head: (Int, T)

Выбирает первый элемент этой итерируемой коллекции.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не является упорядоченным.

Возвращает

первый элемент этой итерируемой коллекции.

Выбрасывает
NoSuchElementException

если итерируемая коллекция пуста.

Унаследовано от IterableOps

Исходный код
def headOption: Option[(Int, T)]

Выбирает первый элемент (если он существует).

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не является упорядоченным.

Возвращает

первый элемент этой итерируемой коллекции, если она не пуста, None если она пуста.

Унаследовано от IterableOps

Исходный код
def init: IntMap[T]

Начальная часть коллекции без последнего элемента.

Примечание: даже при применении к представлению или ленивой коллекции, она всегда принудительно обрабатывает элементы.

Унаследовано от IterableOps

Исходный код
def inits: Iterator[IntMap[T]]

Итерируется по начальным частям этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения — результатами последовательных применений init.

Примечание: даже при применении к представлению или ленивой коллекции, она всегда принудительно обрабатывает элементы.

Возвращает

итератор по всем начальным частям этой итерируемой коллекции

Пример

List(1,2,3).inits = Iterator(List(1,2,3), List(1,2), List(1), Nil)

Унаследовано от IterableOps

Исходный код
def isDefinedAt(key: Int): Boolean

Проверяет, содержит ли эта карта привязку для ключа. Этот метод, который реализует абстрактный метод трейта PartialFunction, эквивалентен contains.

Параметры значения
key

ключ

Возвращает

true если для key есть привязка в этой карте, false в противном случае.

Унаследовано от MapOps

Исходный код
override def isTraversableAgain: Boolean

Классы определения IterableOps -> IterableOnceOps
Унаследовано от IterableOps

Исходный код
override def iterableFactory: IterableFactory[Iterable]

Классы определения Iterable -> Iterable -> IterableOps
Унаследовано от Iterable

Исходный код
override def keySet: Set[Int]

Классы определения MapOps -> MapOps
Унаследовано от MapOps

Исходный код
def keyStepper[S <: Stepper[_]](implicit shape: StepperShape[Int, S]): S

Возвращает Stepper для ключей этой карты. См. метод stepper.

Унаследовано от MapOps

Исходный код
def keys: Iterable[Int]

Собирает все ключи этой карты в итерируемое множество.

Возвращает

ключи этой карты в виде итерируемого объекта.

Унаследовано от MapOps

Исходный код
def last: (Int, T)

Выбирает последний элемент.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.

Возвращает

Последний элемент этого итерируемого множества.

Исключения
NoSuchElementException

Если итерируемое множество пусто.

Унаследовано от IterableOps

Исходный код
def lastOption: Option[(Int, T)]

Возвращает необязательный последний элемент.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.

Возвращает

последний элемент этого итерируемого множества, если оно не пустое; None в противном случае.

Унаследовано от IterableOps

Исходный код
def lazyZip[B](that: Iterable[B]): LazyZip2[(Int, T), B, IntMap[T]]

Аналогично 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)
Параметры типа
B

тип второго элемента в каждой возможной паре

Параметры значения
that

итерируемый объект, обеспечивающий второй элемент каждой возможной пары

Возвращает

декоратор LazyZip2, который позволяет выполнять строгие операции над лениво вычисляемыми парами или цепными вызовами lazyZip. Также поддерживается неявное преобразование в Iterable[(A, B)].

Унаследовано от Iterable

Исходный код
def lift: Int => Option[T]

Преобразует эту частичную функцию в обычную функцию, возвращающую Option результат.

Возвращает

функция, принимающая аргумент x и возвращающая Some(this(x)), если this определена для x, и None в противном случае.

См. также

Function.unlift

Унаследовано от PartialFunction

Исходный код
override def map[B](f: (Int, T) => B): Iterable[B]

Классы определения StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Исходный код
override def map[K2, V2](f: (Int, T) => (K2, V2)): Map[K2, V2]

Классы определения StrictOptimizedMapOps -> MapOps
Унаследовано от StrictOptimizedMapOps

Исходный код
override def mapFactory: MapFactory[Map]

Классы определения Map -> Map -> MapOps
Унаследовано от Map

Исходный код
def max[B >: (Int, T)](implicit ord: Ordering[B]): (Int, T)

Находит наибольший элемент.

Примечание: не завершится для бесконечно больших коллекций.

Параметры типа
B

Тип, по которому определено упорядочение.

Параметры значения
ord

Упорядочение для сравнения элементов.

Возвращает

наибольший элемент этой коллекции относительно упорядочения ord.

Исключения
UnsupportedOperationException

если эта коллекция пустая.

Унаследовано от IterableOnceOps

Исходный код
def maxBy[B](f: (Int, T) => B)(implicit cmp: Ordering[B]): (Int, T)

Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.

Примечание: не завершится для бесконечно больших коллекций.

Параметры типа
B

Тип результата функции f.

Параметры значения
cmp

Упорядочение для сравнения элементов.

f

Функция измерения.

Возвращает

первый элемент этой коллекции с наибольшим значением, измеренным функцией f, относительно упорядочения cmp.

Исключения
UnsupportedOperationException

если эта коллекция пустая.

Унаследовано от IterableOnceOps

Исходный код
def maxByOption[B](f: (Int, T) => B)(implicit cmp: Ordering[B]): Option[(Int, T)]

Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.

Примечание: не завершится для бесконечно больших коллекций.

Тип параметров
B

Тип результата функции f.

Параметры значений
cmp

Порядок, используемый для сравнения элементов.

f

Функция измерения.

Возвращает

значение опции, содержащей первый элемент этого набора с наибольшим значением, измеренным функцией f относительно порядка cmp.

Унаследовано от IterableOnceOps

Источник
def maxOption[B >: (Int, T)](implicit ord: Ordering[B]): Option[(Int, T)]

Находит наибольший элемент.

Примечание: не завершится для коллекций бесконечного размера.

Тип параметров
B

Тип, по которому определен порядок.

Параметры значений
ord

Порядок, используемый для сравнения элементов.

Возвращает

значение опции, содержащей наибольший элемент этой коллекции относительно порядка ord.

Унаследовано от IterableOnceOps

Источник
def min[B >: (Int, T)](implicit ord: Ordering[B]): (Int, T)

Находит наименьший элемент.

Примечание: не завершится для коллекций бесконечного размера.

Тип параметров
B

Тип, по которому определен порядок.

Параметры значений
ord

Порядок, используемый для сравнения элементов.

Возвращает

наименьший элемент этой коллекции относительно порядка ord.

Выбрасывает
UnsupportedOperationException

если эта коллекция пуста.

Унаследовано от IterableOnceOps

Источник
def minBy[B](f: (Int, T) => B)(implicit cmp: Ordering[B]): (Int, T)

Находит первый элемент, который дает наименьшее значение, измеренное функцией f.

Примечание: не завершится для коллекций бесконечного размера.

Тип параметров
B

Тип результата функции f.

Параметры значений
cmp

Порядок, используемый для сравнения элементов.

f

Функция измерения.

Возвращает

первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно порядка cmp.

Выбрасывает
UnsupportedOperationException

если эта коллекция пуста.

Унаследовано от IterableOnceOps

Источник
def minByOption[B](f: (Int, T) => B)(implicit cmp: Ordering[B]): Option[(Int, T)]

Находит первый элемент, который дает наименьшее значение, измеренное функцией f.

Примечание: не завершится для коллекций бесконечного размера.

Тип параметров
B

Тип результата функции f.

Параметры значений
cmp

Порядок, используемый для сравнения элементов.

f

Функция измерения.

Возвращает

значение опции, содержащей первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно порядка cmp.

Унаследовано от IterableOnceOps

Источник
def minOption[B >: (Int, T)](implicit ord: Ordering[B]): Option[(Int, T)]

Находит наименьший элемент.

Примечание: не будет завершаться для коллекций бесконечного размера.

Параметры типа
B

Тип, над которым определено упорядочение.

Параметры значения
ord

Упорядочение, используемое для сравнения элементов.

Возвращает

значение типа Option, содержащее наименьший элемент этой коллекции по отношению к упорядочению ord.

Унаследовано от IterableOnceOps

Исходный код@inline
final def mkString: String

Отображает все элементы этой коллекции в строке.

Делегирует addString, который может быть переопределен.

Возвращает

строковое представление этой коллекции. В результирующей строке строковые представления (с точки зрения метода toString) всех элементов этой коллекции следуют друг за другом без разделителя.

Унаследовано от IterableOnceOps

Исходный код@inline
final def mkString(sep: String): String

Отображает все элементы этой коллекции в строке с использованием разделителя.

Делегирует addString, который может быть переопределен.

Параметры значения
sep

разделитель.

Возвращает

строковое представление этой коллекции. В результирующей строке строковые представления (с точки зрения метода toString) всех элементов этой коллекции разделены строкой sep.

Пример

List(1, 2, 3).mkString("|") = "1|2|3"

Унаследовано от IterableOnceOps

Исходный код
final def mkString(start: String, sep: String, end: String): String

Отображает все элементы этой коллекции в строке, используя начальную, конечную и разделительные строки.

Делегирует addString, который может быть переопределен.

Параметры значения
end

конечная строка.

sep

разделитель.

start

начальная строка.

Возвращает

строковое представление этой коллекции. Результирующая строка начинается со строки start и заканчивается строкой end. Внутри строковые представления (с точки зрения метода toString) всех элементов этой коллекции разделены строкой sep.

Пример

List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"

Унаследовано от IterableOnceOps

Исходный код@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
def nonEmpty: Boolean

Проверяет, пуста ли коллекция.

Возвращает

true если коллекция содержит по крайней мере один элемент, false в противном случае.

Унаследовано от IterableOnceOps

Исходный код
def orElse[A1 <: Int, B1 >: T](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]

Компонует эту частичную функцию с резервной частичной функцией, которая применяется в тех случаях, когда эта частичная функция не определена.

Тип параметров
A1

тип аргумента функции по умолчанию

B1

тип результата функции по умолчанию

Параметры значения
that

функция по умолчанию

Возвращает

частичная функция, область определения которой является объединением областей определения этой частичной функции и that. Результирующая частичная функция принимает x к this(x), где this определена, и к that(x) где она не определена.

Унаследовано от PartialFunction

Источник
override def partition(p: (Int, T) => Boolean): (IntMap[T], IntMap[T])

Классы определений StrictOptimizedIterableOps -> IterableOps
Унаследовано от StrictOptimizedIterableOps

Источник
override def partitionMap[A1, A2](f: (Int, T) => Either[A1, A2]): (Iterable[A1], Iterable[A2])

Классы определений StrictOptimizedIterableOps -> IterableOps
Унаследовано от StrictOptimizedIterableOps

Источник
def product[B >: (Int, T)](implicit num: Numeric[B]): B

Умножает элементы этого набора.

Примечание: не завершится для наборов бесконечного размера.

Тип параметров
B

тип результата оператора *.

Параметры значения
num

явный параметр, определяющий набор арифметических операций, который включает оператор *, используемый для формирования произведения.

Возвращает

произведение всех элементов этого набора относительно оператора * в num.

Унаследовано от IterableOnceOps

Источник
def reduce[B >: (Int, T)](op: (B, B) => B): B

Сводит элементы этого набора, используя указанный ассоциативный бинарный оператор.

Порядок выполнения операций над элементами не определен и может быть не детерминированным.

Тип параметров
B

Параметр типа для бинарного оператора, супертип A.

Параметры значения
op

Бинарный оператор, который должен быть ассоциативным.

Возвращает

Результат применения оператора reduce op между всеми элементами, если набор не пуст.

Исключения
UnsupportedOperationException

если этот набор пуст.

Унаследовано от IterableOnceOps

Источник
def reduceLeft[B >: (Int, T)](op: (B, (Int, T)) => B): B

Применяет бинарный оператор ко всем элементам этого набора слева направо.

Примечание: не завершится для наборов бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.

Тип параметров
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

Возвращает

результат вставки op между последовательными элементами этого набора, слева направо: op( op( ... op(x1, x2) ..., xn-1), xn) где x1, ..., xn являются элементами этого набора.

Исключения
UnsupportedOperationException

если этот набор пуст.

Унаследовано от IterableOnceOps

Источник
def reduceLeftOption[B >: (Int, T)](op: (B, (Int, T)) => B): Option[B]

Необязательно применяет бинарный оператор ко всем элементам этого набора слева направо.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.

Параметры типа
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

Возвращает

значение типа Option, содержащее результат reduceLeft(op) если эта коллекция непустая, None в противном случае.

Унаследовано от IterableOnceOps

Исходный код
def reduceOption[B >: (Int, T)](op: (B, B) => B): Option[B]

Применяет заданный ассоциативный бинарный оператор ко всем элементам этой коллекции (если таковые имеются).

Порядок операций над элементами не определен и может быть недетерминированным.

Параметры типа
B

параметр типа для бинарного оператора, являющийся супертипом A.

Параметры значения
op

бинарный оператор, который должен быть ассоциативным.

Возвращает

значение типа Option, содержащее результат применения оператора reduce op ко всем элементам коллекции, если она непустая, и None в противном случае.

Унаследовано от IterableOnceOps

Исходный код
def reduceRight[B >: (Int, T)](op: ((Int, T), B) => B): B

Применяет бинарный оператор ко всем элементам этой коллекции, справа налево.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.

Параметры типа
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

Возвращает

результат вставки op между последовательными элементами этой коллекции, справа налево: op(x1, op(x2, ..., op(xn-1, xn)...)), где x1, ..., xn — элементы этой коллекции.

Выбрасывает
UnsupportedOperationException

если эта коллекция пустая.

Унаследовано от IterableOnceOps

Исходный код
def reduceRightOption[B >: (Int, T)](op: ((Int, T), B) => B): Option[B]

Возвращает значение типа Option, содержащее результат применения бинарного оператора ко всем элементам коллекции, справа налево.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.

Параметры типа
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

Возвращает

значение типа Option, содержащее результат reduceRight(op) если эта коллекция непустая, None в противном случае.

Унаследовано от IterableOnceOps

Исходный код
def removedAll(keys: IterableOnce[Int]): IntMap[T]

Создаёт новую неизменяемую карту из этой неизменяемой карты, удалив все элементы из другой коллекции.

Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.

Параметры значения
keys

коллекция, содержащая удаленные элементы.

Возвращает

новая неизменяемая карта, содержащая все элементы текущей неизменяемой карты, за исключением одного меньше вхождения каждого элемента из elems.

Унаследовано от MapOps

Источник
protected def reversed: Iterable[(Int, T)]

Унаследовано от IterableOnceOps

Источник
def runWith[U](action: T => U): Int => Boolean

Комбинирует данную частичную функцию с функцией действия, которая применяется к результатам этой частичной функции. Функция действия вызывается только для побочных эффектов; её результат игнорируется.

Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно

if(pf isDefinedAt x) { action(pf(x)); true } else false

за исключением того, что runWith реализована с помощью applyOrElse, и, следовательно, потенциально более эффективна. Использование runWith предотвращает двойную оценку совпадений с шаблонами и условий для литералов частичных функций.

Параметры значения
action

функция действия

Возвращает

функция, которая отображает аргументы x в isDefinedAt(x). Результирующая функция выполняет action(this(x)) там, где this определена.

См. также

applyOrElse.

Унаследовано от PartialFunction

Источник
def scan[B >: (Int, T)](z: B)(op: (B, B) => B): Iterable[B]

Вычисляет префиксную сканировку элементов коллекции.

Примечание: нейтральный элемент z может применяться более одного раза.

Параметры типа
B

тип элементов результирующей коллекции

Параметры значения
op

ассоциативный оператор для сканирования

z

нейтральный элемент для оператора op

Возвращает

новая итерируемая коллекция, содержащая префиксное сканирование элементов в этой итерируемой коллекции

Унаследовано от IterableOps

Источник
override def scanLeft[B](z: B)(op: (B, (Int, T)) => B): Iterable[B]

Классы определения StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Источник
def scanRight[B](z: B)(op: ((Int, T), B) => B): Iterable[B]

Создаёт коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Головка коллекции — это последний кумулятивный результат.

Примечание: не будет завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не является упорядоченным.

Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.

Пример:

List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
Параметры типа
B

тип элементов в результирующей коллекции

Параметры значения
op

бинарный оператор, применяемый к промежуточному результату и элементу

z

начальное значение

Возвращает

коллекция с промежуточными результатами

Унаследовано от IterableOps

Источник
def sizeCompare(that: Iterable[_]): Int

Сравнивает размер этой итерируемой коллекции с размером другой Iterable.

Параметры значения
that

Iterable, размер которой сравнивается с размером этой итерируемой коллекции.

Возвращает

Значение x, где

x <  0       if this.size <  that.size
x == 0       if this.size == that.size
x >  0       if this.size >  that.size

Метод, как он реализован здесь, не вызывает size напрямую; его время выполнения — O(this.size min that.size), а не O(this.size + that.size). Метод следует переопределять, если вычисление size является дешёвым, и knownSize возвращает -1.

Унаследовано от IterableOps

Источник
def sizeCompare(otherSize: Int): Int

Сравнивает размер этой итерируемой коллекции со значением-тестом.

Параметры значения
otherSize

значение-тест, которое сравнивается с размером.

Возвращает

Значение x, где

x <  0       if this.size <  otherSize
x == 0       if this.size == otherSize
x >  0       if this.size >  otherSize

Метод, как он реализован здесь, не вызывает size напрямую; его время выполнения — O(size min otherSize), а не O(size). Метод следует переопределять, если вычисление size является дешёвым, и knownSize возвращает -1.

См. также

sizeIs

Унаследовано от IterableOps

Источник@inline
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

Источник
def slice(from: Int, until: Int): IntMap[T]

Унаследовано от IterableOps

Источник
def sliding(size: Int, step: Int): Iterator[IntMap[T]]

Группирует элементы в блоки фиксированного размера, передавая "скользящее окно" по ним (в отличие от разбиения на части, как в grouped.)

Возвращаемый итератор будет пустым, когда вызывается для пустой коллекции. Последний элемент, который итератор производит, может быть меньше размера окна, если исходная коллекция не исчерпывается окном до его конца и его последний элемент не пропускается шагом до него.

Параметры значения
size

количество элементов в группе

step

расстояние между первыми элементами последовательных групп

Возвращает

Итератор, генерирующий итерируемые коллекции размера size, за исключением последнего элемента (который может быть единственным элементом), который будет меньше, если оставшихся элементов для группировки меньше, чем size.

См. также

scala.collection.Iterator, метод sliding

Пример

List(1, 2, 3, 4, 5).sliding(2, 2) = Iterator(List(1, 2), List(3, 4), List(5))

List(1, 2, 3, 4, 5, 6).sliding(2, 3) = Iterator(List(1, 2), List(4, 5))

Унаследовано от IterableOps

Источник
def sliding(size: Int): Iterator[IntMap[T]]

Группирует элементы в блоки фиксированного размера, передавая "скользящее окно" по ним (в отличие от разбиения на части, как в grouped.)

Пустая коллекция возвращает пустой итератор, а непустая коллекция, содержащая меньше элементов, чем размер окна, возвращает итератор, который произведёт исходную коллекцию как свой единственный элемент.

Параметры значения
size

количество элементов в группе

Возвращает

Итератор, генерирующий итерируемые коллекции размером size, за исключением непустой коллекции с менее чем size элементами, которая возвращает итератор, генерирующий исходную коллекцию в качестве единственного элемента.

См. также

scala.collection.Iterator, метод sliding

Пример

List().sliding(2) = empty iterator

List(1).sliding(2) = Iterator(List(1))

List(1, 2).sliding(2) = Iterator(List(1, 2))

List(1, 2, 3).sliding(2) = Iterator(List(1, 2), List(2, 3))

Унаследовано от IterableOps

Источник
override def span(p: (Int, T) => Boolean): (IntMap[T], IntMap[T])

Классы определения StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Источник
override def splitAt(n: Int): (IntMap[T], IntMap[T])

Классы определения IterableOps -> IterableOnceOps
Унаследовано от IterableOps

Источник
def stepper[S <: Stepper[_]](implicit shape: StepperShape[(Int, T), S]): S

Возвращает 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

Источник
def sum[B >: (Int, T)](implicit num: Numeric[B]): B

Суммирует элементы этой коллекции.

Примечание: не будет завершаться для бесконечных коллекций.

Параметры типа
B

тип результата оператора +.

Параметры значения
num

неявный параметр, определяющий набор числовых операций, который включает оператор + для использования при формировании суммы.

Возвращает

сумма всех элементов этой коллекции относительно оператора + в num.

Унаследовано от IterableOnceOps

Источник
def tail: IntMap[T]

Остальная часть коллекции без первого элемента.

Унаследовано от IterableOps

Источник
def tails: Iterator[IntMap[T]]

Итерируется по хвостам этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения — результаты последовательных применений tail.

Возвращает

итератор по всем хвостам этой итерируемой коллекции

Пример

List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)

Унаследовано от IterableOps

Источник
def take(n: Int): IntMap[T]

Унаследовано от IterableOps

Источник
override def takeRight(n: Int): IntMap[T]

Коллекция, содержащая последние n элементы этой коллекции.

Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.

Классы определения StrictOptimizedIterableOps -> IterableOps
Унаследовано от StrictOptimizedIterableOps

Источник
def takeWhile(p: (Int, T) => Boolean): IntMap[T]

Извлекает самое длинное префикс элементов, удовлетворяющих предикату.

Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции не упорядочен.

Параметры значения
p

Используемый предикат для проверки элементов.

Возвращает

самый длинный префикс этой итерируемой коллекции, элементы которой удовлетворяют предикату p.

Унаследовано от IterableOps

Источник
override def tapEach[U](f: (Int, T) => U): IntMap[T]

Классы определения StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Источник
def to[C1](factory: Factory[(Int, T), C1]): C1

При заданном фабричном методе коллекции factory, преобразует эту коллекцию в соответствующее представление для текущего типа элемента A. Примеры использования:

xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]

Унаследовано от IterableOnceOps

Источник
def toArray[B >: (Int, T) : ClassTag]: Array[B]

Преобразует коллекцию в массив.

Примечание реализации: НЕ вызывайте Array.from из этого метода.

Унаследовано от IterableOnceOps

Источник@inline
final def toBuffer[B >: (Int, T)]: Buffer[B]

Унаследовано от IterableOnceOps

Source
def toIndexedSeq: IndexedSeq[(Int, T)]

Унаследованно от IterableOnceOps

Source
final override def toMap[K2, V2](implicit ev: (Int, T) <:< (K2, V2)): Map[K2, V2]

Классы-предки Map -> IterableOnceOps
Унаследованно от Map

Source
def toSeq: Seq[(Int, T)]

Возвращает

Это коллекция как Seq[A]. Это эквивалентно to(Seq), но может быть быстрее.

Унаследованно от IterableOnceOps

Source
def toSet[B >: (Int, T)]: Set[B]

Унаследованно от IterableOnceOps

Source
override def toString(): String

Классы-предки Map -> Function1 -> Iterable -> Any
Унаследованно от Map

Source
def toVector: Vector[(Int, T)]

Унаследованно от IterableOnceOps

Source
def transpose[B](implicit asIterable: (Int, T) => Iterable[B]): Iterable[Iterable[B]]

Транспонирует эту итерируемую коллекцию итерируемых коллекций в итерируемую коллекцию итерируемых коллекций.

Тип результирующей коллекции будет определяться статическим типом итерируемой коллекции. Например:

val xs = List(
           Set(1, 2, 3),
           Set(4, 5, 6)).transpose
// xs == List(
//         List(1, 4),
//         List(2, 5),
//         List(3, 6))

val ys = Vector(
           List(1, 2, 3),
           List(4, 5, 6)).transpose
// ys == Vector(
//         Vector(1, 4),
//         Vector(2, 5),
//         Vector(3, 6))

Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.

Параметры типа
B

тип элементов каждой итерируемой коллекции.

Параметры значения
asIterable

явное преобразование, которое утверждает, что тип элемента этой итерируемой коллекции является Iterable.

Возвращает

двухмерная итерируемая коллекция итерируемых коллекций, у которой n-я строка является n-м столбцом этой итерируемой коллекции.

Исключения
IllegalArgumentException

если все коллекции в этой итерируемой коллекции не имеют одинакового размера.

Унаследованно от IterableOps

Source
def unapply(a: Int): Option[T]

Попытка извлечь B из A в выражении сопоставления с образцом.

Унаследованно от PartialFunction

Source
override def unzip[A1, A2](implicit asPair: (Int, T) => (A1, A2)): (Iterable[A1], Iterable[A2])

Классы-предки StrictOptimizedIterableOps -> IterableOps
Унаследованно от StrictOptimizedIterableOps

Source
override def unzip3[A1, A2, A3](implicit asTriple: (Int, T) => (A1, A2, A3)): (Iterable[A1], Iterable[A2], Iterable[A3])

Классы-предки StrictOptimizedIterableOps -> IterableOps
Унаследованно от StrictOptimizedIterableOps

Source
def updatedWith[V1 >: T](key: Int)(remappingFunction: Option[T] => Option[V1]): Map[Int, V1]

Обновление отображения для указанного ключа и его текущего, необязательно отображаемого значения (Some если есть текущее отображение, None если нет).

Если функция переназначения возвращает Some(v), отображение обновляется с новым значением v. Если функция переназначения возвращает None, отображение удаляется (или остается отсутствующим, если изначально отсутствовало). Если сама функция вызывает исключение, исключение перебрасывается, а текущее отображение остается неизменным.

Параметры значения
key

значение ключа

remappingFunction

частичная функция, которая получает текущее, необязательно отображаемое значение и возвращает новое отображение

Возвращает

Новый словарь с обновленным отображением с ключом

Унаследованно от MapOps

Source
def valueStepper[S <: Stepper[_]](implicit shape: StepperShape[T, S]): S

Возвращает Stepper для значений этого словаря. См. метод stepper.

Унаследованно от MapOps

Source
def values: Iterable[T]

Собраны все значения этого словаря в итерируемой коллекции.

Возвращает

значения этого словаря в виде итерируемого объекта.

Унаследованно от MapOps

Source
override def view: MapView[Int, T]

Классы-предки MapOps -> IterableOps
Унаследованно от MapOps

Source
def withDefault[V1 >: T](d: Int => V1): Map[Int, V1]

Тот же словарь с заданной функцией по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т. д., не изменяются значением withDefault.

Вызов методов трансформации (например, map) не сохранит значение по умолчанию.

Параметры значения
d

функция, отображающая ключи в значения, используемые для отсутствующих ключей

Возвращает

обёртка словаря с значением по умолчанию

Унаследованно от Map

Source
def withDefaultValue[V1 >: T](d: V1): Map[Int, V1]

Тот же словарь с заданным значением по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т. д., не изменяются значением withDefaultValue.

Вызов методов трансформации (например, map) не сохранит значение по умолчанию.

Параметры значения
d

значение по умолчанию, используемое для отсутствующих ключей

Возвращает

обёртка словаря со значением по умолчанию

Унаследованно от Map

Source
override def withFilter(p: (Int, T) => Boolean): WithFilter[Int, T, Iterable, Map]

Описание классов MapFactoryDefaults -> IterableOps
Унаследовано от MapFactoryDefaults

Source
override def zip[B](that: IterableOnce[B]): Iterable[((Int, T), B)]

Описание классов StrictOptimizedIterableOps -> IterableOps
Унаследовано от StrictOptimizedIterableOps

Source
def zipAll[A1 >: (Int, T), B](that: Iterable[B], thisElem: A1, thatElem: B): Iterable[(A1, B)]

Возвращает итерируемую коллекцию, сформированную из этой итерируемой коллекции и другой итерируемой коллекции путём объединения соответствующих элементов парами. Если одна из двух коллекций короче другой, элементы-заполнители используются для расширения более короткой коллекции до длины более длинной.

Параметры
that

итерируемая коллекция, предоставляющая вторую половину каждой пары результатов

thatElem

элемент, используемый для заполнения результата, если that короче, чем эта итерируемая коллекция.

thisElem

элемент, используемый для заполнения результата, если эта итерируемая коллекция короче, чем that.

Возвращаемое значение

новая коллекция типа That, содержащая пары, состоящие из соответствующих элементов этой итерируемой коллекции и that. Длина возвращаемой коллекции — максимальная из длин этой итерируемой коллекции и that. Если эта итерируемая коллекция короче that, значения thisElem используются для заполнения результата. Если that короче этой итерируемой коллекции, значения thatElem используются для заполнения результата.

Унаследовано от IterableOps

Source
override def zipWithIndex: Iterable[((Int, T), 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.1.1/scala/collection/immutable/IntMap.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API