Spec-Zone.ru › Scala 2.13 Library

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

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

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

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

Источник
MultiMap.scala
Пример:
  1. // 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
Линейные супертипы
Map[K, Множество[V]], MapOps[K, Множество[V], Map, Map[K, Множество[V]]], Shrinkable[K], Builder[(K, Множество[V]), Map[K, Множество[V]]], Growable[(K, Множество[V])], Clearable, Cloneable[Map[K, Множество[V]]], java.lang.Cloneable, collection.Map[K, Множество[V]], Equals, MapFactoryDefaults[K, Множество[V], [x, y]Map[x, y], [x]Iterable[x]], collection.MapOps[K, Множество[V], [_, _]Map[_, _], Map[K, Множество[V]]], PartialFunction[K,
Множество[V]], (K) => Множество[V], Перечислимый[(K, Множество[V])], collection.Перечислимый[(K, Множество[V])], IterableFactoryDefaults[(K, Множество[V]), [x]Перечислимый[x]], IterableOps[(K, Множество[V]), [_]Перечислимый[_], Карта[K, Множество[V]]], IterableOnceOps[(K, Множество[V]), [_]Перечислимый[_], Карта[K, Множество[V]]], IterableOnce[(K, Множество[V])], AnyRef, Any

Члены типов

trait GenKeySet extends AnyRef

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

Атрибуты
protected
Классы определения
MapOps

class KeySet extends AbstractSet[K] with GenKeySet with DefaultSerializable

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

Атрибуты
protected
Классы определения
MapOps

Абстрактные члены-значения

abstract def addOne(elem: (K, Set[V])): MultiMap.this.type

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

elem

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

returns

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

Definition Classes
Growable

abstract def get(key: K): Option[Set[V]]

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

key

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

returns

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

Definition Classes
MapOps

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

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

Definition Classes
IterableOnce

abstract def subtractOne(elem: K): MultiMap.this.type

Удаляет один элемент из этого уменьшаемого множества.

elem

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

returns

уменьшаемое множество само по себе

Definition Classes
Shrinkable

Члены-значения конкретных типов

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

returns

true если !(this == that), в противном случае false.

Definition Classes
AnyRef → Any

final def ##(): Int

Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для чисел возвращает хэш-значение, согласованное с равенством значений: если два экземпляра типа значения сравниваются как true, то ## для каждого из них выведет то же хэш-значение. Для null возвращает хэш-код, где null.hashCode выбрасывает NullPointerException.

returns

хэш-значение, согласованное с ==

Definition Classes
AnyRef → Any

def ++[V2 >: Set[V]](xs: IterableOnce[(K, V2)]): Map[K, V2]

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

Definition Classes
MapOps

final def ++[B >: (K, Set[V])](suffix: IterableOnce[B]): Iterable[B]

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

Definition Classes
IterableOps
Annotations
@inline()

final def ++=(xs: IterableOnce[(K, Set[V])]): MultiMap.this.type

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

Классы-определения
Growable
Аннотации
@inline()

final def +=(elem: (K, Set[V])): MultiMap.this.type

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

Классы-определения
Growable
Аннотации
@inline()

final def --=(xs: IterableOnce[K]): MultiMap.this.type

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

Классы-определения
Shrinkable
Аннотации
@inline()

def -=(elem1: K, elem2: K, elems: K*): MultiMap.this.type

Удаляет два или более элементов из этого уменьшаемого набора.

elem1

первый удаляемый элемент.

elem2

второй удаляемый элемент.

elems

оставшиеся элементы для удаления.

возвращает

сам уменьшаемый набор

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

final def -=(elem: K): MultiMap.this.type

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

Классы-определения
Shrinkable
Аннотации
@inline()

def ->[B](y: B): (MultiMap[K, V], B)

Неявный
Этот член добавлен в результате неявного преобразования из MultiMap[K, V] вArrowAssoc[MultiMap[K, V]] с помощью метода ArrowAssoc в scala.Predef.
Классы-определения
ArrowAssoc
Аннотации
@inline()

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

возвращает

true если объект-получатель эквивалентен аргументу; false в противном случае.

Классы-определения
AnyRef → Any

def addAll(xs: IterableOnce[(K, Set[V])]): MultiMap.this.type

Добавляет все элементы, произведённые IterableOnce, в эту коллекцию с возможностью расширения.

