Spec-Zone.ru › Scala 3.2

Класс LongMap.LongMap

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

sealed abstract class LongMap[+T] extends AbstractMap[Long, T] with StrictOptimizedMapOps[Long, T, Map, LongMap[T]] with Serializable

Специализированная неизменяемая структура карты для ключей типа long, основанная на быстро объединяемых картах длинных целых чисел Окасаки и Гиля. По сути, это дерево, основанное на двоичных разрядах целых чисел.

Примечание: Этот класс с версии 2.8 в основном устарел и заменён на HashMap.

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

тип значений, связанных с ключами типа long.

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

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

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

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

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

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

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

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

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

тип значения в паре ключ/значение.

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

пара ключ/значение.

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

Новая карта с добавленной связью в эту карту.

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

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

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

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

Классы определения MapOps

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

Возвращает значение, связанное с заданным ключом. Этот метод вызывает метод default карты, если нет сопоставления заданного ключа со значением. Если не переопределён, метод default выбрасывает NoSuchElementException.

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

ключ

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

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

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

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

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

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

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

проходимая структура для добавления.

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

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

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

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

Пустой итерируемый объект того же типа, что и этот итерируемый объект.

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

пустой итерируемый объект типа C.

Классы определения MapFactoryDefaults -> IterableFactoryDefaults -> IterableOps

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

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

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

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

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

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

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

Исходный код
final def firstKey: Long

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

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

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

Классы определения IterableOnceOps

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

Примените f к каждой паре ключ/значение для его побочных эффектов. Примечание: параметр [U] необходим для помощи в инференции типов scalac.

Классы определений MapOps

Источник
final def foreachKey[U](f: Long => U): Unit

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

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

Тело цикла

Источник
final def foreachValue[U](f: T => U): Unit

Перебор значений карты. То же самое, что и values.foreach(f), но может быть более эффективным.

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

Тело цикла

Источник
final def get(key: Long): Option[T]

Возвращает значение, связанное с ключом, необязательно.

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

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

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

опция значения, содержащая значение, связанное с key в этой карте, или None, если такового нет.

Источник
final override def getOrElse[S >: T](key: Long, default: => S): S

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

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

тип результата вычисления по умолчанию.

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

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

key

ключ.

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

значение, связанное с key, если оно существует, в противном случае результат вычисления default.

Классы определений MapOps

Источник
def intersection[R](that: LongMap[R]): LongMap[T]

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

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

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

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

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

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

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

Источник
def intersectionWith[S, R](that: LongMap[S], f: (Long, T, S) => R): LongMap[R]

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

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

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

S

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

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

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

that

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

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

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

Источник
override def isEmpty: Boolean

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

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

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

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

Классы определений IterableOnceOps

Источник
def iterator: Iterator[(Long, T)]

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

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

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

Источник
override def keysIterator: Iterator[Long]

Создает итератор для всех ключей.

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

итератор по всем ключам.

Классы определений MapOps

Источник
override def knownSize: Int

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

Количество элементов в этой неизменяемой карте длинных целых чисел, если его можно легко вычислить, иначе -1. Легко вычислимый обычно означает: не требует обхода коллекции.

Классы определений IterableOnce

Источник
final def lastKey: Long

Источник
def map[V2](f: ((Long, T)) => (Long, V2)): LongMap[V2]

Источник
def modifyOrRemove[S](f: (Long, T) => Option[S]): LongMap[S]

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

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

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

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

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

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

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

Источник
def removed(key: Long): LongMap[T]

Удаляет ключ из этой карты, возвращая новую карту.

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

ключ для удаления

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

новая карта без привязки для ключа

Источник
final override def size: Int

Размер этой неизменяемой карты длинных целых чисел.

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

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

Классы определений IterableOnceOps

Источник
override def toList: List[(Long, T)]

Классы определений IterableOnceOps

Источник
override def transform[S](f: (Long, T) => S): LongMap[S]

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

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

Функция над ключами и значениями

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

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

Классы определений MapOps

Source
def unionWith[S >: T](that: LongMap[S], f: (Long, S, S) => S): LongMap[S]

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

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

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

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

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

that

Словарь, с которым необходимо образовать объединение.

Возвращает

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

Source
def updateWith[S >: T](key: Long, value: S, f: (T, S) => S): LongMap[S]

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

Эквивалентно

