Spec-Zone.ru › Scala 3.1

Trait scala.collection.concurrent.Map

Исходный код

trait Map[K, V] extends Map[K, V]

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

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

Примечание: конкурирующие словари не принимают null для ключей или значений.

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

тип ключа словаря

V

тип значения словаря

См. также

"Обзор библиотеки коллекций Scala" раздел о Concurrent Maps для получения дополнительной информации.

Надтипы
23 типа
trait Map[K, V]
trait MapOps[K, V, Map, Map[K, V]]
trait Shrinkable[K]
trait Builder[(K, V), Map[K, V]]
trait Growable[(K, V)]
trait Clearable
trait Cloneable[Map[K, V]]
trait Cloneable
trait Map[K, V]
trait Equals
trait MapFactoryDefaults[K, V, Map, Iterable]
trait MapOps[K, V, Map, Map[K, V]]
trait PartialFunction[K, V]
trait K => V
trait Iterable[(K, V)]
trait Iterable[(K, V)]
trait IterableFactoryDefaults[(K, V), Iterable]
trait IterableOps[(K, V), Iterable, Map[K, V]]
trait IterableOnceOps[(K, V), Iterable, Map[K, V]]
trait IterableOnce[(K, V)]
class Object
trait Matchable
class Any
Известные подтипы
class TrieMap[K, V]

Абстрактные методы

Исходный код
def putIfAbsent(k: K, v: V): Option[V]

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

Это атомная операция.

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

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

v

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

Возвращает

Some(oldvalue) если существовало значение oldvalue ранее связанное с указанным ключом, или None если не было сопоставления для указанного ключа

Исходный код
def remove(k: K, v: V): Boolean

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

Это атомная операция.

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

ключ, для которого должна быть удалена запись

v

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

Возвращает

true если удаление произошло, false в противном случае

Исходный код
def replace(k: K, oldvalue: V, newvalue: V): Boolean

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

Это атомная операция.

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

ключ, для которого должна быть заменена запись

newvalue

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

oldvalue

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

Возвращает

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

Исходный код
def replace(k: K, v: V): Option[V]

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

Это атомная операция.

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

ключ, для которого должна быть заменена запись

v

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

Возвращает

Some(v) если заданный ключ ранее был сопоставлен с некоторым значением v, или None в противном случае

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

Исходный код
override def getOrElseUpdate(key: K, op: => V): V

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

Исходный код
override def updateWith(key: K)(remappingFunction: Option[V] => Option[V]): Option[V]

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

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

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

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

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

remappingFunction

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

Возвращает

новое значение, связанное с указанным ключом

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

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

Исходный код@inline
final def ++[B >: (K, V)](suffix: IterableOnce[B]): Iterable[B]

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

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

Исходный код
def ++[V2 >: V](xs: IterableOnce[(K, V2)]): Map[K, V2]

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

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

Исходный код@inline
final def ++=(xs: IterableOnce[(K, V)]): Map[K, V]

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

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

Исходный код@inline
final def +=(elem: (K, V)): Map[K, V]

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

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

Исходный код@inline
final def --=(xs: IterableOnce[K]): Map[K, V]

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

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

Исходный код@inline
final def -=(elem: K): Map[K, V]

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

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

Исходный код
def addAll(xs: IterableOnce[(K, V)]): Map[K, V]

Добавляет все элементы, полученные от IterableOnce, в это изменяемое множество.

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

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

Возвращает

само изменяемое множество.

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

Исходный код
def addOne(elem: (K, V)): Map[K, V]

Добавляет один элемент в это изменяемое множество.

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

элемент для добавления.

Возвращает

само изменяемое множество

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

Исходный код@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[V, C]): PartialFunction[K, C]

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код@throws(scala.throws.$lessinit$greater$default$1[scala.NoSuchElementException])
def apply(key: K): V

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

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

ключ

Возвращает

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

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

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

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

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

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

Исходный код
def clear(): Unit

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

Исходный код
override def clone(): Map[K, V]

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

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

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

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

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

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

тип ключа возвращаемой карты.

V2

тип значения возвращаемой карты.

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

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

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

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

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