xs

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

возвращает

саму коллекцию с возможностью расширения.

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

def addBinding(key: K, value: V): MultiMap.this.type

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

key

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

value

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

возвращает

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

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

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

Пример:

scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)

scala> val b = new StringBuilder()
b: StringBuilder =

scala> a.addString(b , "List(" , ", " , ")")
res5: StringBuilder = List(1, 2, 3, 4)
start

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

sep

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

end

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

returns

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

Definition Classes
MapOps → IterableOnceOps

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

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

returns

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

Definition Classes
IterableOnceOps
Annotations
@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

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

returns

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

Definition Classes
IterableOnceOps
Annotations
@inline()

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

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

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

C

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

k

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

returns

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

Definition Classes
PartialFunction

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

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

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

C

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

k

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

returns

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

Definition Classes
PartialFunction → Function1

def apply(key: K): Set[V]

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

key

ключ

returns

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

Definition Classes
MapOps → Function1
Annotations
@throws(scala.this.throws.<init>$default$1[NoSuchElementException])

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

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

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

if(pf isDefinedAt x) pf(x) else default(x)

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

    комбинирование частичных функций в цепочки orElse/andThen не приводит к чрезмерному apply/isDefinedAt вычислению lift и unlift не вычисляют исходные функции дважды при каждом вызове runWith позволяет эффективно объединять частичные функции в императивном стиле с условными действиями

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

x

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

default

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

returns

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

Definition Classes
MapOps → PartialFunction
Since

2.10

final def asInstanceOf[T0]: T0

Преобразовать получаемый объект к типу T0.

Обратите внимание, что успех приведения типов во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит исключение ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] не выбросит. В последнем примере, из-за стирания аргумента типа во время компиляции, невозможно проверить, соответствуют ли содержимое списка требуемому типу.

returns

получаемый объект.

Definition Classes
Any
Исключения

ClassCastException, если получаемый объект не является экземпляром стирания типа T0.

def canEqual(that: Any): Boolean

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

that

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

returns

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

Definition Classes
Map → Equals

def className: String

Определяет префикс представления этого объекта toString.

Рекомендуется возвращать имя конкретного типа коллекции, но не подклассы реализации. Например, для ListMap этот метод должен возвращать "ListMap", а не "Map" (супертип) или "Node" (подкласс реализации).

По умолчанию реализация возвращает "Iterable". Она переопределена для основных типов коллекций "Seq", "IndexedSeq", "LinearSeq", "Buffer", "Set", "Map", "SortedSet", "SortedMap" и "View".

returns

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

Атрибуты
protected[this]
Определяющие классы
Iterable

def clear(): Unit

Очищает содержимое этого билдера. После выполнения этого метода билдер не будет содержать элементов.

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

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

Создаёт копию объекта-приёмника.

По умолчанию реализация метода clone зависит от платформы.

returns

копию объекта-приёмника.

Определяющие классы
MapOps → Cloneable → AnyRef
Примечание

не указано в SLS как член AnyRef

final def coll: MultiMap.this.type

returns

Эту коллекцию как C.

Атрибуты
protected
Определяющие классы
Iterable → IterableOps

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

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

K2

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

V2

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

pf

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

returns

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

Definition Classes
MapOps

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

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

B

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

pf

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

returns

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

Definition Classes
IterableOps → IterableOnceOps
Note

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

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

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

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

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

pf

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

returns

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

Definition Classes
IterableOnceOps
Пример:

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

def compose[R](k: PartialFunction[R, K]): PartialFunction[R, Set[V]]

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

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

R

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

k

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

returns

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

Definition Classes
PartialFunction

def compose[A](g: (A) => K): (A) => Set[V]

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

A

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

g

функция A => T1

returns

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

Definition Classes
Function1
Annotations
@unspecialized()

def concat[V2 >: Set[V]](suffix: IterableOnce[(K, V2)]): Map[K, V2]

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

suffix

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

returns

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

Definition Classes
MapOps

def concat[B >: (K, Set[V])](suffix: IterableOnce[B]): Iterable[B]

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

B

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

suffix

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

returns

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

Definition Classes
IterableOps

def contains(key: K): Boolean

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

key

ключ

returns

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

Definition Classes
MapOps