this.get(key) match {
  case None => this.update(key, value)
  case Some(oldvalue) => this.update(key, f(oldvalue, value)
}
Параметры типа
S

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

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

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

key

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

value

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

Возвращает

Обновлённый словарь.

Source
override def updated[S >: T](key: Long, value: S): LongMap[S]

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

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

Тип добавляемого значения

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

ключ

value

значение

Возвращает

Новый словарь с добавленной в этот словарь новой парой ключ-значение. <неверная аннотация inheritdoc>

Классы определения MapOps

Source
override def valuesIterator: Iterator[T]

Создаёт итератор для всех значений в этом словаре.

Возвращает

итератор по всем значениям, связанным с каким-либо ключом в этом словаре.

Классы определения MapOps

Наследованные методы

Source
final def ++[B >: (Long, T)](suffix: IterableOnce[B]): CC[B]

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

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

Source
final def -(key: Long): C

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

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

Source
final override def --(keys: IterableOnce[Long]): C

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

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

Source
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

Source
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

Source
override def addString(sb: StringBuilder, start: String, sep: String, end: String): StringBuilder

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

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

end

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

sep

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

start

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

Возвращает

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

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

Source
def andThen[C](k: PartialFunction[T, C]): PartialFunction[A, C]

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

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

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

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

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

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

Возвращает

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

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

Source
override def andThen[C](k: T => C): PartialFunction[A, C]

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

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

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

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

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

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

Возвращает

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

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

Источник
override def applyOrElse[K1 <: Long, 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. Это может привести к лучшей производительности и более предсказуемому поведению относительно побочных эффектов.

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

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

x

аргумент функции

Возвращает

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

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

Источник
def canEqual(that: Any): Boolean

Метод, который следует вызывать из каждой хорошо спроектированной функции equals, которая может быть переопределена в подклассе. См. Programming in Scala, Глава 28 для обсуждения и проектирования.

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

значение, которое проверяется на возможное равенство

Возвращает

true, если этот экземпляр может быть равен that, в противном случае false

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

Источник
override def collect[B](pf: PartialFunction[(Long, T), B]): CC[B]

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

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

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

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

частичная функция, которая фильтрует и отображает итерабельную коллекцию.

Возвращает

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

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

Источник
override def collect[K2, V2](pf: PartialFunction[(Long, T), (K2, V2)]): CC[K2, V2]

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

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

тип ключа возвращаемого отображения.

V2

тип значения возвращаемого отображения.

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

частичная функция, которая фильтрует и отображает отображение.

Возвращает

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

Определяющие классы StrictOptimizedMapOps -> MapOps
Унаследовано от StrictOptimizedMapOps

Источник
def collectFirst[B](pf: PartialFunction[(Long, 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, Long]): PartialFunction[R, B]

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

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

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

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

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

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

Возвращает

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

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

Источник
def compose[A](g: A => Long): A => R

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

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

тип, к которому может быть применена функция g

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

функция A => T1

Возвращает

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

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

Источник
def concat[B >: (Long, T)](suffix: IterableOnce[B]): CC[B]

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

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

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

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

перебираемая коллекция для добавления.

Возвращает

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

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

Source
def contains(key: Long): Boolean

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

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

ключ

Возвращает

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

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

Source
def copyToArray[B >: (Long, T)](xs: Array[B], start: Int, len: Int): Int

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

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

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

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

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

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

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

start

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

xs

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

Возвращает

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

Примечание

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

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

Source
def copyToArray[B >: (Long, T)](xs: Array[B], start: Int): Int

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

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

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

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

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

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

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

xs

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

Возвращает

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

Примечание

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

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

Source
def copyToArray[B >: (Long, T)](xs: Array[B]): Int

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

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

Source
def corresponds[B](that: IterableOnce[B])(p: ((Long, T), B) => Boolean): Boolean

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

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

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

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

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

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

that

другая коллекция

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Source
def default(key: Long): V

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

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

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

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

Source
def drop(n: Int): C

Выбирает все элементы, кроме первых n.

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

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

количество элементов, которые нужно опустить из этой коллекции.

Возвращает

коллекция, состоящая из всех элементов этой коллекции, кроме первых n элементов, или пустая коллекция, если в этой коллекции меньше чем n элементов. Если n отрицательное, не опускать элементы.

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

Source
override def dropRight(n: Int): C

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

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

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

Source
def dropWhile(p: ((Long, T)) => Boolean): C

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

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

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

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

Возвращает

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

Унаследовано от 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
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
Параметры значения
o

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Source
override def filterNot(pred: ((Long, T)) => Boolean): C

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

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

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

Source
override def flatMap[B](f: ((Long, 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)
Параметры типа
B

тип элементов возвращаемого набора.

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

функция, применяемая к каждому элементу.

Возвращает

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

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

Источник
override def flatMap[K2, V2](f: ((Long, T)) => IterableOnce[(K2, V2)]): CC[K2, V2]

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

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

функция, применяемая к каждому элементу.

Возвращает

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

Определяющие классы StrictOptimizedMapOps -> MapOps
Унаследовано от StrictOptimizedMapOps

Источник
override def flatten[B](implicit toIterableOnce: ((Long, T)) => IterableOnce[B]): CC[B]

Преобразует этот итерируемый набор коллекций Traversable в итерируемый набор, образованный элементами этих коллекций Traversable.

Тип результирующего набора определяется типом итерируемого набора. Например:

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)
Параметры типа
B

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

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

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

Возвращает

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

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

Источник
def fold[A1 >: (Long, T)](z: A1)(op: (A1, A1) => A1): A1

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

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

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

бинарная операция.

z

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

Возвращает

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

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

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

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

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

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

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

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

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

бинарная операция.

z

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Источник
def groupBy[K](f: ((Long, T)) => K): Map[K, C]

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

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

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

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

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

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

Возвращает

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

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

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

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

Источник
def groupMap[K, B](key: ((Long, T)) => K)(f: ((Long, T)) => B): Map[K, CC[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

Источник
def groupMapReduce[K, B](key: ((Long, T)) => K)(f: ((Long, 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[C]

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

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

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

Возвращает

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

См. также

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

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

Источник
override def hashCode(): Int

Вычисляет хэш-код объекта.

Алгоритм хэширования зависит от платформы.

Обратите внимание, что для двух объектов возможно совпадение хэш-кодов (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

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

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

Возвращает

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

Исключения
NoSuchElementException

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

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

Источник
def headOption: Option[A]

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

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

Возвращает

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

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

Источник
def init: C

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

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

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

Источник
def inits: Iterator[C]

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

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

class="attributes">
Возвращает

итератор по всем значениям inits этого итерируемого набора

Пример

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

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

Источник
def isDefinedAt(key: Long): Boolean

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

class="attributes">
Параметры значения
key

ключ

Возвращает

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

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

Источник
override def isTraversableAgain: Boolean

Проверяет, можно ли повторно пройти по этому итерируемому набору. Всегда true для Iterables и false для Iterators, если не переопределено.

class="attributes">
Возвращает

true если можно повторно пройтись, false в противном случае.

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

Источник
override def iterableFactory: IterableFactory[Iterable]

Компаньон-объект этого неизменяемого набора, предоставляющий различные методы фабрик.

class="attributes">
Примечание

При реализации пользовательского типа набора и уточнении CC до нового типа, этот метод необходимо переопределить, чтобы вернуть фабрику для нового типа (в противном случае компилятор выдаст ошибку).

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

Источник
override def keySet: Set[K]

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

class="attributes">
Возвращает

набор, содержащий все ключи этой карты.

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

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

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

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

Источник
def keys: Iterable[K]

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

class="attributes">
Возвращает

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

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

Источник
def last: A

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

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

class="attributes">
Возвращает

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

Исключения
NoSuchElementException

Если итерируемый набор пуст.

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

Источник
def lastOption: Option[A]

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

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

Возвращает

последний элемент этого итерируемого набора, если он не пустой, None если он пустой.

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

Источник
def lazyZip[B](that: Iterable[B]): LazyZip2[A, B, Iterable]

Аналогично 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: A => Option[B]

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

Возвращает

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

См. также

Function.unlift

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

Источник
override def map[B](f: ((Long, T)) => B): CC[B]

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

class="attributes">
Параметры типа
B

тип элементов возвращаемого итерируемого набора.

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

функция, которую нужно применить к каждому элементу.

Возвращает

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

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

Источник
override def map[K2, V2](f: ((Long, T)) => (K2, V2)): CC[K2, V2]

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

class="attributes">
Параметры значения
f

функция, которую нужно применить к каждому элементу.

Возвращает

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

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

Источник
override def mapFactory: MapFactory[Map]

Компаньон-объект этой карты, предоставляющий различные методы фабрик.

Note

When implementing a custom collection type and refining CC to the new type, this method needs to be overridden to return a factory for the new type (the compiler will issue an error otherwise).

Definition Classes Map -> Map -> MapOps
Inherited from Map

Source
def max[B >: (Long, T)](implicit ord: Ordering[B]): A

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

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

Type parameters
B

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

Value parameters
ord

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

Returns

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

Throws
UnsupportedOperationException

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

Inherited from IterableOnceOps

Source
def maxBy[B](f: ((Long, T)) => B)(implicit cmp: Ordering[B]): A

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

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

Type parameters
B

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

Value parameters
cmp

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

f

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

Returns

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

Throws
UnsupportedOperationException

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

Inherited from IterableOnceOps

Source
def maxByOption[B](f: ((Long, T)) => B)(implicit cmp: Ordering[B]): Option[A]

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

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

Type parameters
B

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

Value parameters
cmp

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

f

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

Returns

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

Inherited from IterableOnceOps

Source
def maxOption[B >: (Long, T)](implicit ord: Ordering[B]): Option[A]

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

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

Type parameters
B

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

Value parameters
ord

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

Returns

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

Inherited from IterableOnceOps

Source
def min[B >: (Long, T)](implicit ord: Ordering[B]): A

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

Исходный код
def minOption[B >: (Long, T)](implicit ord: Ordering[B]): Option[A]

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

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

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

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

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

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

Возвращает

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

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

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

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

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

Возвращает

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

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

Исходный код
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

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

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

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

строка завершения.

sep

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

start

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

Возвращает

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

Пример

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

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

Источник
def nonEmpty: Boolean

Проверяет, не пуст ли набор.

Возвращает

true если набор содержит хотя бы один элемент, false в противном случае.

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

Источник
def orElse[A1 <: Long, B1 >: T](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]

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

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

тип аргумента вспомогательной функции

B1

тип результата вспомогательной функции

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

вспомогательная функция

Возвращает

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

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

Источник
override def partition(p: ((Long, T)) => Boolean): (C, C)

Пара из, во-первых, всех элементов, которые удовлетворяют предикату p, и, во-вторых, всех элементов, которые не удовлетворяют. Интересно, потому что разделяет коллекцию на две части.

Указанная здесь реализация по умолчанию должна пройтись по коллекции дважды. Строгие коллекции имеют переопределённую версию partition в StrictOptimizedIterableOps, которая требует только одного прохода.

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

Источник
override def partitionMap[A1, A2](f: ((Long, 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))
Тип параметров
A1

тип элемента первого результирующего набора

A2

тип элемента второго результирующего набора

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

функция 'разделения', отображающая элементы этого итерируемого набора в scala.util.Either

Возвращает

пара итерируемых наборов: первый набор составлен из значений, возвращаемых f, которые были заключены в scala.util.Left, а второй — из значений, заключённых в scala.util.Right.

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

Исходный код
def product[B >: (Long, T)](implicit num: Numeric[B]): B

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

бинарная операция.

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

бинарная операция.

Возвращает

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

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

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

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

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

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

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

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

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

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

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

бинарная операция.

Возвращает

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

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

Источник
def removedAll(keys: IterableOnce[Long]): C

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

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

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

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

Возвращает

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

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

Источник
protected def reversed: Iterable[A]

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

Источник
def runWith[U](action: T => U): A => 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 >: (Long, T)](z: B)(op: (B, B) => B): CC[B]

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Источник
def scanRight[B](z: B)(op: ((Long, T), B) => B): CC[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

the 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

Источник
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): C

Выбирает интервал элементов. Возвращаемый итерируемый набор состоит из всех элементов x, которые удовлетворяют инварианту:

from <= indexOf(x) < until

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

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

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

until

наименьший индекс для ИСКЛЮЧЕНИЯ из этого итерируемого набора.

Возвращает

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

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

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

Группирует элементы в блоки фиксированного размера, пропуская "скользящее окно" по ним (в отличие от разбиения их, как это делается в 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[C]

Группирует элементы в блоки фиксированного размера, пропуская по ним «скользящее окно» (в отличие от разбиения их, как это делается в 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: ((Long, T)) => Boolean): (C, C)

Разделяет эту итерируемую коллекцию на пару префикс/суффикс в соответствии с предикатом.

Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.

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

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

предикат проверки

Возвращает

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

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

Источник
override def splitAt(n: Int): (C, C)

Разделяет эту итерируемую коллекцию на пару префикс/суффикс в заданной позиции.

Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).

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

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

позиция разделения.

Возвращает

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

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

Источник
def stepper[S <: Stepper[_]](implicit shape: StepperShape[(Long, 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. Для Steppers, помеченных scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Steppers могут быть преобразованы только в последовательные потоки.

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник
def tail: C

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

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

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

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

Возвращает

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

Пример

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

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

Источник
def take(n: Int): C

Выбирает первые n элементов.

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

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

количество элементов, которые нужно взять из этой итерируемой коллекции.

Возвращает

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

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

Источник
override def takeRight(n: Int): C

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

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

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

Источник
def takeWhile(p: ((Long, T)) => Boolean): C

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

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

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

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

Возвращает

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

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

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

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

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

тип возвращаемого значения f

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

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

Возвращает

Такая же логическая коллекция, как эта

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

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

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

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

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

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

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

Примечание: ИЗБЕГАЙТЕ вызова Array.from из этого метода.

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

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

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

Источник
def toIndexedSeq: IndexedSeq[A]

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

Источник
final override def toMap[K2, V2](implicit ev: (Long, T) <:< (K2, V2)): Map[K2, V2]

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

Источник
def toSeq: Seq[A]

Возвращает

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

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

Источник
def toSet[B >: (Long, T)]: Set[B]

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

Источник
override def toString(): String

Возвращает строковое представление объекта.

Представление по умолчанию зависит от платформы.

Возвращает

строковое представление объекта.

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

Источник
def toVector: Vector[A]

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

Источник
def transpose[B](implicit asIterable: ((Long, T)) => Iterable[B]): CC[CC[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

Источник
def unapply(a: Long): Option[B]

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

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

Источник
override def unzip[A1, A2](implicit asPair: ((Long, 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))
Параметры типа
A1

тип первой половины пар элементов

A2

тип второй половины пар элементов

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

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

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

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

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

Источник
override def unzip3[A1, A2, A3](implicit asTriple: ((Long, 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))
Параметры типа
A1

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

A2

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

A3

тип третьего члена троек элементов

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

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

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

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

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

Источник
def updatedWith[V1 >: T](key: Long)(remappingFunction: Option[T] => Option[V1]): CC[K, V1]

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

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

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

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

remappingFunction

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

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

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

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

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

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

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

Источник
def values: Iterable[V]

Собирает все значения этого массива в итерируемое множество.

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

значения этого массива в виде итерируемого множества.

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

Источник
override def view: MapView[K, V]

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

Классы определения MapOps -> IterableOps
Наследуется от MapOps

Источник
def withDefault[V1 >: T](d: Long => V1): Map[K, V1]

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

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

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

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

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

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

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

Источник
def withDefaultValue[V1 >: T](d: V1): Map[K, V1]

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

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

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

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

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

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

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

Источник
override def withFilter(p: ((Long, T)) => Boolean): WithFilter[K, V, WithFilterCC, CC]

Создает нестрогий фильтр этого массива.

Примечание: разница между c filter p и c withFilter p заключается в том, что первый создает новое множество, а второй только ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.

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

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

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

Возвращает

объект класса WithFilter, который поддерживает операции map, flatMap, foreach, и withFilter. Все эти операции применяются к тем элементам этой карты, которые удовлетворяют предикату p.

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

Источник
override def zip[B](that: IterableOnce[B]): CC[(A, B)]

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

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

тип второй половины возвращаемых пар

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

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

Возвращает

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

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

Источник
def zipAll[A1 >: (Long, T), B](that: Iterable[B], thisElem: A1, thatElem: B): CC[(A1, B)]

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

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

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

thatElem

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

thisElem

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

Возвращает

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

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

Источник
override def zipWithIndex: CC[(A, Int)]

Объединяет эту итерируемую коллекцию со своими индексами.

Возвращает

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

Пример

List("a", "b", "c").zipWithIndex == List(("a", 0), ("b", 1), ("c", 2))

Классы определения 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/LongMap.html

Spec-Zone.ru

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