Spec-Zone.ru › Scala 3.1

Трейт scala.collection.mutable.MultiMap

Исходный код

@deprecated("Используйте scala.collection.mutable.MultiDict в модуле scala-collection-contrib", "2.13.0")
trait MultiMap[K, V] extends Map[K, Set[V]]

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

Этот класс обычно используется как миксин. Он преобразует словари, которые отображают K в Set[V] объекты, в многозначные словари, которые отображают K в V объекты.

Пример
// first import all necessary types from package `collection.mutable`
import collection.mutable.{ HashMap, MultiMap, Set }
// to create a `MultiMap` the easiest way is to mixin it into a normal
// `Map` instance
val mm = new HashMap[Int, Set[String]] with MultiMap[Int, String]
// to add key-value pairs to a multimap it is important to use
// the method `addBinding` because standard methods like `+` will
// overwrite the complete key-value pair instead of adding the
// value to the existing key
mm.addBinding(1, "a")
mm.addBinding(2, "b")
mm.addBinding(1, "c")
// mm now contains `Map(2 -> Set(b), 1 -> Set(c, a))`
// to check if the multimap contains a value there is method
// `entryExists`, which allows to traverse the including set
mm.entryExists(1, _ == "a") == true
mm.entryExists(1, _ == "b") == false
mm.entryExists(2, _ == "b") == true
// to remove a previous added value there is the method `removeBinding`
mm.removeBinding(1, "a")
mm.entryExists(1, _ == "a") == false
Устаревший
Надтипы
23 типа
Трейт Map[K, Set[V]]
Трейт MapOps[K, Set[V], Map, Map[K, Set[V]]]
Трейт Shrinkable[K]
Трейт Builder[(K, Set[V]), Map[K, Set[V]]]
Трейт Growable[(K, Set[V])]
Трейт Clearable
Трейт Cloneable[Map[K, Set[V]]]
Трейт Cloneable
Трейт Map[K, Set[V]]
Трейт Equals
Трейт MapFactoryDefaults[K, Set[V], Map, Iterable]
Трейт MapOps[K, Set[V], Map, Map[K, Set[V]]]
Трейт PartialFunction[K, Set[V]]
Трейт K => Set[V]
Трейт Iterable[(K, Set[V])]
Трейт Iterable[(K, Set[V])]
Трейт IterableFactoryDefaults[(K, Set[V]), Iterable]
Трейт IterableOps[(K, Set[V]), Iterable, Map[K, Set[V]]]
Трейт IterableOnceOps[(K, Set[V]), Iterable, Map[K, Set[V]]]
Трейт IterableOnce[(K, Set[V])]
Класс Object
Трейт Matchable
Класс Any

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

Исходный код
def addBinding(key: K, value: V): MultiMap[K, V]

Присваивает указанное value указанному key. Если ключ уже имеет привязку к равно value, ничего не меняется; в противном случае добавляется новая привязка для этого key.

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

Ключ, к которому нужно привязать новое значение.

value

Значение, которое нужно привязать к ключу.

Возвращает

Ссылка на этот многозначный словарь.

Исходный код
def entryExists(key: K, p: V => Boolean): Boolean

Проверяет, существует ли привязка к key таким образом, что она удовлетворяет предикату p.

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

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

p

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

Возвращает

Булево значение, если такая привязка существует

Исходный код
protected def makeSet: Set[V]

Создает новый набор.

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

Возвращает

Пустое множество значений типа V.

Исходный код
def removeBinding(key: K, value: V): MultiMap[K, V]

Удаляет привязку value к key, если она существует; в противном случае эта операция не оказывает никакого влияния.

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

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

Ключ привязки.

value

Значение для удаления.

Возвращает

Ссылка на этот многозначный словарь.

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

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

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

Наследованный от IterableOps

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

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

Наследованный от MapOps

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

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

Наследованный от Growable

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

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

Наследованный от Growable

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

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

Наследованный от Shrinkable

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

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

Наследованный от Shrinkable

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

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

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

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

Возвращает

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

Наследованный от Growable

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

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

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

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

Возвращает

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

Наследованный от Growable
END_OF_DOCUMENT_MARKER

Source@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

Source@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

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

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

Source
def andThen[C](k: PartialFunction[Set[V], C]): PartialFunction[K, C]

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

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

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

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

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

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

Возвращает

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

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

Source
override def andThen[C](k: Set[V] => C): PartialFunction[K, C]

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

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

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

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

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

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

Возвращает

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

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

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

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

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

ключ

Возвращает

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

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

Source
override def applyOrElse[K1 <: K, V1 >: Set[V]](x: K1, default: K1 => V1): V1

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

Source
def canEqual(that: Any): Boolean

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

Source
def clear(): Unit

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

Source
override def clone(): Map[K, Set[V]]

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

Source
def collect[B](pf: PartialFunction[(K, Set[V]), B]): Iterable[B]

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