def copyToArray[B >: (K, Set[V])](xs: Array[B], start: Int, len: Int): Int

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

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

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

B

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

xs

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

start

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

len

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

returns

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

Definition Classes
IterableOnceOps
Note

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

def copyToArray[B >: (K, Set[V])](xs: Array[B], start: Int): Int

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

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

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

B

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

xs

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

start

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

returns

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

Definition Classes
IterableOnceOps

def copyToArray[B >: (K, Set[V])](xs: Array[B]): Int

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

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

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

B

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

xs

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

returns

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

Definition Classes
IterableOnceOps

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

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

B

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

that

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

p

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

returns

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

Definition Classes
IterableOnceOps

def count(p: ((K, Set[V])) => Boolean): Int

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

p

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

returns

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

Definition Classes
IterableOnceOps

def default(key: K): Set[V]

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

key

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

Definition Classes
MapOps
Annotations
@throws(scala.this.throws.<init>$default$1[NoSuchElementException])
Exceptions thrown

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

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

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

n

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

returns

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

Definition Classes
IterableOps → IterableOnceOps
Note

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

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

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

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

n

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

returns

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

Definition Classes
IterableOps

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

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

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

p

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

returns

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

Definition Classes
IterableOps → IterableOnceOps
Note

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

def elementWise: ElementWiseExtractor[K, Set[V]]

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

Классы определения
PartialFunction
Пример:
    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
    }

def empty: Map[K, Set[V]]

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

возвращает

пустую итерируемую последовательность типа C.

Классы определения
MapFactoryDefaults → IterableOps

def ensuring(cond: (MultiMap[K, V]) => Boolean, msg: => Any): MultiMap[K, V]

Неявный
Этот член добавлен неявным преобразованием из MultiMap[K, V] вEnsuring[MultiMap[K, V]] выполняемым методом Ensuring в scala.Predef.
Классы определения
Ensuring

def ensuring(cond: (MultiMap[K, V]) => Boolean): MultiMap[K, V]

Неявный
Этот член добавлен неявным преобразованием из MultiMap[K, V] вEnsuring[MultiMap[K, V]] выполняемым методом Ensuring в scala.Predef.
Классы определения
Ensuring

def ensuring(cond: Boolean, msg: => Any): MultiMap[K, V]

Неявный
Этот член добавляется неявным преобразованием из MultiMap[K, V] в Ensuring[MultiMap[K, V]], выполненное методом Ensuring в scala.Predef.
Определяющие классы
Ensuring

def ensuring(cond: Boolean): MultiMap[K, V]

Неявный
Этот член добавляется неявным преобразованием из MultiMap[K, V] в Ensuring[MultiMap[K, V]], выполненное методом Ensuring в scala.Predef.
Определяющие классы
Ensuring

def entryExists(key: K, p: (V) => Boolean): Boolean

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

key

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

p

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

возвращает

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

final def eq(arg0: AnyRef): Boolean

Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).

Метод eq реализует отношение эквивалентности на непустых экземплярах AnyRef, и обладает тремя дополнительными свойствами:

    Он согласован: для любых непустых экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false. Для любого непустого экземпляра x типа AnyRef, вызовы x.eq(null) и null.eq(x) возвращают false. null.eq(null) возвращает true.

При переопределении методов equals или hashCode важно гарантировать, что их поведение соответствует равенству ссылок. Поэтому, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и иметь одинаковый хеш-код (o1.hashCode == o2.hashCode).

возвращает

true если аргумент является ссылкой на объект-получатель; false в противном случае.

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

def equals(o: Any): Boolean

Универсальный метод сравнения на равенство, определенный в AnyRef.

Определяющие классы
Map → Equals → AnyRef → Any

def exists(p: ((K, Set[V])) => Boolean): Boolean

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

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

p

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

возвращает

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

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

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

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

возвращает

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

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

def filterInPlace(p: (K, Set[V]) => Boolean): MultiMap.this.type

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

p

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

Definition Classes
MapOps

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

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

pred

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

returns

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

Definition Classes
IterableOps → IterableOnceOps

def finalize(): Unit

Вызывается сборщиком мусора для объекта-получателя, когда больше нет ссылок на объект.

Детали того, когда и если вызывается метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями, зависят от платформы.

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.Throwable])
Note

не указано SLS в качестве члена AnyRef

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

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

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

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