Исходный код
def collectFirst[B](pf: PartialFunction[(K, V), 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, K]): PartialFunction[R, V]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

функция A => T1

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

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

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

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

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

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

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

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

объект для добавления.

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

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

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

Исходный код
def concat[V2 >: V](suffix: IterableOnce[(K, V2)]): Map[K, V2]

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

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

объект для добавления.

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

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

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

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

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

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

ключ

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

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

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

Исходный код
def copyToArray[B >: (K, V)](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 >: (K, V)](xs: Array[B], start: Int): Int

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

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

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

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

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

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

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

xs

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

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

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

Примечание

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

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

Source@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
def copyToArray[B >: (K, V)](xs: Array[B]): Int

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

that

другой набор

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

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

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

Source
def count(p: (K, V) => Boolean): Int

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

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

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

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

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

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

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

Source@throws(scala.throws.$lessinit$greater$default$1[scala.NoSuchElementException])
def default(key: K): V

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

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

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

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

Source
def drop(n: Int): Map[K, V]

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

Source
def dropRight(n: Int): Map[K, V]

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

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

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

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

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

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

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

Source
def dropWhile(p: (K, V) => Boolean): Map[K, V]

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

Source
def elementWise: ElementWiseExtractor[K, V]

Возвращает объект-экстрактор с методом 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 empty: Map[K, V]

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

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: (K, V) => Boolean): Boolean

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

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

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

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

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

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

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

Source
def filter(pred: (K, V) => Boolean): Map[K, V]

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

Source
def filterInPlace(p: (K, V) => Boolean): Map[K, V]

Сохраняет только те сопоставления, для которых предикат p возвращает true.

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

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

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

Source
def filterNot(pred: (K, V) => Boolean): Map[K, V]

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

Source
def find(p: (K, V) => Boolean): Option[(K, V)]

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

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

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

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

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

Возвращает

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

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

Source
def flatMap[B](f: (K, V) => IterableOnce[B]): Iterable[B]

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

Source
def flatMap[K2, V2](f: (K, V) => IterableOnce[(K2, V2)]): Map[K2, V2]

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

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

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

Возвращает

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

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

Source
def flatten[B](implicit asIterable: (K, V) => IterableOnce[B]): Iterable[B]

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

Source
def fold[A1 >: (K, V)](z: A1)(op: (A1, A1) => A1): A1

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Source
def foldLeft[B](z: B)(op: (B, (K, V)) => B): B

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

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

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

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

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

Значения параметров
op

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

z

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

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

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

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

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

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

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

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

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

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

Значения параметров
op

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

z

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

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

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

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

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

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

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

Значения параметров
p

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

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

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

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

Источник
def foreach[U](f: (K, V) => U): Unit

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

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

Источник
def foreachEntry[U](f: (K, V) => U): Unit

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

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

Источник
override protected def fromSpecific(coll: IterableOnce[(K, V)]): Map[K, V]

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

Источник
def get(key: K): Option[V]

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

Параметры значения
ключ

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

Возвращает

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

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

Источник
def getOrElse[V1 >: V](key: K, default: => V1): V1

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

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

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

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

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

ключ

ключ.

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

ключ

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

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

Источник
def groupMapReduce[K, B](key: (K, V) => K)(f: (K, V) => B)(reduce: (B, B) => B): Map[K, B]

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

Эквивалентно groupBy(key).mapValues(_.map(f).reduce(reduce)), но более эффективно.

def occurrences[A](as: Seq[A]): Map[A, Int] =
  as.groupMapReduce(identity)(_ => 1)(_ + _)

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

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

Источник
def grouped(size: Int): Iterator[Map[K, V]]

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

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

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

Возвращает

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

См. также

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

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

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

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

Источник
def head: (K, V)

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

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

Возвращает

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

Исключения
NoSuchElementException

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

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

Источник
def headOption: Option[(K, V)]

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

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

Возвращает

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

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

Источник
def init: Map[K, V]

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

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

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

Источник
def inits: Iterator[Map[K, V]]

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

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

Возвращает

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

Пример

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

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

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

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

Параметры значения
ключ

ключ

Возвращает

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Итератор может быть использован только один раз

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