Source
def collect[K2, V2](pf: PartialFunction[(K, Set[V]), (K2, V2)]): Map[K2, V2]

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

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

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

V2

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

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

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

Возвращает

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

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

Source
def collectFirst[B](pf: PartialFunction[(K, Set[V]), B]): Option[B]

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

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

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

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

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

Возвращает

значение варианта, содержащего 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 для результирующей частичной функции может применить первую частичную функцию и выполнить её побочный эффект. Для повышения эффективности рекомендуется вместо isDefinedAt или apply использовать applyOrElse.

Параметры типа
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: Массив[B], start: Целое число, len: Целое число): Целое число

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

Заполняет заданный массив 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: Массив[B], start: Целое число): Целое число

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

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

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

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

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

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

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

xs

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

Возвращает

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

Примечание

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

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

Источник@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
def copyToArray[B >: (K, Множество[V])](xs: Массив[B]): Целое число

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник
def elementWise: ElementWiseExtractor[K, Set[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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def flatMap[B](f: (K, Set[V]) => IterableOnce[B]): Iterable[B]

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

Исходный код
def flatMap[K2, V2](f: (K, Set[V]) => IterableOnce[(K2, V2)]): Map[K2, V2]

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

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

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

Возвращает

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

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

Исходный код
def flatten[B](implicit asIterable: (K, Set[V]) => IterableOnce[B]): Iterable[B]

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

Исходный код
def fold[A1 >: (K, Set[V])](z: A1)(op: (A1, A1) => A1): A1

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Исходный код
def forall(p: (K, Set[V]) => Boolean): Boolean

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

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

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

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

Возвращает

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

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

Исходный код
def foreach[U](f: (K, Set[V]) => U): Unit

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

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

Исходный код
def foreachEntry[U](f: (K, Set[V]) => U): Unit

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

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

Исходный код
override protected def fromSpecific(coll: IterableOnce[(K, Set[V])]): Map[K, Set[V]]

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

Исходный код
def get(key: K): Option[Set[V]]

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

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

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

Возвращает

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

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

Исходный код
def getOrElse[V1 >: Set[V]](key: K, default: => V1): V1

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

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

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

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

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

key

ключ.

Возвращает

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

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

Source
def getOrElseUpdate(key: K, op: => Set[V]): Set[V]

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

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

Реализации конкурирующего словаря могут оценивать выражение op несколько раз или могут оценить op без вставки результата.

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

ключ для проверки

op

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

Возвращает

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

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

Source
def groupBy[K](f: (K, Set[V]) => K): Map[K, Map[K, Set[V]]]

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

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

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

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

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

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

Возвращает

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

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

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

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

Source
def groupMap[K, B](key: (K, Set[V]) => K)(f: (K, Set[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

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

key

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

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

Source
def groupMapReduce[K, B](key: (K, Set[V]) => K)(f: (K, Set[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

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

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

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

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

Возвращает

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

См. также

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

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

Source
override def hashCode(): Int

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

Source
def head: (K, Set[V])

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

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

Возвращает

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

Исключения
NoSuchElementException

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

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

Source
def headOption: Option[(K, Set[V])]

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

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

Возвращает

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

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

Source
def init: Map[K, Set[V]]

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

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

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

Source
def inits: Iterator[Map[K, Set[V]]]

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

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

Возвращает

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

Пример

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

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

Source
def isDefinedAt(key: K): Boolean

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

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

ключ

Возвращает

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

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

Source
def isEmpty: Boolean

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

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

Возвращает

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

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

Source
override def isTraversableAgain: Boolean

Definition Classes IterableOps -> IterableOnceOps
Inherited from IterableOps

Source
override def iterableFactory: IterableFactory[Iterable]

Definition Classes Iterable -> Iterable -> IterableOps
Inherited from Iterable

Source
def iterator: Iterator[(K, Set[V])]

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

Inherited from IterableOnce

Source
def keySet: Set[K]

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

Returns

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

Inherited from MapOps

Source
def keyStepper[S <: Stepper[_]](implicit shape: StepperShape[K, S]): S

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

Inherited from MapOps

Source
def keys: Iterable[K]

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

Returns

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

Inherited from MapOps

Source
def keysIterator: Iterator[K]

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

Returns

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

Inherited from MapOps

Source
override def knownSize: Int

Definition Classes MapOps -> Growable -> IterableOnce
Inherited from MapOps

Source
def last: (K, Set[V])

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

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

Returns

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

Throws
NoSuchElementException

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

Inherited from IterableOps

Source
def lastOption: Option[(K, Set[V])]

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

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

Returns

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

Inherited from IterableOps

Source
def lazyZip[B](that: Iterable[B]): LazyZip2[(K, Set[V]), B, MultiMap[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)
Type parameters
B

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

Value parameters
that

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

Returns

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

Inherited from Iterable

Source
def lift: K => Option[Set[V]]

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

Returns

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

See also

Function.unlift

Inherited from PartialFunction

Source
def map[B](f: (K, Set[V]) => B): Iterable[B]

Inherited from IterableOps

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

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

Value parameters
f

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

Returns

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

Inherited from MapOps

Source
override def mapFactory: MapFactory[Map]

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

Source
def mapResult[NewTo](f: Map[K, Set[V]] => NewTo): Builder[(K, Set[V]), NewTo]

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

Inherited from Builder

Source
def mapValuesInPlace(f: (K, Set[V]) => Set[V]): MultiMap[K, V]

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

Value parameters
f

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

Returns

сама карта.

Inherited from MapOps

Source
def max[B >: (K, Set[V])](implicit ord: Ordering[B]): (K, Set[V])

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Источник
def maxBy[B](f: (K, Set[V]) => B)(implicit cmp: Ordering[B]): (K, Set[V])

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Источник
def maxByOption[B](f: (K, Set[V]) => B)(implicit cmp: Ordering[B]): Option[(K, Set[V])]

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Источник@inline
final def mkString: String

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

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

Возвращает

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

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

Источник@inline
final def mkString(sep: String): String

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

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

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

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

Возвращает

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

Пример

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

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

Source
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

Source
override protected def newSpecificBuilder: Builder[(K, Set[V]), Map[K, Set[V]]]

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

Source@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
def nonEmpty: Boolean

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

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

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

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

Source
def orElse[A1 <: K, B1 >: Set[V]](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]

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

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

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

B1

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

Параметры
that

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

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

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

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

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

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

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

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

Source
def partitionMap[A1, A2](f: (K, Set[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

Source
def product[B >: (K, Set[V])](implicit num: Numeric[B]): B

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

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

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

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

Параметры
num

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

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

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

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

Source
def put(key: K, value: Set[V]): Option[Set[V]]

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

Параметры
key

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

value

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

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

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

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

Source
def reduce[B >: (K, Set[V])](op: (B, B) => B): B

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

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

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

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

Параметры
op

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

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

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

Исключения
UnsupportedOperationException

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

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

Source
def reduceLeft[B >: (K, Set[V])](op: (B, (K, Set[V])) => B): B

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

Возвращает значение, применяя бинарный оператор ко всем элементам этого набора, справа налево.

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def remove(key: K): Option[Set[V]]

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

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

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

Возвращает

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

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

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

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

Исходный код
protected def reversed: Iterable[(K, Set[V])]

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

Исходный код
def runWith[U](action: Set[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, Set[V])](z: B)(op: (B, B) => B): Iterable[B]

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

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

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

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

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

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

z

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

Возвращает

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

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

Исходный код
def scanLeft[B](z: B)(op: (B, (K, Set[V])) => B): Iterable[B]

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

Исходный код
def scanRight[B](z: B)(op: ((K, Set[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

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 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

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

Эти операции реализуются с использованием 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): Map[K, Set[V]]

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

Источник
def sliding(size: Int, step: Int): Iterator[Map[K, Set[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))

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

Источник
def sliding(size: Int): Iterator[Map[K, Set[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))

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

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

Inherited from IterableOps

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

Definition Classes IterableOps -> IterableOnceOps
Inherited from IterableOps

Source
def stepper[S <: Stepper[_]](implicit shape: StepperShape[(K, Set[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 могут быть преобразованы только в последовательные потоки.

Inherited from IterableOnce

Source
def subtractAll(xs: IterableOnce[K]): MultiMap[K, V]

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

Value parameters
xs

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

Returns

сама уменьшаемая коллекция

Inherited from Shrinkable

Source
def subtractOne(elem: K): MultiMap[K, V]

Удаляет один элемент из этой уменьшаемой коллекции.

Value parameters
elem

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

Returns

сама уменьшаемая коллекция

Inherited from Shrinkable

Source
def sum[B >: (K, Set[V])](implicit num: Numeric[B]): B

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

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

Type parameters
B

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

Value parameters
num

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

Returns

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

Inherited from IterableOnceOps

Source
def tail: Map[K, Set[V]]

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

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

Источник
def tails: Iterator[Map[K, Set[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, Set[V]]

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

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

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

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

Параметры
n

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

Возвращает

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

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

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

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

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

Параметры
p

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

Исходный код@inline
final def toBuffer[B >: (K, Set[V])]: Buffer[B]

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

Исходный код
def toIndexedSeq: IndexedSeq[(K, Set[V])]

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

Исходный код
def toList: List[(K, Set[V])]

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

Исходный код
def toMap[K, V](implicit ev: (K, Set[V]) <:< (K, V)): Map[K, V]

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

Исходный код
def toSeq: Seq[(K, Set[V])]

Возвращает

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

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

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

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

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

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

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

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

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

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

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

Исходный код
def unzip[A1, A2](implicit asPair: (K, Set[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, Set[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: Set[V]): Unit

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

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

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

value

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

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

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

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

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

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

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

remappingFunction

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def valuesIterator: Итератор[Набор[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/mutable/MultiMap.html

Spec-Zone.ru

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