p

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

returns

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

Definition Classes
IterableOnceOps

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

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

f

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

returns

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

Definition Classes
MapOps

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

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

Например:

def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")

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

// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)

// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap ((word: String) => word.toSeq)

// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)

// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
B

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

f

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

returns

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

Definition Classes
IterableOps → IterableOnceOps
Note

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

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

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

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

val xs = List(
           Set(1, 2, 3),
           Set(1, 2, 3)
         ).flatten
// xs == List(1, 2, 3, 1, 2, 3)

val ys = Set(
           List(1, 2, 3),
           List(3, 2, 1)
         ).flatten
// ys == Set(1, 2, 3)
B

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

asIterable

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

returns

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

Definition Classes
IterableOps → IterableOnceOps
Note

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

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

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

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

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

A1

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

z

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

op

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

returns

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

Definition Classes
IterableOnceOps

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

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

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

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

B

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

z

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

op

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

возвращает

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

op(...op(z, x_1), x_2, ..., x_n)

где x1, ..., xn являются элементами этого набора. Возвращает z , если этот набор пуст.

Definition Classes
IterableOnceOps

def foldRight[B](z: B)(op: ((K, Set[V]), B) => B): B

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

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

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

B

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

z

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

op

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

возвращает

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

op(x_1, op(x_2, ... op(x_n, z)...))

где x1, ..., xn являются элементами этого набора. Возвращает z , если этот набор пуст.

Definition Classes
IterableOnceOps

def forall(p: ((K, Set[V])) => Boolean): Boolean

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

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

p

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

returns

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

Definition Classes
IterableOnceOps

def foreach[U](f: ((K, Set[V])) => U): Unit

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

Definition Classes
IterableOnceOps

def foreachEntry[U](f: (K, Set[V]) => U): Unit

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

Definition Classes
MapOps

def formatted(fmtstr: String): String

Возвращает строку, отформатированную в соответствии с данной строкой format. Строки формата аналогичны строкам формата String.format (@см. java.lang.String.format).

Неявный
Этот член добавляется неявным преобразованием из MultiMap[K, V] в StringFormat[MultiMap[K, V]], выполненным методом StringFormat в scala.Predef.
Definition Classes
StringFormat
Annotations
@inline()

def fromSpecific(coll: IterableOnce[(K, Set[V])]): Map[K, Set[V]]

Определяет, как преобразовать заданное Iterable[A] в коллекцию типа C.

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

Атрибуты
protected
Определяющие классы
MapFactoryDefaults → IterableOps
Примечание

При реализации пользовательского типа коллекции и уточнении C до нового типа, этот метод необходимо переопределить (иначе компилятор выдаст ошибку). В общем случае, когда C =:= CC[A], это можно сделать, смешав в себе IterableFactoryDefaults тред, который реализует метод с помощью iterableFactory.

,

Как свидетельствует аннотация @uncheckedVariance, использование этого метода может быть небезопасным. Однако, до тех пор, пока он вызывается с Iterable[A], полученным из коллекции this (как это происходит в реализациях операций, где мы используем View[A]), он безопасен.

final def getClass(): Class[_ <: AnyRef]

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

возвращает

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

Определяющие классы
AnyRef → Any
Аннотации
@native()

def getOrElse[V1 >: Set[V]](key: K, default: => V1): V1

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

V1

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

key

ключ.

default

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

возвращает

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

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

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

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

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

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

key

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

op

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

returns

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

Definition Classes
MapOps

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

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

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

K

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

f

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

returns

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

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

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

Definition Classes
IterableOps

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

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

K

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

B

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

key

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

f

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

Definition Classes
IterableOps

def groupMapReduce[K, B](key: ((K, Set[V])) => K)(f: ((K, Set[V])) => B)(reduce: (B, B) => B): immutable.Map[K, B]

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

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

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

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

Definition Classes
IterableOps

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

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

size

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

returns

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

Definition Classes
IterableOps
See also

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

def hashCode(): Int

Метод hashCode для ссылочных типов. См. hashCode в scala.Any.

возвращает

значение хэш-кода для этого объекта.

Классы определений
Map → AnyRef → Any

def head: (K, Set[V])

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

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

возвращает

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

Классы определений
IterableOps
Исключения

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

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

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

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

возвращает

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

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

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

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

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

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

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

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

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