Возвращает

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

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

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

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

Источник
def last: (K, V)

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

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

Возвращает

Последний элемент этой итерируемой коллекции.

Исключения
NoSuchElementException

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

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

Источник
def lastOption: Option[(K, V)]

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

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

Возвращает

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

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

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

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

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

Возвращает

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

См. также

Function.unlift

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

Источник
def map[B](f: (K, V) => B): Iterable[B]

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

Источник
def map[K2, V2](f: (K, V) => (K2, V2)): Map[K2, V2]

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

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

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

Возвращает

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

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

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

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

Источник
def mapResult[NewTo](f: Map[K, V] => NewTo): Builder[(K, V), NewTo]

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

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

Источник
def mapValuesInPlace(f: (K, V) => V): Map[K, V]

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

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

преобразование, которое необходимо применить

Возвращает

сама карта.

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

Источник
def max[B >: (K, V)](implicit ord: Ordering[B]): (K, V)

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

Исходный код
def maxOption[B >: (K, V)](implicit ord: Ordering[B]): Option[(K, V)]

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def min[B >: (K, V)](implicit ord: Ordering[B]): (K, V)

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

значение опции, содержащее наименьший элемент этого набора относительно порядка 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

Источник
override protected def newSpecificBuilder: Builder[(K, V), Map[K, V]]

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

Источник@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
def nonEmpty: Boolean

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

Возвращает

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

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

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

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

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

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

B1

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

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

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

Возвращает

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

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

Источник
def partition(p: (K, V) => Boolean): (Map[K, V], Map[K, V])

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

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

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