возвращает

итератор по всем начальным частям этого итерируемого набора

Классы определений
IterableOps
Пример:

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

def isDefinedAt(key: K): Boolean

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

key

ключ

returns

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

Definition Classes
MapOps → PartialFunction

def isEmpty: Boolean

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

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

returns

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

Definition Classes
IterableOnceOps

final def isInstanceOf[T0]: Boolean

Проверяет, является ли динамический тип объекта получателя T0.

Обратите внимание, что результат проверки зависит от семантики стирания Scala. Таким образом, выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, так как аргумент типа стирается при компиляции, проверить, содержат ли элементы списка указанный тип, невозможно.

returns

true если объект получателя является экземпляром стёртого типа T0; false в противном случае.

Definition Classes
Any

def isTraversableAgain: Boolean

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

returns

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

Definition Classes
IterableOps → IterableOnceOps

def iterableFactory: IterableFactory[Iterable]

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

Definition Classes
Iterable → Iterable → IterableOps
Note

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

def keySet: collection.Set[K]

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

returns

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

Definition Classes
MapOps

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

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

Definition Classes
MapOps

def keys: collection.Iterable[K]

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

returns

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

Definition Classes
MapOps

def keysIterator: Iterator[K]

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

returns

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

Definition Classes
MapOps

def knownSize: Int

returns

Количество элементов в коллекции на этапе построения, если оно может быть вычислено без особых затрат, в противном случае -1. По умолчанию возвращает -1.

Definition Classes
MapOps → Growable → IterableOnce

def last: (K, Set[V])

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

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

возвращает

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

Определяющие классы
IterableOps
Исключения

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

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

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

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

возвращает

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

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

def lazyZip[B](that: collection.Iterable[B]): LazyZip2[(K, Set[V]), B, MultiMap.this.type]

Аналогично 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[Set[V]]

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

возвращает

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

Определяющие классы
PartialFunction
См. также

Function.unlift

def makeSet: Set[V]

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

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

returns

Пустой набор значений типа V.

Атрибуты
protected

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

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

f

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

returns

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

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

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

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

B

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

f

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

returns

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

Классы определений
IterableOps → IterableOnceOps
Примечание

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

def mapFactory: MapFactory[Map]

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

Классы определений
Map → Map → MapOps
Примечание

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

final def mapFromIterable[K2, V2](it: collection.Iterable[(K2, V2)]): Map[K2, V2]

Аналогично fromIterable, но возвращает тип коллекции Map. Обратите внимание, что тип возвращаемого значения теперь CC[K2, V2].

Attributes
protected
Definition Classes
MapOps
Annotations
@inline()

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

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

Definition Classes
Builder

def mapValuesInPlace(f: (K, Set[V]) => Set[V]): MultiMap.this.type

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

f

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

returns

сам словарь.

Definition Classes
MapOps

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

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

B

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

ord

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

returns

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

Definition Classes
IterableOnceOps
Exceptions thrown

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

def maxBy[B](f: ((K, Set[V])) => B)(implicit cmp: math.Ordering[B]): (K, Set[V])

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

B

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

f

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

cmp

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

returns

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

Definition Classes
IterableOnceOps
Exceptions thrown

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

def maxByOption[B](f: ((K, Set[V])) => B)(implicit cmp: math.Ordering[B]): Option[(K, Set[V])]

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

B

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

f

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

cmp

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

returns

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

Definition Classes
IterableOnceOps

def maxOption[B >: (K, Set[V])](implicit ord: math.Ordering[B]): Option[(K, Set[V])]

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

B

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

ord

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

returns

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

Definition Classes
IterableOnceOps

def min[B >: (K, Set[V])](implicit ord: math.Ordering[B]): (K, Set[V])

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

B

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

ord

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

returns

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

Definition Classes
IterableOnceOps
Exceptions thrown

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

def minBy[B](f: ((K, Set[V])) => B)(implicit cmp: math.Ordering[B]): (K, Set[V])

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

B

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

f

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

cmp

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

returns

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

Definition Classes
IterableOnceOps
Исключения

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

def minByOption[B](f: ((K, Set[V])) => B)(implicit cmp: math.Ordering[B]): Option[(K, Set[V])]

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

B

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

f

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

cmp

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

returns

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

Definition Classes
IterableOnceOps

def minOption[B >: (K, Set[V])](implicit ord: math.Ordering[B]): Option[(K, Set[V])]

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

B

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

ord

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

returns

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

Definition Classes
IterableOnceOps

final def mkString: String

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

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

returns

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

Definition Classes
IterableOnceOps
Annotations
@inline()

final def mkString(sep: String): String

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

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

sep

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

returns

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

Definition Classes
IterableOnceOps
Annotations
@inline()
Пример:

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

final def mkString(start: String, sep: String, end: String): String

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

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

start

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

sep

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

end

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

returns

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

Definition Classes
IterableOnceOps
Пример:

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

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

returns

true если аргумент не является ссылкой на объект-получатель; false в противном случае.

Definition Classes
AnyRef

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

возвращает

строгий билдер для того же типа коллекции. Обратите внимание, что в случае ленивых коллекций (например, View или immutable.LazyList), реализация этого метода возможна, но полученный Builder нарушит ленивость. Вследствие этого операции предпочтительно реализовывать с помощью fromSpecific вместо этого метода.

Атрибуты
protected
Определяющие классы
MapFactoryDefaults → IterableOps
Примечание

При реализации пользовательского типа коллекции и уточнении C до нового типа, необходимо переопределить этот метод (иначе компилятор выдаст ошибку). В общем случае, где C =:= CC[A], это можно сделать, добавив трейт IterableFactoryDefaults, который реализует метод с использованием iterableFactory.

,

Как видно из аннотации @uncheckedVariance, использование этого метода может быть небезопасным. Однако, до тех пор, пока возвращаемый билдер принимает только значения A взятые из экземпляра this, он безопасен.

def nonEmpty: Boolean

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

возвращает

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

Определяющие классы
IterableOnceOps
Аннотации
@deprecatedOverriding("nonEmpty определено как !isEmpty; переопределите isEmpty вместо этого", "2.13.0")

final def notify(): Unit

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

Определяющие классы
AnyRef
Аннотации
@native()
Примечание

не определен в SLS как член AnyRef

final def notifyAll(): Unit

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

Определяющие классы
AnyRef
Аннотации
@native()
Примечание

не определён SLS как член AnyRef

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

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

A1

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

B1

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

that

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

returns

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

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

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

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

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

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

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

returns

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

Definition Classes
IterableOps

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

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

B

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

num

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

returns

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

Definition Classes
IterableOnceOps

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

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

key

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

value

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

returns

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

Definition Classes
MapOps

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

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

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

B

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

op

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

returns

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

Definition Classes
IterableOnceOps
Exceptions thrown

UnsupportedOperationException, если этот набор данных пустой.

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

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

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

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

B

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

op

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

returns

результат вставки op между последовательными элементами этого набора данных слева направо:

op( op( ... op(x_1, x_2) ..., x_{n-1}), x_n)

где x1, ..., xn — элементы этого набора данных.

Definition Classes
IterableOnceOps
Exceptions thrown

UnsupportedOperationException если этот набор данных пустой.

def reduceLeftOption[B >: (K, Set[V])](op: (B, (K, Set[V])) => B): Option[B]

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

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

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

B

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

op

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

returns

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

Definition Classes
IterableOnceOps

def reduceOption[B >: (K, Set[V])](op: (B, B) => B): Option[B]

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

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

B

Параметр типа для бинарной операции, обобщающий A.

op

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

returns

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

Definition Classes
IterableOnceOps

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

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

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

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

B

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

op

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

returns

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

op(x_1, op(x_2, ..., op(x_{n-1}, x_n)...))

где x1, ..., xn - элементы этого набора.

Классы определения
IterableOnceOps
Исключения

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

def reduceRightOption[B >: (K, Set[V])](op: ((K, Set[V]), B) => B): Option[B]

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

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

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

B

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

op

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

returns

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

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

def remove(key: K): Option[Set[V]]

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

key

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

returns

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

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

def removeBinding(key: K, value: V): MultiMap.this.type

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

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

key

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

value

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

returns

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

def result(): Map[K, Set[V]]

Результирующее множество, содержащее все добавленные до сих пор элементы.

Definition Classes
MapOps → Builder

def reversed: collection.Iterable[(K, Set[V])]

Attributes
protected
Definition Classes
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

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

returns

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

Definition Classes
PartialFunction
Since