Источник
def partitionMap[A1, A2](f: (K, V) => Either[A1, A2]): (Iterable[A1], Iterable[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.

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

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

Перемножает элементы этой коллекции.

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

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

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

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

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

Возвращает

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

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

Источник
def put(key: K, value: V): Option[V]

Добавляет новую пару ключ/значение в эту карту и необязательно возвращает ранее привязанное значение. Если в карте уже есть сопоставление для ключа, оно будет перезаписано новым значением.

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

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

value

новое значение

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник
def remove(key: K): Option[V]

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

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

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

Возвращает

значение option, содержащее значение, ранее связанное с key, или None если key не было определено в карте ранее.

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

Источник
def result(): Map[K, V]

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

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

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

Пример:

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

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

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

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

z

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

Возвращает

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

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

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

Размер этой коллекции.

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

Возвращает

количество элементов в этой коллекции.

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

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

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

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

the Iterable whose size is compared with the size of this iterable collection.

Возвращает

Значение 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

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

Параметры значения
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 sizeHint(coll: IterableOnce[_], delta: Int): Unit

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

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

коллекция, которая служит подсказкой для размера результата.

delta

коррекция, которая добавляется к coll.size для получения подсказки размера.

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

Источник
def sizeHint(size: Int): Unit

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

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

подсказка о том, сколько элементов будет добавлено.

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

Источник
final def sizeHintBounded(size: Int, boundingColl: Iterable[_]): Unit

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

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

ограничивающая коллекция. Если это IndexedSeqLike, то размеры, большие, чем размер коллекции, уменьшаются.

size

подсказка о том, сколько элементов будет добавлено.

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

Источник@inline
final def sizeIs: SizeCompareOps

Возвращает значение класса, содержащее операции для сравнения размера этой iterable-коллекции со значением теста.

Эти операции реализованы в терминах sizeCompare(Int) и позволяют использовать следующие более удобочитаемые выражения:

this.sizeIs < size     // this.sizeCompare(size) < 0
this.sizeIs <= size    // this.sizeCompare(size) <= 0
this.sizeIs == size    // this.sizeCompare(size) == 0
this.sizeIs != size    // this.sizeCompare(size) != 0
this.sizeIs >= size    // this.sizeCompare(size) >= 0
this.sizeIs > size     // this.sizeCompare(size) > 0
Унаследовано от IterableOps

Source
def slice(from: Int, until: Int): Map[K, V]

Inherited from IterableOps

Source
def sliding(size: Int, step: Int): Iterator[Map[K, V]]

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

Inherited from IterableOps

Source
def sliding(size: Int): Iterator[Map[K, V]]

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

Inherited from IterableOps

Source
def span(p: (K, V) => Boolean): (Map[K, V], Map[K, V])

Inherited from IterableOps

Source
override def splitAt(n: Int): (Map[K, V], Map[K, V])

Definition Classes IterableOps -> IterableOnceOps
Inherited from IterableOps

Source
def stepper[S <: Stepper[_]](implicit shape: StepperShape[(K, V), 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 subtractAll(xs: IterableOnce[K]): Map[K, V]

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

Параметры
xs

итератор, генерирующий элементы для удаления.

Возвращает

саму сжимаемую коллекцию

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

Источник
def subtractOne(elem: K): Map[K, V]

Удаляет один элемент из этой сжимаемой коллекции.

Параметры
elem

элемент для удаления.

Возвращает

саму сжимаемую коллекцию

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

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

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

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

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

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

Параметры
num

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

Возвращает

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

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

Источник
def tail: Map[K, V]

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

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

Источник
def tails: Iterator[Map[K, V]]

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

Возвращает

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

Пример

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

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

Источник
def take(n: Int): Map[K, V]

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

Источник
def takeRight(n: Int): Map[K, V]

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

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

Параметры
n

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

Возвращает

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

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

Источник
def takeWhile(p: (K, V) => Boolean): Map[K, V]

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

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

Параметры
p

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

Возвращает

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

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

Источник
override def tapEach[U](f: (K, V) => U): Map[K, V]

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

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

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

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

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

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

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

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

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

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

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

Источник
def toIndexedSeq: IndexedSeq[(K, V)]

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

Источник
def toList: List[(K, V)]

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

Источник
def toMap[K, V](implicit ev: (K, V) <:< (K, V)): Map[K, V]

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

Источник
def toSeq: Seq[(K, V)]

Возвращает

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

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

Исходный код
def toSet[B >: (K, V)]: Set[B]

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

Исходный код
override def toString(): String

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

Исходный код
def toVector: Vector[(K, V)]

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

Исходный код
def transpose[B](implicit asIterable: (K, V) => 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

Исходный код
def unapply(a: K): Option[V]

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

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

Исходный код
def unzip[A1, A2](implicit asPair: (K, V) => (A1, A2)): (Iterable[A1], Iterable[A2])

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

val xs = Iterable(
           (1, "one"),
           (2, "two"),
           (3, "three")).unzip
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three))
Параметры типа
A1

тип первой половины элементов пар

A2

тип второй половины элементов пар

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

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

Возвращает

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

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

Исходный код
def unzip3[A1, A2, A3](implicit asTriple: (K, V) => (A1, A2, A3)): (Iterable[A1], Iterable[A2], Iterable[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

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

Возвращает

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

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

Исходный код
def update(key: K, value: V): Unit

Добавляет новую пару ключ/значение в этот массив. Если массив уже содержит отображение для ключа, оно будет перезаписано новым значением.

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

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

value

Новое значение

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

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

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

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

Исходный код
def values: Iterable[V]

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

Возвращает

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

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

Исходный код
def valuesIterator: Iterator[V]

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

Возвращает

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

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

Исходный код
override def view: MapView[K, V]

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

Исходный код
def withDefault(d: K => V): Map[K, V]

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

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

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

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

Возвращает

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

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

Исходный код
def withDefaultValue(d: V): Map[K, V]

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

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

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

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

Возвращает

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

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

Источник
override def withFilter(p: (K, V) => Boolean): WithFilter[K, V, Iterable, Map]

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

Источник
def zip[B](that: IterableOnce[B]): Iterable[((K, V), B)]

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

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

тип второй половины возвращаемых пар

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

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

Возвращает

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

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

Источник
def zipAll[A1 >: (K, V), B](that: Iterable[B], thisElem: A1, thatElem: B): Iterable[(A1, B)]

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

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

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

thatElem

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

thisElem

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

Возвращает

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

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

Источник
def zipWithIndex: Iterable[((K, V), Int)]

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

© 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/concurrent/Map.html

Spec-Zone.ru

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