2.10

See also

applyOrElse.

def scan[B >: (K, Set[V])](z: B)(op: (B, B) => B): Iterable[B]

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

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

B

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

z

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

op

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

returns

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

Definition Classes
IterableOps

def scanLeft[B](z: B)(op: (B, (K, Set[V])) => B): Iterable[B]

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

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

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

B

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

z

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

op

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

returns

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

Definition Classes
IterableOps → IterableOnceOps
Note

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

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

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

z

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

op

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

returns

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

Definition Classes
IterableOps

def size: Int

Размер этого набора.

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

возвращает

количество элементов в этом наборе.

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

def sizeCompare(that: collection.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.

Определяющие классы
IterableOps
См. также

sizeIs

final def sizeHint(coll: IterableOnce[_], delta: Int = 0): Unit

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

coll

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

delta

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

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

def sizeHint(size: Int): Unit

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

размер

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

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

final def sizeHintBounded(size: Int, boundingColl: collection.Iterable[_]): Unit

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

размер

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

boundingColl

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

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

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
Аннотации
@inline()

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

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

from <= indexOf(x) < until

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

от

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

до

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

возвращает

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

Классы определения
IterableOps → IterableOnceOps
Примечание

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

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

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

size

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

step

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

returns

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

Definition Classes
IterableOps
See also

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

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

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

size

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

returns

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

Definition Classes
IterableOps
See also

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

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

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

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

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

p

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

возвращает

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

Определяющие классы
IterableOps → IterableOnceOps
Примечание

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

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

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

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

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

n

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

возвращает

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

Определяющие классы
IterableOps → IterableOnceOps
Примечание

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

def stepper[S <: Stepper[_]](implicit shape: StepperShape[(K, Set[V]), S]): S

Возвращает Stepper для элементов этого набора.

Stepper позволяет создать Java-поток для работы с набором, см. scala.jdk.StreamConverters. Для наборов, содержащих примитивные значения, Stepper может использоваться как итератор, который не упаковывает элементы.

Неявный параметр StepperShape определяет тип возвращаемого Stepper в соответствии с типом элементов этого набора.

    Для наборов Int, Short, Byte или Char, возвращается IntStepperДля наборов Double или Float, возвращается DoubleStepperДля наборов Long возвращается LongStepperДля любого другого типа элементов возвращается AnyStepper

Обратите внимание, что этот метод переопределяется в подклассах, а тип возвращаемого значения уточняется до S with EfficientSplit, например IndexedSeqOps.stepper. Для Stepper, помеченных меткой scala.collection.Stepper.EfficientSplit, преобразователи в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Stepper могут быть преобразованы только в последовательные потоки.

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

def stringPrefix: String

Атрибуты
protected[this]
Определяющие классы
Map → Iterable
Аннотации
@deprecatedOverriding("Совместимое переопределение", "2.13.0")

def subtractAll(xs: IterableOnce[K]): MultiMap.this.type

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

xs

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

возвращает

сам изменяемый набор

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

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

Суммирует элементы этого набора.

B

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

num

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

returns

сумма всех элементов этого набора по отношению к оператору + в num.

Definition Classes
IterableOnceOps

final def synchronized[T0](arg0: => T0): T0

Definition Classes
AnyRef

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

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

Definition Classes
IterableOps

def tails: Iterator[Map[K, Set[V]]]

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

returns

итератор по всем хвостам этого итерируемого набора

Definition Classes
IterableOps
Пример:

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

def take(n: Int): Map[K, Set[V]]

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

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

n

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

returns

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

Definition Classes
IterableOps → IterableOnceOps
Примечание

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

def takeRight(n: Int): Map[K, Set[V]]

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

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

n

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

returns

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

Definition Classes
IterableOps

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

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

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

p

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

returns

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

Definition Classes
IterableOps → IterableOnceOps

def tapEach[U](f: ((K, Set[V])) => U): Map[K, Set[V]]

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

U

тип возвращаемого значения f

f

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

returns

тот же логический набор, что и этот

Definition Classes
IterableOps → IterableOnceOps

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])](implicit arg0: ClassTag[B]): Array[B]

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

Определения классов
IterableOnceOps

final def toBuffer[B >: (K, Set[V])]: Buffer[B]

Определения классов
IterableOnceOps
Аннотации
@inline()

def toIndexedSeq: immutable.IndexedSeq[(K, Set[V])]

Определения классов
IterableOnceOps

final def toIterable: MultiMap.this.type

возвращает

Эта коллекция в виде Iterable[A]. Новый объект не будет создан, если this уже является Iterable[A].

Определения классов
Iterable → IterableOps

def toList: immutable.List[(K, Set[V])]

Definition Classes
IterableOnceOps

def toMap[K, V](implicit ev: <:<[(K, Set[V]), (K, V)]): immutable.Map[K, V]

Definition Classes
IterableOnceOps

def toSeq: immutable.Seq[(K, Set[V])]

возвращает

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

Definition Classes
IterableOnceOps

def toSet[B >: (K, Set[V])]: immutable.Set[B]

Definition Classes
IterableOnceOps

def toString(): String

Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, "@" и хэш-кода объекта в шестнадцатеричном формате.

возвращает

строковое представление объекта.

Definition Classes
Map → Function1 → Iterable → AnyRef → Any

def toVector: immutable.Vector[(K, Set[V])]

Definition Classes
IterableOnceOps

def transpose[B](implicit asIterable: ((K, Set[V])) => collection.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.

returns

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

Definition Classes
IterableOps
Exceptions thrown

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

def unapply(a: K): Option[Set[V]]

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

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

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

returns

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

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

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

returns

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

Definition Classes
IterableOps

def update(key: K, value: Set[V]): Unit

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

key

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

value

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

Definition Classes
MapOps

def updateWith(key: K)(remappingFunction: (Option[Set[V]]) => Option[Set[V]]): Option[Set[V]]

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

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

key

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

remappingFunction

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

returns

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

Definition Classes
MapOps
Since

2.13.0

def valueStepper[S <: Stepper[_]](implicit shape: StepperShape[Set[V], S]): S

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

Definition Classes
MapOps

def values: collection.Iterable[Set[V]]

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

returns

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

Definition Classes
MapOps

def valuesIterator: Iterator[Set[V]]

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

returns

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

Definition Classes
MapOps

def view: MapView[K, Set[V]]

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

Definition Classes
MapOps → IterableOps

final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException]) @native()

def withDefault(d: (K) => Set[V]): Map[K, Set[V]]

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

d

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

returns

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

Definition Classes
Map

def withDefaultValue(d: Set[V]): Map[K, Set[V]]

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

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

d

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

returns

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

Definition Classes
Map

def withFilter(p: ((K, Set[V])) => Boolean): MapOps.WithFilter[K, Set[V], [x]Iterable[x], [x, y]Map[x, y]]

Создаёт нестрогий фильтр этого словаря.

Примечание: разница между c filter p и c withFilter p в том, что первый создаёт новую коллекцию, а второй только ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.

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

p

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

returns

объект класса WithFilter, который поддерживает map, flatMap, foreach, и withFilter операции. Все эти операции применяются к тем элементам этого словаря, которые удовлетворяют предикату p.

Definition Classes
MapFactoryDefaults → IterableOps

def zip[B](that: IterableOnce[B]): Iterable[((K, Set[V]), B)]

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

B

тип второй половины возвращаемых пар

that

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

returns

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

Definition Classes
IterableOps

def zipAll[A1 >: (K, Set[V]), B](that: collection.Iterable[B], thisElem: A1, thatElem: B): Iterable[(A1, B)]

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

that

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

thisElem

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

thatElem

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

returns

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

Definition Classes
IterableOps

def zipWithIndex: Iterable[((K, Set[V]), Int)]

Объединяет эту итерируемую коллекцию со своими индексами.

returns

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

Definition Classes
IterableOps → IterableOnceOps
Пример:

    List("a", "b", "c").zipWithIndex == List(("a", 0), ("b", 1), ("c", 2))

Note

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

Затенённые неявные члены значения

def +(other: String): String

Неявный
Этот член добавлен с помощью неявного преобразования из MultiMap[K, V] в any2stringadd[MultiMap[K, V]], выполненного методом any2stringadd в scala.Predef.
Затенение
Этот неявный унаследованный член затенён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:
(multiMap: any2stringadd[MultiMap[K, V]]).+(other)
Определяющие классы
any2stringadd

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/collection/mutable/MultiMap.html

Spec-Zone.ru

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