Трейт scala.collection.mutable.MultiMap
trait MultiMap[A, B] extends Map[A, Set[B]]
Члены типа
класс DefaultKeySet extends AbstractSet[K] with Set[K] with Serializable
Реализация множества, возвращаемого методом keySet.
- Атрибуты
- protected
- Определяющие классы
- MapLike
класс DefaultValuesIterable extends AbstractIterable[V] with Iterable[V] with Serializable
Реализация итерируемого объекта, возвращаемого методом values.
- Атрибуты
- protected
- Определяющие классы
- MapLike
класс FilteredKeys extends AbstractMap[K, V] with DefaultMap[K, V]
- Атрибуты
- protected
- Определяющие классы
- MapLike
класс MappedValues[W] extends AbstractMap[K, W] with DefaultMap[K, W]
- Атрибуты
- protected
- Определяющие классы
- MapLike
класс WithFilter extends FilterMonadic[A, Repr]
Класс, поддерживающий отфильтрованные операции. Экземпляры этого класса возвращаются методом withFilter.
- Определяющие классы
- TraversableLike
тип Self = Map[A, Set[B]]
Тип, реализующий этот обход
- Атрибуты
- protected[this]
- Определяющие классы
- TraversableLike
Абстрактные члены значения
абстрактный def +=(kv: (A, Set[B])): MultiMap.this.type
Добавляет новую пару ключ/значение в эту карту. Если карта уже содержит отображение для ключа, оно будет перезаписано новым значением.
- kv
пара ключ/значение.
- возвращает
сама карта
абстрактный def -=(key: A): MultiMap.this.type
Удаляет ключ из этой карты.
- key
удаляемый ключ
- возвращает
сама карта.
- Определяющие классы
- MapLike → Shrinkable
абстрактный def get(key: A): Option[Set[B]]
Возвращает значение, связанное с ключом.
- key
значение ключа
- возвращает
вариант, содержащий значение, связанное с
keyв этой карте, илиNone, если он отсутствует.
- Определяющие классы
- MapLike → GenMapLike
абстрактный def iterator: Iterator[(A, Set[B])]
Создает новый итератор по всем парам ключ/значение этой карты
- возвращает
новый итератор
- Определяющие классы
- MapLike → IterableLike → GenIterableLike
Конкретные члены значения
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- returns
trueесли !(this == that), false в противном случае.
- Определяющие классы
- AnyRef → Any
final def ##(): Int
Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для чисел он возвращает хэш-значение, которое согласуется с равенством значений: если два экземпляра типа значения сравниваются как true, то ## будет генерировать одно и то же хэш-значение для каждого из них. Для null возвращает хэш-код, где null.hashCode вызывает NullPointerException.
- returns
хэш-значение, согласованное с ==
- Определяющие классы
- AnyRef → Any
def +[V1 >: Set[B]](elem1: (A, V1), elem2: (A, V1), elems: (A, V1)*): Map[A, V1]
Создает новую карту, содержащую два или более отображений ключ/значение и все отображения ключ/значение этой карты.
Указанные отображения переопределят существующие отображения из этой карты с теми же ключами.
- V1
тип добавляемых значений
- elem1
первый элемент для добавления.
- elem2
второй элемент для добавления.
- elems
оставшиеся элементы для добавления.
- returns
новая карта, содержащая отображения этой карты и два или более указанных отображения.
def +[V1 >: Set[B]](kv: (A, V1)): Map[A, V1]
Создает новую карту, содержащую новое отображение ключ/значение и все отображения ключ/значение этой карты.
Отображение kv переопределит существующие отображения из этой карты с тем же ключом.
- V1
тип значения в паре ключ/значение.
- kv
отображение ключ/значение, которое нужно добавить
- returns
новая карта, содержащая отображения этой карты и отображение
kv.
- Определяющие классы
- MapLike → MapLike → GenMapLike
- Аннотации
- @migration
- Миграция
(Изменено в версии 2.8.0)
+создает новую карту. Используйте+=, чтобы добавить элемент в эту карту и вернуть саму карту.
def ++[V1 >: Set[B]](xs: GenTraversableOnce[(A, V1)]): Map[A, V1]
Создает новую карту, содержащую отображения ключ/значение, предоставленные указанным объектом, который можно пройти, и все отображения ключ/значение этой карты.
Обратите внимание, что существующие отображения из этой карты с тем же ключом, что и в xs, будут переопределены.
- V1
тип добавляемых значений
- xs
объект, который можно пройти.
- returns
новая карта, содержащая отображения этой карты и те, которые предоставлены
xs.
def ++[B >: (A, Set[B]), That](that: GenTraversableOnce[B])(implicit bf: CanBuildFrom[Map[A, Set[B]], B, That]): That
Возвращает новую коллекцию, которую можно пройти, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элемента коллекции, которую можно пройти, является наиболее специфическим суперклассом, охватывающим типы элементов двух операндов.
- B
тип элемента возвращаемой коллекции.
- That
класс возвращаемой коллекции. В тех случаях, когда это возможно,
That— это тот же класс, что и текущий класс коллекцииRepr, но это зависит от того, является ли тип элементаBдопустимым для этого класса, а это означает, что найден неявный экземпляр типаCanBuildFrom[Repr, B, That].- that
коллекция, которую нужно добавить.
- bf
неявное значение класса
CanBuildFrom, которое определяет результирующий классThatиз текущего типа представленияReprи нового типа элементаB.- returns
новая коллекция типа
That, которая содержит все элементы этой коллекции, которую можно пройти, за которыми следуют все элементыthat.
- Определяющие классы
- TraversableLike → GenTraversableLike
def ++:[B >: (A, Набор[B]), That](that: collection.Итерируемый[B])(implicit bf: CanBuildFrom[Карта[A, Набор[B]], B, That]): That
Как и в случае с ++, возвращает новую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда.
Она отличается от ++ тем, что правый операнд определяет тип результирующей коллекции, а не левый. Мемоническая подсказка: двоеточие находится со стороны нового типа коллекции.
Пример:
scala> val x = List(1) x: List[Int] = List(1) scala> val y = LinkedList(2) y: scala.collection.mutable.LinkedList[Int] = LinkedList(2) scala> val z = x ++: y z: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2)
Этот перегруз существует, потому что: для реализации ++: мы должны переиспользовать реализацию ++, поскольку многие коллекции переопределяют её более эффективными версиями.
Так как у TraversableOnce нет метода ++, мы должны реализовать его напрямую, но Traversable и ниже могут использовать перегруз.
- B
тип элементов возвращаемой коллекции.
- That
класс возвращаемой коллекции. В тех случаях, где это возможно,
Thatявляется тем же классом, что и текущий класс коллекцииRepr, но это зависит от того, допускает ли этот класс тип элементаB, что означает, что найдено неявное значение типаCanBuildFrom[Repr, B, That].- that
итерируемый объект для добавления.
- bf
неявное значение класса
CanBuildFrom, которое определяет класс результатаThatиз текущего типа представленияReprи нового типа элементаB.- returns
новая коллекция типа
That, которая содержит все элементы этой итерируемой коллекции, за которыми следуют все элементы изthat.
- Definition Classes
- TraversableLike
def ++:[B](that: TraversableOnce[B]): Мультикарта[B]
Как и в случае с ++, возвращает новую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда.
Она отличается от ++ тем, что правый операнд определяет тип результирующей коллекции, а не левый. Мемоническая подсказка: двоеточие находится со стороны нового типа коллекции.
Пример:
scala> val x = List(1) x: List[Int] = List(1) scala> val y = LinkedList(2) y: scala.collection.mutable.LinkedList[Int] = LinkedList(2) scala> val z = x ++: y z: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2)
- B
тип элементов возвращаемой коллекции.
- that
итерируемый объект для добавления.
- returns
новая мультикарта, которая содержит все элементы этой мультикарты, за которыми следуют все элементы из
that.
- Definition Classes
- TraversableLike
def ++=(xs: TraversableOnce[(A, Набор[B])]): MultiMap.this.type
Добавляет все элементы, сгенерированные TraversableOnce, в эту коллекцию, поддерживающую рост.
- xs
TraversableOnce, генерирующий элементы для добавления.
- returns
сама коллекция, поддерживающая рост.
- Definition Classes
- Growable
def +=(elem1: (A, Набор[B]), elem2: (A, Набор[B]), elems: (A, Набор[B])*): MultiMap.this.type
Добавляет два или более элемента в эту коллекцию, поддерживающую рост.
- elem1
Первый добавляемый элемент.
- elem2
Второй добавляемый элемент.
- elems
Остальные добавляемые элементы.
- returns
сама коллекция, поддерживающая рост
- Definition Classes
- Growable
def -(elem1: A, elem2: A, elems: A*): Карта[A, Набор[B]]
Создаёт новую карту, содержащую все сопоставления ключей и значений из этой карты, кроме сопоставлений с ключами, равными любому из указанных двух или более ключей.
- elem1
Первый удаляемый элемент.
- elem2
Второй удаляемый элемент.
- elems
Остальные удаляемые элементы.
- returns
новая карта, содержащая все сопоставления из этой карты, кроме сопоставлений с ключом, равным
elem1,elem2или любому изelems.
- Definition Classes
- MapLike → Subtractable
- Annotations
- @migration
- Migration
(Изменено в версии 2.8.0)
-создаёт новую карту. Используйте-=для удаления элемента из этой карты и возвращения самой карты.
def -(key: A): Карта[A, Набор[B]]
Создаёт новую карту со всеми парами ключ/значение из этой карты, за исключением пары с указанным ключом.
- ключ
ключ, который нужно удалить
- возвращает
новая карта со всеми парами этой карты, за исключением пары с ключом
key.
- Классы-определения
- MapLike → MapLike → Subtractable → GenMapLike
- Аннотации
- @migration
- Миграция
(Изменено в версии 2.8.0)
-создаёт новую карту. Используйте-=для удаления элемента из этой карты и возвращения самой карты.
def --(xs: GenTraversableOnce[A]): Map[A, Set[B]]
Создаёт новую карту со всеми парами ключ/значение из этой карты, за исключением пар с ключами, равными любому из ключей, предоставленных указанным объектом итерируемой коллекции.
- xs
объект итерируемой коллекции.
- возвращает
новая карта со всеми парами ключ/значение из этой карты, за исключением пар с ключом, равным ключу из
xs.
- Классы-определения
- MapLike → Subtractable
- Аннотации
- @migration
- Миграция
(Изменено в версии 2.8.0)
--создаёт новую карту. Используйте--=для удаления элемента из этой карты и возвращения самой карты.
def --=(xs: TraversableOnce[A]): MultiMap.this.type
Удаляет все элементы, производимые итератором, из этой сжимаемой коллекции.
- xs
итератор, производящий элементы для удаления.
- возвращает
сама сжимаемая коллекция
- Классы-определения
- Shrinkable
def -=(elem1: A, elem2: A, elems: A*): MultiMap.this.type
Удаляет два или более элементов из этой сжимаемой коллекции.
- elem1
первый элемент для удаления.
- elem2
второй элемент для удаления.
- elems
остальные элементы для удаления.
- возвращает
сама сжимаемая коллекция
- Классы-определения
- Shrinkable
def ->[B](y: B): (MultiMap[A, B], B)
- Неявный
- Этот член добавлен неявным преобразованием из MultiMap[A, B] в ArrowAssoc[MultiMap[A, B]] с помощью метода ArrowAssoc в scala.Predef.
- Классы-определения
- ArrowAssoc
- Аннотации
- @inline()
def /:[B](z: B)(op: (B, (A, Set[B])) ⇒ B): B
Применяет бинарный оператор к начальному значению и всем элементам этой итерируемой коллекции или итератора, слева направо.
Примечание: /: — альтернативный синтаксис для foldLeft; z /: xs — то же, что и xs foldLeft z.
Примеры:
Обратите внимание, что функция свёртки, используемая для вычисления b, эквивалентна функции свёртки, используемой для вычисления c.
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = (5 /: a)(_+_) b: Int = 15 scala> val c = (5 /: a)((x,y) => x + y) c: Int = 15
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- z
начальное значение.
- op
бинарный оператор.
- возвращает
-
результат вставки
opмежду последовательными элементами этой итерируемой коллекции или итератора слева направо с начальным значениемzслева:op(...op(op(z, x_1), x_2), ..., x_n)
где
x1, ..., xn— элементы этой итерируемой коллекции или итератора.
- Классы-определения
- TraversableOnce → GenTraversableOnce
def :\[B](z: B)(op: ((A, Set[B]), B) ⇒ B): B
Применяет бинарный оператор ко всем элементам этого итерируемого объекта или итератора и начальному значению, двигаясь справа налево.
Примечание: :\ — альтернативная синтаксическая конструкция для foldRight; xs :\ z — то же самое, что и xs foldRight z.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
Примеры:
Обратите внимание, что функция свертки, используемая для вычисления b, эквивалентна функции, используемой для вычисления c.
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = (a :\ 5)(_+_) b: Int = 15 scala> val c = (a :\ 5)((x,y) => x + y) c: Int = 15
- B
тип результата бинарного оператора.
- z
начальное значение
- op
бинарный оператор
- возвращает
-
результат вставки
opмежду последовательными элементами этого итерируемого объекта или итератора, двигаясь справа налево с начальным значениемzсправа:op(x_1, op(x_2, ... op(x_n, z)...))
где
x1, ..., xn— элементы этого итерируемого объекта или итератора.
- Классы определения
- TraversableOnce → GenTraversableOnce
final def ==(arg0: Any): Boolean
Выражение x == that эквивалентно выражению if (x eq null) that eq null else x.equals(that).
- возвращает
true, если объект-получатель эквивалентен аргументу;falseв противном случае.
- Классы определения
- AnyRef → Any
def addBinding(key: A, value: B): MultiMap.this.type
Присваивает указанное value указанному key. Если ключ уже связан со значением, равным value, ничего не изменяется; в противном случае добавляется новая связь для этого key.
- key
Ключ, к которому привязать новое значение.
- value
Значение, которое привязать к ключу.
- возвращает
Ссылка на эту многоотображение.
def addString(b: scala.StringBuilder, start: String, sep: String, end: String): scala.StringBuilder
Добавляет все связи этой отображения в строковый буфер, используя строки start, end и разделитель. Текст начинается со строки start и заканчивается строкой end. Внутри строковые представления всех связей этого отображения в форме key -> value разделены строкой sep.
- b
буфер, в который добавляются строки.
- start
начальная строка.
- sep
строка-разделитель.
- end
конечная строка.
- возвращает
строковый буфер
b, в который были добавлены элементы.
- Классы определения
- MapLike → TraversableOnce
def addString(b: scala.StringBuilder): scala.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, в который были добавлены элементы.
- Классы определения
- TraversableOnce
def addString(b: scala.StringBuilder, sep: String): scala.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, в который были добавлены элементы.
- Классы определения
- TraversableOnce
def aggregate[B](z: ⇒ B)(seqop: (B, (A, Set[B])) ⇒ B, combop: (B, B) ⇒ B): B
Агрегирует результаты применения оператора к последующим элементам.
Это более общая форма fold и reduce. Она похожа на foldLeft тем, что не требует, чтобы результат был супертипом типа элемента. Кроме того, она позволяет обрабатывать параллельные коллекции частями и затем объединять промежуточные результаты.
aggregate разбивает итерируемый объект или итератор на разделы и обрабатывает каждый раздел последовательным применением seqop, начиная с z (как foldLeft). Затем эти промежуточные результаты объединяются с помощью combop (как fold). Реализация этой операции может работать с произвольным количеством разделов коллекции (даже с 1), поэтому combop может быть вызвана произвольное количество раз (даже 0).
В качестве примера рассмотрим суммирование целочисленных значений списка символов. Начальное значение для суммы равно 0. Во-первых, seqop преобразует каждый входной символ в целое число и добавляет его к сумме (раздела). Затем combop просто суммирует промежуточные результаты разделов:
List('a', 'b', 'c').aggregate(0)({ (sum, ch) => sum + ch.toInt }, { (p1, p2) => p1 + p2 })
- B
тип накопленных результатов
- z
начальное значение для накопленного результата раздела — обычно это будет нейтральный элемент для оператора
seqop(например,Nilдля конкатенации списков или0для суммирования) и может быть вычислено более одного раза- seqop
оператор, используемый для накопления результатов в рамках раздела
- combop
ассоциативный оператор, используемый для объединения результатов из разных разделов
- Definition Classes
- TraversableOnce → GenTraversableOnce
def andThen[C](k: (Set[B]) ⇒ C): PartialFunction[A, C]
Компонует эту частичную функцию с функцией преобразования, которая применяется к результатам этой частичной функции.
- C
тип результата функции преобразования.
- k
функция преобразования
- returns
частичная функция с тем же доменом, что и эта частичная функция, которая отображает аргументы
xнаk(this(x)).
- Definition Classes
- PartialFunction → Function1
def apply(key: A): Set[B]
Возвращает значение, связанное с заданным ключом. Этот метод вызывает метод default карты, если нет отображения заданного ключа на значение. Если не переопределено, метод default выбрасывает исключение NoSuchElementException.
- key
ключ
- returns
значение, связанное с заданным ключом, или результат применения метода
defaultкарты, если он не существует.
- Definition Classes
- MapLike → GenMapLike → Function1
def applyOrElse[K1 <: A, V1 >: Set[B]](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
- MapLike → PartialFunction
- Since
2.10
final def asInstanceOf[T0]: T0
Приводит получаемый объект к типу T0.
Обратите внимание, что успех приведения типов во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит исключение ClassCastException во время выполнения, а выражение List(1).asInstanceOf[List[String]] — нет. В последнем примере, поскольку аргумент типа стирается во время компиляции, невозможно проверить, содержат ли элементы списка требуемый тип.
- returns
получаемый объект.
- Definition Classes
- Any
- Exceptions thrown
ClassCastException, если получаемый объект не является экземпляром стирания типаT0.
def canEqual(that: Any): Boolean
Метод, вызываемый из методов равенства, чтобы пользовательские подклассы могли отказаться от равенства другим коллекциям того же типа.
- that
Объект, с которым следует сравнивать эту итерируемую коллекцию
- returns
true, если эта итерируемая коллекция может быть равнаthat,falseв противном случае. При проверке учитываются только типы объектов во время выполнения, но игнорируются их элементы.
- Definition Classes
- IterableLike → Equals
def clear(): Unit
Удаляет все привязки из карты. После завершения этой операции карта будет пустой.
def clone(): Map[A, Set[B]]
Создает копию объекта-приёмника.
По умолчанию реализация метода clone зависит от платформы.
- returns
копия объекта-приёмника.
def collect[B](pf: PartialFunction[A, B]): MultiMap[B]
Строит новую коллекцию, применяя частичную функцию ко всем элементам этой многоотображения, для которых функция определена.
- B
тип элементов возвращаемой коллекции.
- pf
частичная функция, которая фильтрует и отображает многоотображения.
- returns
новая многоотображения, полученная в результате применения данной частичной функции
pfк каждому элементу, для которого она определена, и сбора результатов. Порядок элементов сохраняется.
- Definition Classes
- TraversableLike → GenTraversableLike
def collectFirst[B](pf: PartialFunction[(A, Set[B]), B]): Option[B]
Находит первый элемент итерации или обхода, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции не упорядочен.
- pf
частичная функция
- returns
значений Option, содержащий pf, применённый к первому значению, для которого он определен, или
None, если такового нет.
- Definition Classes
- TraversableOnce
Seq("a", 1, 5L).collectFirst({ case x: Int => x*10 }) = Some(10)
def companion: GenericCompanion[Iterable]
Объект-компаньон-фабрика, создающий экземпляры класса Iterable. (или его Iterable суперкласса, где класс Iterable не является Seq.)
- Definition Classes
- Iterable → Iterable → GenIterable → Traversable → Traversable → GenTraversable → GenericTraversableTemplate
def compose[A](g: (A) ⇒ A): (A) ⇒ Set[B]
Компонует две функции Function1 в новую Function1, при этом эта функция применяется последней.
- A
тип, к которому можно применить функцию
g- g
функция A => T1
- returns
новая функция
f, такая чтоf(x) == apply(g(x))
- Definition Classes
- Function1
- Annotations
- @unspecialized()
def contains(key: A): Boolean
Проверяет, содержит ли эта карта привязку для ключа.
- key
ключ
- returns
true, если дляkeyесть привязка в этой карте,falseв противном случае.
- Definition Classes
- MapLike → GenMapLike
def copyToArray(xs: Array[A], start: Int, len: Int): Unit
Копирует элементы этой многоотображения в массив. Заполняет заданный массив xs не более чем len элементами этой многоотображения, начиная с позиции start. Копирование остановится, как только будет достигнут конец текущей многоотображения, или конец целевого массива, или len элементов будет скопировано.
- xs
массив для заполнения.
- start
начальный индекс.
- len
максимальное количество элементов для копирования.
- Definition Classes
- IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce
def copyToArray(xs: Array[A]): Unit
Копирует элементы этой многоотображения в массив. Заполняет заданный массив xs значениями этой многоотображения. Копирование остановится, как только будет достигнут конец текущей многоотображения или конец целевого массива.
- xs
массив для заполнения.
- Классы определения
- TraversableOnce → GenTraversableOnce
def copyToArray(xs: Array[A], start: Int): Unit
Копирует элементы этой многоотображения в массив. Заполняет заданный массив xs значениями этой многоотображения, начиная с индекса start. Копирование остановится, как только будет достигнут конец текущей многоотображения или конец целевого массива.
- xs
массив для заполнения.
- start
начальный индекс.
- Классы определения
- TraversableOnce → GenTraversableOnce
def copyToBuffer[B >: (A, Set[B])](dest: Buffer[B]): Unit
Копирует все элементы этого итерируемого объекта или итератора в буфер.
Примечание: не завершит работу для коллекций бесконечной величины.
- dest
Буфер, в который копируются элементы.
- Классы определения
- TraversableOnce
def count(p: ((A, Set[B])) ⇒ Boolean): Int
Подсчитывает количество элементов в итерируемом объекте или итераторе, которые удовлетворяют предикату.
- p
предикат, используемый для проверки элементов.
- возвращает
количество элементов, удовлетворяющих предикату
p.
- Классы определения
- TraversableOnce → GenTraversableOnce
def default(key: A): Set[B]
Определяет вычисление значения по умолчанию для отображения, возвращаемое, когда ключ не найден. Реализованный здесь метод выбрасывает исключение, но может быть переопределен в подклассах.
- key
заданное значение ключа, для которого отсутствует привязка.
- Классы определения
- MapLike → GenMapLike
- Исключения
def drop(n: Int): Map[A, Set[B]]
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- n
количество элементов, которые нужно удалить из этой итерируемой коллекции.
- возвращает
итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, кроме первых
nэлементов, или же пустая итерируемая коллекция, если эта итерируемая коллекция содержит меньше, чемnэлементов. Еслиnотрицательное, не удалять элементы.
- Классы определения
- IterableLike → TraversableLike → GenTraversableLike
def dropRight(n: Int): Map[A, Set[B]]
Выбирает все элементы, кроме последних n.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- n
Количество элементов для взятия
- возвращает
итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, кроме последних
nэлементов, или же пустая итерируемая коллекция, если эта итерируемая коллекция содержит меньше, чемnэлементов.
- Классы определения
- IterableLike
def dropWhile(p: ((A, Set[B])) ⇒ Boolean): Map[A, Set[B]]
Удаляет самое длинное префиксное подмножество элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- возвращает
самое длинное постфиксное подмножество этой итерируемой коллекции, первый элемент которого не удовлетворяет предикату
p.
- Классы определения
- TraversableLike → GenTraversableLike
def empty: Map[A, Set[B]]
def ensuring(cond: (Мультикарта[A, B]) ⇒ Boolean, msg: ⇒ Any): Мультикарта[A, B]
- Неявный
- Этот член добавлен неявным преобразованием из Мультикарты[A, B] в Ensuring[Мультикарта[A, B]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: (Мультикарта[A, B]) ⇒ Boolean): Мультикарта[A, B]
- Неявный
- Этот член добавлен неявным преобразованием из Мультикарты[A, B] в Ensuring[Мультикарта[A, B]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean, msg: ⇒ Any): Мультикарта[A, B]
- Неявный
- Этот член добавлен неявным преобразованием из Мультикарты[A, B] в Ensuring[Мультикарта[A, B]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean): Мультикарта[A, B]
- Неявный
- Этот член добавлен неявным преобразованием из Мультикарты[A, B] в Ensuring[Мультикарта[A, B]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def entryExists(key: A, p: (B) ⇒ Boolean): Boolean
Проверяет, существует ли привязка к key, удовлетворяющая предикату p.
- key
Ключ, для которого проверяется предикат.
- p
Предикат, которому должно удовлетворять значение, присвоенное ключу.
- returns
Булево значение, если такая привязка существует
final def eq(arg0: AnyRef): Boolean
Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).
Метод eq реализует отношение эквивалентности на не-null экземплярах AnyRef и обладает тремя дополнительными свойствами:
-
Он согласован: для любых не-null экземпляров
x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого не-null экземпляра x типа AnyRef, вызовы x.eq(null) и null.eq(x) возвращают false.
null.eq(null) возвращает true. При переопределении методов equals или hashCode важно обеспечить согласованность их поведения с равенством по ссылке. Поэтому, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и иметь одинаковый хеш-код (o1.hashCode == o2.hashCode).
- returns
true, если аргумент является ссылкой на объект-получатель;falseв противном случае.
- Definition Classes
- AnyRef
def equals(that: Any): Boolean
Структурно сравнивает две карты; т.е. проверяет, содержат ли все сопоставления в этой карте также сопоставления в другой карте, и наоборот.
- that
другая карта
- returns
true, если обе карты содержат точно такие же сопоставления;falseв противном случае.
- Definition Classes
- GenMapLike → Equals → AnyRef → Any
def exists(p: ((A, Множество[B])) ⇒ Boolean): Boolean
Проверяет, выполняется ли предикат хотя бы для одного элемента этого итерируемого набора.
Примечание: может не завершаться для наборов бесконечного размера.
- p
предикат, используемый для проверки элементов.
- returns
false, если этот итерируемый набор пуст, в противном случаеtrue, если заданный предикатpвыполняется для некоторых элементов этого итерируемого набора, в противном случаеfalse
- Definition Classes
- IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce
def filter(p: ((A, Set[B])) ⇒ Boolean): Map[A, Set[B]]
Выбирает все элементы этого обозримого набора, удовлетворяющие предикату.
- p
предикат, используемый для проверки элементов.
- returns
новый обозримый набор, состоящий из всех элементов этого обозримого набора, удовлетворяющих заданному предикату
p. Порядок элементов сохраняется.
- Definition Classes
- TraversableLike → GenTraversableLike
def filterKeys(p: (A) ⇒ Boolean): collection.Map[A, Set[B]]
Фильтрует эту карту, сохраняя только ключи, удовлетворяющие предикату.
Примечание: предикат должен принимать любой ключ типа K, а не только те, которые уже присутствуют в карте, так как предикат проверяется до запроса к базовой карте.
- p
предикат, используемый для проверки ключей
- returns
неизменяемая карта, содержащая только пары ключ-значение этой карты, где ключ удовлетворяет предикату
p. Результирующая карта оборачивает исходную карту без копирования каких-либо элементов.
- Definition Classes
- MapLike → GenMapLike
def filterNot(p: ((A, Set[B])) ⇒ Boolean): Map[A, Set[B]]
Возвращает новую карту, полученную путем удаления всех пар ключ/значение, для которых предикат p возвращает true.
Примечание: Этот метод работает путем последовательного удаления элементов, для которых предикат истиннен, из этого множества. Если удаление медленное, или вы ожидаете, что большая часть элементов множества будет удалена, вы можете рассмотреть использование filter с отрицаемым предикатом.
- p
Предикат над парами ключ-значение
- returns
Новая карта, содержащая элементы, не удовлетворяющие предикату.
- Definition Classes
- MapLike → TraversableLike → GenTraversableLike
def finalize(): Unit
Вызывается сборщиком мусора на объекте-получателе, когда больше нет ссылок на объект.
Детали того, когда и если метод finalize вызывается, а также взаимодействие между finalize и нелокальными возвратами и исключениями, зависят от платформы.
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- Note
не определено SLS как член AnyRef
def find(p: ((A, Set[B])) ⇒ Boolean): Option[(A, Set[B])]
Находит первый элемент итерируемого набора, удовлетворяющий предикату, если таковой имеется.
Примечание: может не завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- p
предикат, используемый для проверки элементов.
- returns
значение Option, содержащее первый элемент в итерируемом наборе, удовлетворяющий
p, илиNone, если такового нет.
- Definition Classes
- IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce
def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): MultiMap[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 => 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
- TraversableLike → GenTraversableLike → FilterMonadic
def flatten[B]: MultiMap[B]
Преобразует эту мультимэпную коллекцию из коллекции объектов traversable в мультимэп, образованный элементами этих коллекций traversable.
Тип результирующей коллекции будет определяться статическим типом мультимэпа. Например:
val xs = List(
Set(1, 2, 3),
Set(1, 2, 3)
).flatten
// xs == List(1, 2, 3, 1, 2, 3)
val ys = Set(
List(1, 2, 3),
List(3, 2, 1)
).flatten
// ys == Set(1, 2, 3)
- B
тип элементов каждой коллекции traversable.
- returns
новая мультимэп, полученная в результате конкатенации всех мультимэпов элементов.
- Definition Classes
- GenericTraversableTemplate
def fold[A1 >: (A, Set[B])](z: A1)(op: (A1, A1) ⇒ A1): A1
Производит свертку элементов этого traversable или итератора с использованием указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
Примечание: не завершится для коллекций бесконечного размера.
- A1
параметр типа для бинарного оператора, надтип
A.- z
нейтральный элемент для операции свертки; может быть добавлен к результату любое количество раз, и не должен изменять результат (например,
Nilдля конкатенации списков, 0 для сложения или 1 для умножения).- op
бинарный оператор, который должен быть ассоциативным.
- returns
результат применения оператора свертки
opмежду всеми элементами иz, илиz, если это traversable или итератор пустой.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def foldLeft[B](z: B)(op: (B, (A, Set[B])) ⇒ B): B
Применяет бинарный оператор к начальному значению и всем элементам этого traversable или итератора, слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- z
начальное значение.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого traversable или итератора, слева направо с начальным значениемzслева:op(...op(z, x_1), x_2, ..., x_n)
где
x1, ..., xn- элементы этого traversable или итератора. Возвращаетz, если это traversable или итератор пустой.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def foldRight[B](z: B)(op: ((A, Set[B]), B) ⇒ B): B
Применяет бинарный оператор ко всем элементам этого iterable и начальному значению, справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- z
начальное значение.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этой iterable коллекции, справа налево с начальным значениемzсправа:op(x_1, op(x_2, ... op(x_n, z)...))
где
x1, ..., xn- элементы этой iterable коллекции. Возвращаетz, если эта iterable коллекция пустая.
- Definition Classes
- IterableLike → TraversableOnce → GenTraversableOnce
def forall(p: ((A, Set[B])) ⇒ Boolean): Boolean
Проверяет, выполняется ли предикат для всех элементов этой iterable коллекции.
Примечание: может не завершиться для коллекций бесконечного размера.
- p
предикат, используемый для проверки элементов.
- returns
true, если эта iterable коллекция пуста или данный предикатpвыполняется для всех элементов этой iterable коллекции, в противном случаеfalse.
- Definition Classes
- IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce
def foreach(f: ((A, Set[B])) ⇒ Unit): Unit
Применяет функцию f ко всем элементам этой мультимапы.
Примечание: этот метод лежит в основе реализации большинства других операций по обработке коллекции. Подклассы должны переопределять этот метод, если существует более эффективный вариант реализации.
- f
функция, которая применяется как побочное действие к каждому элементу. Результат функции
fигнорируется.
- Определяющие классы
- IterableLike → TraversableLike → GenTraversableLike → TraversableOnce → GenTraversableOnce → FilterMonadic
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной строкой format. Форматные строки соответствуют String.format (@см. java.lang.String.format).
- Неявный
- Этот член добавлен с помощью неявного преобразования из MultiMap[A, B] в StringFormat[MultiMap[A, B]] с помощью метода StringFormat в scala.Predef.
- Определяющие классы
- StringFormat
- Аннотации
- @inline()
def genericBuilder[B]: Builder[B, Iterable[B]]
Обобщённый билдер, который строит экземпляры Traversable для произвольных типов элементов.
- Определяющие классы
- GenericTraversableTemplate
final def getClass(): Class[_]
Возвращает представление класса объекта во время выполнения.
- возвращает
объект класса, соответствующий типу получателя во время выполнения.
def getOrElse(key: A, default: ⇒ Set[B]): Set[B]
Возвращает значение, связанное с ключом, или значение по умолчанию, если ключ не содержится в карте.
- key
ключ.
- default
вычисление, возвращающее значение по умолчанию, в случае, если для
keyнет привязки в карте.- возвращает
значение, связанное с
key, если оно существует, в противном случае результат вычисленияdefault.
- Определяющие классы
- MapLike → GenMapLike
def getOrElseUpdate(key: A, op: ⇒ Set[B]): Set[B]
Если заданный ключ уже есть в этой карте, возвращает соответствующее значение.
В противном случае вычисляет значение из заданного выражения op, хранит его в карте с ключом и возвращает это значение.
Реализации карты с конкурентным доступом могут вычислять выражение op несколько раз или вычислять op без вставки результата.
- key
ключ для проверки
- op
вычисление, возвращающее значение, которое должно быть связано с
key, еслиkeyранее не было связано.- возвращает
значение, связанное с ключом (либо предварительно, либо в результате выполнения метода).
- Определяющие классы
- MapLike
def groupBy[K](f: ((A, Set[B])) ⇒ K): immutable.Map[K, Map[A, Set[B]]]
Разделяет эту коллекцию traversable на карту коллекций traversable в соответствии с некоторой функцией дискриминатора.
Примечание: этот метод не переопределяется представлениями. Это означает, что при применении к представлению он всегда будет принуждать представление и возвращать новую коллекцию traversable.
- K
тип ключей, возвращаемых функцией дискриминатора.
- f
функция дискриминатора.
- возвращает
-
Карта от ключей к коллекциям traversable, для которой выполняется следующее инвариантное свойство:
(xs groupBy f)(k) = xs filter (x => f(x) == k)
То есть, каждый ключ
kсопоставлен коллекции traversable тех элементовx, для которыхf(x)равноk.
- Определяющие классы
- TraversableLike → GenTraversableLike
def grouped(size: Int): Iterator[Map[A, Set[B]]]
Разделяет элементы на итерируемые коллекции фиксированного размера.
- size
количество элементов в группе
- returns
Итератор, генерирующий итерируемые коллекции размером
size, за исключением последней, размер которой будет меньше sizesize, если элементы не делятся на размер равномерно.
- Definition Classes
- IterableLike
- See also
scala.collection.Iterator, метод
grouped
def hasDefiniteSize: Boolean
Проверяет, является ли эта итерируемая коллекция известной конечного размера. Все строгие коллекции известны как коллекции конечного размера. Для нестрогой коллекции, такой как Stream, предикат возвращает true, если все элементы были вычислены. Он возвращает false, если поток еще не был обработан до конца. Непустые итераторы обычно возвращают false, даже если они были созданы из коллекции с известным конечным размером.
Примечание: многие методы коллекций не будут работать с коллекциями бесконечных размеров. Типичная форма ошибки — бесконечный цикл. Эти методы всегда пытаются выполнить обход, не проверяя сначала, что hasDefiniteSize возвращает true. Однако проверка hasDefiniteSize может обеспечить гарантию, что размер определен и бесконечный цикл не является проблемой.
- returns
true, если эта коллекция известна как имеющая конечный размер,falseв противном случае.
- Definition Classes
- TraversableLike → TraversableOnce → GenTraversableOnce
def hashCode(): Int
Метод hashCode для ссылочных типов. См. hashCode в scala.Any.
- returns
значение хэш-кода для этого объекта.
- Definition Classes
- GenMapLike → AnyRef → Any
def head: (A, Set[B])
Выбирает первый элемент этой итерируемой коллекции.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- returns
первый элемент этой итерируемой коллекции.
- Definition Classes
- IterableLike → TraversableLike → GenTraversableLike
- Exceptions thrown
NoSuchElementExceptionесли итерируемая коллекция пустая.
def headOption: Option[(A, Set[B])]
Необязательно выбирает первый элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- returns
первый элемент этой итерируемой коллекции, если она непуста,
None, если она пуста.
- Definition Classes
- TraversableLike → GenTraversableLike
def init: Map[A, Set[B]]
Выбирает все элементы, кроме последнего.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- returns
итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, кроме последнего.
- Definition Classes
- TraversableLike → GenTraversableLike
- Exceptions thrown
UnsupportedOperationExceptionесли итерируемая коллекция пустая.
def inits: Iterator[Map[A, Set[B]]]
Итерирует по начальным подмножествам этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, с промежуточными значениями, являющимися результатами последовательных применений init.
- returns
итератор по всем начальным подмножествам этой итерируемой коллекции
- Definition Classes
- TraversableLike
List(1,2,3).inits = Iterator(List(1,2,3), List(1,2), List(1), Nil)
def isDefinedAt(key: A): Boolean
Проверяет, содержит ли эта карта привязку для ключа. Этот метод, реализующий абстрактный метод тракта PartialFunction, эквивалентен contains.
- key
ключ
- returns
true, если существует привязка дляkeyв этой карте,falseв противном случае.
- Definition Classes
- MapLike → GenMapLike → PartialFunction
def isEmpty: Boolean
Проверяет, пуста ли карта.
- returns
true, если карта не содержит ни одной привязки ключ/значение,falseв противном случае.
- Definition Classes
- MapLike → IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce
final def isInstanceOf[T0]: Boolean
Проверьте, является ли динамический тип объекта-получателя T0.
Обратите внимание, что результат проверки производится с учётом правил стирания типов Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, в то время как выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, поскольку аргумент типа стирается во время компиляции, невозможно проверить, относятся ли элементы списка к указанному типу.
- returns
true, если объект-получатель является экземпляром стираемого типаT0;falseв противном случае.
- Definition Classes
- Any
final def isTraversableAgain: Boolean
Проверяет, можно ли многократно пройтись по этому итерируемому набору.
- returns
true
- Definition Classes
- TraversableLike → GenTraversableLike → GenTraversableOnce
def keySet: collection.Set[A]
Собирает все ключи этой карты в множестве.
- returns
множество, содержащее все ключи этой карты.
- Definition Classes
- MapLike → GenMapLike
def keys: collection.Iterable[A]
Собирает все ключи этой карты в итерируемом наборе.
- returns
ключи этой карты как итерируемый набор.
- Definition Classes
- MapLike → GenMapLike
- Annotations
- @migration
- Migration
(Изменено в версии 2.8.0)
keysвозвращаетIterable[K], а неIterator[K].
def keysIterator: Iterator[A]
Создаёт итератор для всех ключей.
- returns
итератор по всем ключам.
- Definition Classes
- MapLike → GenMapLike
def last: (A, Set[B])
Выбирает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- returns
Последний элемент этого итерируемого набора.
- Definition Classes
- TraversableLike → GenTraversableLike
- Exceptions thrown
NoSuchElementExceptionЕсли итерируемый набор пустой.
def lastOption: Option[(A, Set[B])]
Необязательно выбирает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- returns
последний элемент этого итерируемого набора, если он не пустой;
None, если он пустой.
- Definition Classes
- TraversableLike → GenTraversableLike
def lift: (A) ⇒ Option[Set[B]]
Преобразует эту частичную функцию в обычную функцию, возвращающую Option результат.
- returns
функция, которая принимает аргумент
xи возвращаетSome(this(x)), еслиthisопределено дляx; иNoneв противном случае.
- Definition Classes
- PartialFunction
- See also
Function.unlift
def makeSet: Set[B]
Создаёт новое множество.
Классы, использующие этот трайт как миксин, могут переопределить этот метод, чтобы иметь желаемую реализацию множеств, назначенных новым ключам. По умолчанию это HashSet.
- returns
Пустое множество значений типа
B.
- Attributes
- protected
def map[B](f: (A) ⇒ B): MultiMap[B]
Строит новый набор, применяя функцию ко всем элементам этой многозначной карты.
- B
тип элементов возвращаемого набора.
- f
функция, применяемая к каждому элементу.
- returns
новая многозначная карта, полученная путём применения данной функции
fк каждому элементу этой многозначной карты и сбора результатов.
- Definition Classes
- TraversableLike → GenTraversableLike → FilterMonadic
def mapResult[NewTo](f: (Map[A, Set[B]]) ⇒ NewTo): Builder[(A, Set[B]), NewTo]
Создаёт новый билдер, применяя функцию преобразования к результатам этого билдера.
- NewTo
тип коллекции, возвращаемый
f.- f
функция преобразования.
- returns
новый билдер, такой же, как текущий билдер, за исключением того, что к результату этого билдера применена функция преобразования.
- Definition Classes
- Builder
- Note
Исходный билдер больше не должен использоваться после вызова
mapResult.
def mapValues[W](f: (Set[B]) ⇒ W): collection.Map[A, W]
Преобразует эту карту, применяя функцию к каждому полученному значению.
- f
функция, используемая для преобразования значений этой карты.
- returns
представление карты, отображающее каждый ключ этой карты на
f(this(key)). Результирующая карта оборачивает исходную карту без копирования каких-либо элементов.
- Definition Classes
- MapLike → GenMapLike
def max: A
Находит наибольший элемент.
- returns
наибольший элемент этой мультикарты.
- Definition Classes
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли эта мультикарта пустая.
def maxBy[B](f: (A) ⇒ B): A
Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- returns
первый элемент этой мультикарты с наибольшим значением, измеренным функцией f.
- Definition Classes
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли эта мультикарта пустая.
def min: A
Находит наименьший элемент.
- returns
наименьший элемент этой мультикарты
- Definition Classes
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли эта мультикарта пустая.
def minBy[B](f: (A) ⇒ B): A
Находит первый элемент, который даёт наименьшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- returns
первый элемент этой мультикарты с наименьшим значением, измеренным функцией f.
- Definition Classes
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли эта мультикарта пустая.
def mkString: String
Отображает все элементы этого итерируемого объекта или итератора в строке.
- returns
строковое представление этого итерируемого объекта или итератора. В результирующей строке строковые представления (с точки зрения метода
toString) всех элементов этого итерируемого объекта или итератора следуют друг за другом без разделительной строки.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def mkString(sep: String): String
Отображает все элементы этого итерируемого объекта или итератора в строке с использованием разделительной строки.
- sep
разделительная строка.
- returns
строковое представление этого итерируемого объекта или итератора. В результирующей строке строковые представления (с точки зрения метода
toString) всех элементов этого итерируемого объекта или итератора разделены строкойsep.
- Definition Classes
- TraversableOnce → GenTraversableOnce
List(1, 2, 3).mkString("|") = "1|2|3"
def mkString(start: String, sep: String, end: String): String
Отображает все элементы этого перечисляемого объекта или итератора в строке, используя строки start, end и разделитель.
- start
строка начала.
- sep
строка-разделитель.
- end
строка окончания.
- returns
строковое представление этого перечисляемого объекта или итератора. Результирующая строка начинается со строки
startи заканчивается строкойend. Внутри строковые представления (с учётом методаtoString) всех элементов этого перечисляемого объекта или итератора разделяются строкойsep.
- Definition Classes
- TraversableOnce → GenTraversableOnce
List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"
final def ne(arg0: AnyRef): Boolean
Эквивалентно !(this eq that).
- returns
true, если аргумент не является ссылкой на объект-получатель;falseв противном случае.
- Definition Classes
- AnyRef
def newBuilder: Builder[(A, Set[B]), Map[A, Set[B]]]
Общее реализация newBuilder для всех изменяемых карт с точки зрения empty.
Переопределяет MapLike реализацию для лучшей эффективности.
- Attributes
- protected[this]
- Definition Classes
- MapLike → MapLike → TraversableLike → HasNewBuilder
def nonEmpty: Boolean
Проверяет, не пуст ли перечисляемый объект или итератор.
- returns
true, если перечисляемый объект или итератор содержит хотя бы один элемент,falseв противном случае.
- Definition Classes
- TraversableOnce → GenTraversableOnce
final def notify(): Unit
Разбуживает один поток, ждущий монитора объекта-получателя.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Примечание
не указано в SLS как член AnyRef
final def notifyAll(): Unit
Разбуживает все потоки, ждущие монитора объекта-получателя.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Примечание
не указано в SLS как член AnyRef
def orElse[A1 <: A, B1 >: Set[B]](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]
Компонует эту частичную функцию с резервной частичной функцией, которая применяется там, где эта частичная функция не определена.
- A1
тип аргумента резервной функции
- B1
тип результата резервной функции
- that
резервная функция
- returns
частичная функция, область определения которой является объединением областей определения этой частичной функции и
that. Результирующая частичная функция принимаетxкthis(x), гдеthisопределена, и кthat(x), где она не определена.
- Definition Classes
- PartialFunction
def par: ParMap[A, Set[B]]
Возвращает параллельную реализацию этой коллекции.
Для большинства типов коллекций этот метод создаёт новую параллельную коллекцию, копируя все элементы. Для этих коллекций этот метод требует линейного времени. Изменяемые коллекции в этой категории не производят изменяемую параллельную коллекцию, которая имеет тот же базовый набор данных, поэтому изменения в одной коллекции не будут отражаться в другой.
Специальные коллекции (например, ParArray или mutable.ParHashMap) переопределяют это поведение по умолчанию, создавая параллельную коллекцию, которая использует тот же базовый набор данных. Для этих коллекций этот метод требует постоянного или подлинейного времени.
Все параллельные коллекции возвращают ссылку на сами себя.
- returns
параллельная реализация этой коллекции
- Definition Classes
- Parallelizable
def parCombiner: Combiner[(A, Set[B]), ParMap[A, Set[B]]]
Реализация по умолчанию par использует комбинировщик, предоставленный этим методом, для создания новой параллельной коллекции.
- возвращает
комбинировщик для параллельной коллекции типа
ParRepr
- Атрибуты
- protected[this]
- Определяющие классы
- MapLike → MapLike → TraversableLike → Parallelizable
def partition(p: ((A, Set[B])) ⇒ Boolean): (Map[A, Set[B]], Map[A, Set[B]])
Разделяет эту коллекцию обхода на две коллекции обхода в соответствии с предикатом.
- p
предикат, по которому нужно разделить.
- возвращает
пару коллекций обхода: первая коллекция обхода состоит из всех элементов, которые удовлетворяют предикату
p, а вторая коллекция обхода состоит из всех элементов, которые не удовлетворяют. Относительный порядок элементов в получившихся коллекциях обхода такой же, как и в исходной коллекции обхода.
- Определяющие классы
- TraversableLike → GenTraversableLike
def product: A
Перемножает элементы этой коллекции.
- возвращает
произведение всех элементов в этой мультикарте чисел типа
Int. ВместоInt, может быть использован любой другой типTс неявнойNumeric[T]реализацией в качестве типа элементов мультикарты и типа результатаproduct. Примеры таких типов:Long,Float,Double,BigInt.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
def put(key: A, value: Set[B]): Option[Set[B]]
Добавляет новую пару ключ/значение в эту карту и необязательно возвращает ранее связанное значение. Если в карте уже есть сопоставление для ключа, оно будет перезаписано новым значением.
- key
ключ для обновления
- value
новое значение
- возвращает
опциональное значение, содержащее значение, связанное с ключом перед выполнением операции
put, илиNone, еслиkeyне было определено в карте ранее.
- Определяющие классы
- MapLike
def reduce[A1 >: (A, Set[B])](op: (A1, A1) ⇒ A1): A1
Сводит элементы этого обхода или итератора, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определен и может быть недетерминированным.
- A1
Параметр типа для бинарного оператора, надтип
A.- op
Бинарный оператор, который должен быть ассоциативным.
- возвращает
Результат применения оператора reduce
opмежду всеми элементами, если обход или итератор не пустые.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationException, если этот обход или итератор пустой.
def reduceLeft[B >: (A, Set[B])](op: (B, (A, Set[B])) ⇒ B): B
Применяет бинарный оператор ко всем элементам этого обхода или итератора, слева направо.
Примечание: не будет завершаться для бесконечных коллекций.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- возвращает
-
результат вставки
opмежду последовательными элементами этого обхода или итератора, слева направо:op( op( ... op(x_1, x_2) ..., x_{n-1}), x_n)где
x1, ..., xn- элементы этого обхода или итератора.
- Определяющие классы
- TraversableOnce
- Исключения
UnsupportedOperationException, если этот обход или итератор пустой.
def reduceLeftOption[B >: (A, Set[B])](op: (B, (A, Set[B])) ⇒ B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этого проходимого объекта или итератора, слева направо.
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
значение типа Option, содержащее результат
reduceLeft(op), если этот проходимый объект или итератор не пустой,Noneв противном случае.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def reduceOption[A1 >: (A, Set[B])](op: (A1, A1) ⇒ A1): Option[A1]
Применяет оператор к элементам этого проходимого объекта или итератора, если таковые имеются, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
- A1
Параметр типа для бинарного оператора, сверхтип
A.- op
Бинарный оператор, который должен быть ассоциативным.
- returns
Значение типа Option, содержащее результат применения оператора reduce
opко всем элементам, если коллекция не пустая, иNoneв противном случае.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def reduceRight[B >: (A, Set[B])](op: ((A, Set[B]), B) ⇒ B): B
Применяет бинарный оператор ко всем элементам этой итерируемой коллекции, справа налево.
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этой итерируемой коллекции, справа налево:op(x_1, op(x_2, ..., op(x_{n-1}, x_n)...))где
x1, ..., xn— элементы этой итерируемой коллекции.
- Definition Classes
- IterableLike → TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationException, если эта итерируемая коллекция пустая.
def reduceRightOption[B >: (A, Set[B])](op: ((A, Set[B]), B) ⇒ B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этого проходимого объекта или итератора, справа налево.
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
значение типа Option, содержащее результат
reduceRight(op), если этот проходимый объект или итератор не пустой,Noneв противном случае.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def remove(key: A): Option[Set[B]]
Удаляет ключ из этого отображения, возвращая значение, ранее связанное с этим ключом, как значение Option.
- key
ключ для удаления
- returns
значение типа Option, содержащее значение, которое ранее было связано с
key, илиNone, еслиkeyне был определен в отображении ранее.
- Definition Classes
- MapLike
def removeBinding(key: A, value: B): MultiMap.this.type
Удаляет привязку value к key, если она существует; в противном случае эта операция не имеет никакого эффекта.
Если это было последнее присвоенное значение для указанного ключа, то множество, присвоенное этому ключу, также будет удалено.
- key
Ключ привязки.
- value
Значение для удаления.
- returns
Ссылка на это многоотображение.
def repr: Map[A, Set[B]]
Коллекция типа проходимая коллекция, лежащая в основе этого объекта TraversableLike. По умолчанию это реализуется как сам объект TraversableLike, но это можно переопределить.
- Definition Classes
- TraversableLike → GenTraversableLike
def result(): Map[A, Set[B]]
Результат, когда эта карта используется в качестве билдера
- returns
представление самой карты.
def retain(p: (A, Set[B]) ⇒ Boolean): MultiMap.this.type
Оставляет только те сопоставления, для которых предикат p возвращает true.
- p
предикат проверки
- Классы-определения
- MapLike
def reversed: List[(A, Set[B])]
- Атрибуты
- protected[this]
- Классы-определения
- TraversableOnce
def runWith[U](action: (Set[B]) ⇒ U): (A) ⇒ 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определено.
- Классы-определения
- PartialFunction
- Since
2.10
- См. также
applyOrElse.
def sameElements(that: GenIterable[A]): Boolean
Проверяет, содержит ли другая итерируемая коллекция те же элементы в том же порядке, что и эта мультикарта.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не является упорядоченным.
- that
коллекция для сравнения.
- returns
true, если обе коллекции содержат те же элементы в том же порядке,falseв противном случае.
- Классы-определения
- IterableLike → GenIterableLike
def scan[B >: (A, Set[B]), That](z: B)(op: (B, B) ⇒ B)(implicit cbf: CanBuildFrom[Map[A, Set[B]], B, That]): That
Вычисляет префиксное сканирование элементов коллекции.
Примечание: нейтральный элемент z может применяться более одного раза.
- B
тип элементов результирующей коллекции
- That
тип результирующей коллекции
- z
нейтральный элемент для оператора
op- op
ассоциативный оператор для сканирования
- cbf
фабрика объединения, которая предоставляет объединитель
- returns
новая коллекция Traversable, содержащая префиксное сканирование элементов в этой коллекции Traversable
- Классы-определения
- TraversableLike → GenTraversableLike
def scanLeft[B, That](z: B)(op: (B, (A, Set[B])) ⇒ B)(implicit bf: CanBuildFrom[Map[A, Set[B]], B, That]): That
Создаёт коллекцию, содержащую кумулятивные результаты применения оператора слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не является упорядоченным.
- B
тип элементов в результирующей коллекции
- That
фактический тип результирующей коллекции
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- bf
явное значение класса
CanBuildFrom, которое определяет класс результатаThatиз текущего типа представленияReprи нового типа элементаB.- returns
коллекция с промежуточными результатами
- Классы-определения
- TraversableLike → GenTraversableLike
def scanRight[B, That](z: B)(op: ((A, Set[B]), B) ⇒ B)(implicit bf: CanBuildFrom[Map[A, Set[B]], B, That]): That
Производит коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Голова коллекции — это последний кумулятивный результат.
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не является упорядоченным.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
- B
тип элементов в результирующей коллекции
- That
фактический тип результирующей коллекции
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- bf
явное значение класса
CanBuildFrom, которое определяет класс результатаThatиз текущего типа представленияReprи нового типа элементаB.- returns
коллекция с промежуточными результатами
- Definition Classes
- TraversableLike → GenTraversableLike
- Annotations
- @migration
- Migration
(Изменено в версии 2.9.0) Поведение
scanRightизменилось. Прежнее поведение можно воспроизвести с помощью scanRight.reverse.
def seq: Map[A, Set[B]]
Вариант этой коллекции со всеми операциями, реализованными последовательно (т. е. в однопоточном режиме).
Этот метод возвращает ссылку на эту коллекцию. В параллельных коллекциях он переопределяется для возврата последовательной реализации этой коллекции. В обоих случаях сложность составляет O(1).
- returns
последовательный вид коллекции.
- Definition Classes
- Map → Map → GenMap → GenMapLike → Iterable → Iterable → GenIterable → Traversable → Traversable → GenTraversable → Parallelizable → TraversableOnce → GenTraversableOnce
def size: Int
Размер этого итерируемого объекта или итератора.
Примечание: не завершит работу для коллекций бесконечного размера.
- returns
количество элементов в этом итерируемом объекте или итераторе.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def sizeHint(coll: TraversableLike[_, _], delta: Int): Unit
Подсказка о том, что ожидается, что размер этого билдера будет таким же, как у заданной коллекции, плюс некоторая приращение. Эта подсказка будет использоваться только в том случае, если у коллекции есть метод size, который может быть определён быстро. В настоящий момент это предполагается только для коллекции типа IndexedSeqLike. Некоторые классы билдеров оптимизируют своё представление на основе подсказки. Однако реализации билдера должны работать правильно даже если подсказка неверна, т.е. добавляется другое количество элементов.
- coll
коллекция, используемая в качестве подсказки для размера результата.
- delta
поправка, добавляемая к размеру подсказки, чтобы получить размер подсказки.
- Definition Classes
- Builder
def sizeHint(coll: TraversableLike[_, _]): Unit
Подсказка о том, что ожидается, что размер этого билдера будет таким же, как у заданной коллекции, плюс некоторая приращение. Эта подсказка будет использоваться только в том случае, если у коллекции есть метод size, который может быть определён быстро, что определяется вызовом sizeHint.
Некоторые классы билдеров оптимизируют своё представление на основе подсказки. Однако реализации билдера должны работать правильно даже если подсказка неверна, т.е. добавляется другое количество элементов.
- coll
коллекция, используемая в качестве подсказки для размера результата.
- Definition Classes
- Builder
def sizeHint(size: Int): Unit
Подсказка о том, сколько элементов ожидается добавить при следующем вызове result. Некоторые классы билдеров оптимизируют своё представление на основе подсказки. Однако реализации билдера должны работать правильно даже если подсказка неверна, т.е. добавляется другое количество элементов.
- size
подсказка о том, сколько элементов будет добавлено.
- Definition Classes
- Builder
def sizeHintBounded(size: Int, boundingColl: TraversableLike[_, _]): Unit
Даёт подсказку о том, сколько элементов ожидается добавить при следующем вызове result, вместе с верхней границей, заданной размером другого набора. Некоторые классы-строители оптимизируют своё представление на основе подсказки. Однако реализации строителей по-прежнему должны работать правильно, даже если подсказка неверна, то есть добавляется другое количество элементов.
- size
подсказка о том, сколько элементов будет добавлено.
- boundingColl
ограничивающий набор. Если это IndexedSeqLike, то размеры, превышающие размер набора, уменьшаются.
- Definition Classes
- Builder
def sizeHintIfCheap: Int
Размер этого набора или итератора, если его можно вычислить быстро
- returns
количество элементов в этом наборе или итераторе, или -1, если размер нельзя определить быстро
- Attributes
- protected[collection]
- Definition Classes
- GenTraversableOnce
def slice(from: Int, until: Int): Map[A, Set[B]]
Выбирает интервал элементов. Возвращаемый набор состоит из всех элементов x, которые удовлетворяют инварианту:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- returns
итерируемый набор, содержащий элементы, большие или равные индексу
from, простирающиеся до (но не включая) индексuntilэтого итерируемого набора.
- Definition Classes
- IterableLike → TraversableLike → GenTraversableLike
def sliding(size: Int, step: Int): Iterator[Map[A, Set[B]]]
Группирует элементы в блоки фиксированного размера, передавая "скользящее окно" по ним (в отличие от разделения их, как это делается в grouped.)
- size
количество элементов в группе
- step
расстояние между первыми элементами последовательных групп
- returns
Итератор, генерирующий итерируемые наборы размером
size, за исключением последнего элемента (который может быть единственным элементом), который будет усечён, если оставшихся элементов для группировки меньше, чемsize.
- Definition Classes
- IterableLike
- See also
scala.collection.Iterator, метод
sliding
def sliding(size: Int): Iterator[Map[A, Set[B]]]
Группирует элементы в блоки фиксированного размера, передавая "скользящее окно" по ним (в отличие от разделения их, как это делается в grouped.) Шаг "скользящего окна" устанавливается в единицу.
- size
количество элементов в группе
- returns
Итератор, генерирующий итерируемые наборы размером
size, за исключением последнего элемента (который может быть единственным элементом), который будет усечён, если оставшихся элементов для группировки меньше, чемsize.
- Definition Classes
- IterableLike
- See also
scala.collection.Iterator, метод
sliding
def span(p: ((A, Set[B])) ⇒ Boolean): (Map[A, Set[B]], Map[A, Set[B]])
Разделяет этот итерируемый набор на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- returns
пара, состоящая из самого длинного префикса этого итерируемого набора, элементы которого все удовлетворяют
p, и остальная часть этого итерируемого набора.
- Definition Classes
- TraversableLike → GenTraversableLike
def splitAt(n: Int): (Map[A, Set[B]], Map[A, Set[B]])
Разделяет этот итерируемый набор на два по заданной позиции. Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- n
позиция, по которой следует разделить.
- returns
пара итерируемых наборов, состоящая из первых
nэлементов этого итерируемого набора и других элементов.
- Definition Classes
- TraversableLike → GenTraversableLike
def stringPrefix: String
Определяет префикс представления этого объекта в формате toString.
- возвращает
строковое представление, которое начинается с результата применения
toStringк этому картежу. Если не переопределено в подклассах, строковый префикс каждого картежа —"Map".
- Определяющие классы
- MapLike → TraversableLike → GenTraversableLike
def sum: A
Суммирует элементы этого набора.
- возвращает
сумму всех элементов в этом мультимапе чисел типа
Int. ВместоInt, может быть использован любой другой типTс неявной реализациейNumeric[T]в качестве типа элементов мультимапа и типа результатаsum. Примеры таких типов:Long,Float,Double,BigInt.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
final def synchronized[T0](arg0: ⇒ T0): T0
- Определяющие классы
- AnyRef
def tail: Map[A, Set[B]]
Выбирает все элементы, кроме первого.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- возвращает
набор элементов этого набора, исключая первый.
- Определяющие классы
- TraversableLike → GenTraversableLike
- Исключения
java.lang.UnsupportedOperationException, если набор пуст.
def tails: Iterator[Map[A, Set[B]]]
Итерируется по хвостам этого набора. Первое значение — это сам набор, а последнее — пустой набор. Промежуточные значения — результаты последовательного применения tail.
- возвращает
итератор по всем хвостам этого набора
- Определяющие классы
- TraversableLike
List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)
def take(n: Int): Map[A, Set[B]]
Выбирает первые n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- n
количество элементов для взятия из этого набора.
- возвращает
набор, содержащий только первые
nэлементов этого набора, или весь набор, если в нём меньшеnэлементов. Еслиnотрицательное, возвращает пустой набор.
- Определяющие классы
- IterableLike → TraversableLike → GenTraversableLike
def takeRight(n: Int): Map[A, Set[B]]
Выбирает последние n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- n
количество элементов для взятия
- возвращает
набор, содержащий только последние
nэлементов этого набора, или весь набор, если в нём меньшеnэлементов.
- Определяющие классы
- IterableLike
def takeWhile(p: ((A, Set[B])) ⇒ Boolean): Map[A, Set[B]]
Возвращает наибольший префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- возвращает
наибольший префикс этого набора, элементы которого удовлетворяют предикату
p.
- Определяющие классы
- IterableLike → TraversableLike → GenTraversableLike
def thisCollection: collection.Iterable[(A, Set[B])]
Базовый набор, рассматриваемый как экземпляр Iterable. По умолчанию реализуется как текущий объект набора, но может быть переопределён.
- Атрибуты
- protected[this]
- Определяющие классы
- IterableLike → TraversableLike
def to[Col[_]]: Col[A]
Преобразует эту множественную карту в другую, скопировав все элементы.
- Col
Тип коллекции для создания.
- возвращает
новая коллекция, содержащая все элементы этой множественной карты.
- Определяющие классы
- TraversableLike → TraversableOnce → GenTraversableOnce
def toArray: Array[A]
Преобразует эту множественную карту в массив.
- возвращает
массив, содержащий все элементы этой множественной карты. Должен быть доступен
ClassTagдля типа элементов этой множественной карты.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
def toBuffer[E >: (A, Set[B])]: Buffer[E]
Использует содержимое этой карты для создания нового изменяемого буфера.
- возвращает
буфер, содержащий все элементы этой карты.
- Определяющие классы
- MapLike → TraversableOnce → GenTraversableOnce
def toCollection(repr: Map[A, Set[B]]): collection.Iterable[(A, Set[B])]
Преобразование из коллекций типа Repr в объекты типа Iterable. По умолчанию это реализуется просто как приведение типа, но это можно переопределить.
- Атрибуты
- protected[this]
- Определяющие классы
- IterableLike → TraversableLike
def toIndexedSeq: immutable.IndexedSeq[(A, Set[B])]
Преобразует это итерируемое или итератор в индексированную последовательность.
Примечание: не завершится для коллекций бесконечного размера.
- возвращает
индексированная последовательность, содержащая все элементы этого итерируемого или итератора.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
def toIterable: collection.Iterable[(A, Set[B])]
Возвращает эту итерируемую коллекцию как итерируемую коллекцию.
Новая коллекция не будет построена; ленивые коллекции останутся ленивыми.
Примечание: не завершится для коллекций бесконечного размера.
- возвращает
Iterable, содержащая все элементы этой итерируемой коллекции.
- Определяющие классы
- IterableLike → TraversableOnce → GenTraversableOnce
def toIterator: Iterator[(A, Set[B])]
Возвращает итератор по элементам в этой итерируемой коллекции. Производит тот же результат, что и iterator.
Примечание: не завершится для коллекций бесконечного размера.
- возвращает
итератор, содержащий все элементы этой итерируемой коллекции.
- Определяющие классы
- IterableLike → TraversableLike → GenTraversableOnce
- Аннотации
- @deprecatedOverriding( message = ... , since = "2.11.0" )
def toList: List[(A, Set[B])]
Преобразует это итерируемое или итератор в список.
Примечание: не завершится для коллекций бесконечного размера.
- возвращает
список, содержащий все элементы этого итерируемого или итератора.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
def toMap[T, U]: collection.Map[T, U]
Преобразует эту множественную карту в карту. Этот метод недоступен, если элементы не являются членами Tuple2, каждый ((T, U)) становится парой ключ-значение в карте. Повторные ключи будут перезаписаны более поздними ключами: если это неупорядоченная коллекция, какой ключ находится в результирующей карте не определено.
- возвращает
карта типа
immutable.Map[T, U], содержащая все пары ключ/значение типа(T, U)этой множественной карты.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
def toParArray: ParArray[T]
- Неявный
- Этот член добавляется неявным преобразованием из MultiMap[A, B] в CollectionsHaveToParArray[MultiMap[A, B], T] выполненным методом CollectionsHaveToParArray в scala.collection.parallel. Это преобразование выполнится только в том случае, если в области видимости находится неявное значение типа (MultiMap[A, B]) ⇒ GenTraversableOnce[T].
- Классы-определения
- CollectionsHaveToParArray
def toSeq: collection.Seq[(A, Set[B])]
Преобразует эту изменяемую карту в последовательность.
: предполагает быстрый Notesize метод. Подклассы должны переопределять, если это не так.
- возвращает
последовательность, содержащую все элементы этой изменяемой карты.
- Классы-определения
- MapLike → MapLike → TraversableOnce → GenTraversableOnce
def toSet[B >: (A, Set[B])]: immutable.Set[B]
Преобразует этот итерируемый объект или итератор в множество.
Примечание: не завершится для коллекций бесконечного размера.
- возвращает
множество, содержащее все элементы этого итерируемого объекта или итератора.
- Классы-определения
- TraversableOnce → GenTraversableOnce
def toStream: immutable.Stream[(A, Set[B])]
Преобразует эту итерируемую коллекцию в поток.
- возвращает
поток, содержащий все элементы этой итерируемой коллекции.
- Классы-определения
- IterableLike → TraversableLike → GenTraversableOnce
def toString(): String
Преобразует эту карту в строку.
- возвращает
строковое представление этой коллекции. По умолчанию эта строка состоит из
stringPrefixэтой карты, за которым следуют все элементы, разделенные запятыми и заключенные в скобки.
- Классы-определения
- MapLike → TraversableLike → Function1 → AnyRef → Any
def toTraversable: collection.Traversable[(A, Set[B])]
Преобразует эту итерируемую коллекцию в неспецифицируемое Traversable. Вернёт ту же коллекцию, если этот экземпляр уже является Traversable.
Примечание: не завершится для коллекций бесконечного размера.
- возвращает
Traversable, содержащий все элементы этой итерируемой коллекции.
- Классы-определения
- TraversableLike → TraversableOnce → GenTraversableOnce
- Аннотации
- @deprecatedOverriding( message = ... , since = "2.11.0" )
def toVector: Vector[(A, Set[B])]
Преобразует этот итерируемый объект или итератор в вектор.
Примечание: не завершится для коллекций бесконечного размера.
- возвращает
вектор, содержащий все элементы этого итерируемого объекта или итератора.
- Классы-определения
- TraversableOnce → GenTraversableOnce
def transform(f: (A, Set[B]) ⇒ Set[B]): MultiMap.this.type
Применяет функцию преобразования ко всем значениям, содержащимся в этой карте. Функция преобразования генерирует новые значения из существующих ключей, связанных со значениями.
- f
применяемое преобразование
- возвращает
сама карта.
- Классы-определения
- MapLike
def transpose[B](implicit asTraversable: ((A, Set[B])) ⇒ GenTraversableOnce[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
тип элементов каждой коллекции.
- asTraversable
неявное преобразование, которое утверждает, что тип элементов этой коллекции является
Traversable.- returns
двухмерная коллекция коллекций, где n-я строка — это n-й столбец этой коллекции.
- Definition Classes
- GenericTraversableTemplate
- Annotations
- @migration
- Migration
(Изменено в версии 2.9.0)
transposeвызываетIllegalArgumentException, если коллекции не имеют одинаковый размер.- Exceptions thrown
IllegalArgumentException, если все коллекции в этой коллекции не имеют одинаковый размер.
def unzip[A1, A2](implicit asPair: ((A, Set[B])) ⇒ (A1, A2)): (Iterable[A1], Iterable[A2])
Преобразует эту коллекцию пар в две коллекции первой и второй половины каждой пары.
val xs = Traversable(
(1, "one"),
(2, "two"),
(3, "three")).unzip
// xs == (Traversable(1, 2, 3),
// Traversable(one, two, three))
- A1
тип первой половины элементов пар
- A2
тип второй половины элементов пар
- asPair
неявное преобразование, которое утверждает, что тип элемента этой коллекции является парой.
- returns
пара коллекций, содержащая первую и соответственно вторую половину каждой пары элементов этой коллекции.
- Definition Classes
- GenericTraversableTemplate
def unzip3[A1, A2, A3](implicit asTriple: ((A, Set[B])) ⇒ (A1, A2, A3)): (Iterable[A1], Iterable[A2], Iterable[A3])
Преобразует эту коллекцию троек в три коллекции первого, второго и третьего элемента каждой тройки.
val xs = Traversable(
(1, "one", '1'),
(2, "two", '2'),
(3, "three", '3')).unzip3
// xs == (Traversable(1, 2, 3),
// Traversable(one, two, three),
// Traversable(1, 2, 3))
- A1
тип первого элемента троек
- A2
тип второго элемента троек
- A3
тип третьего элемента троек
- asTriple
неявное преобразование, которое утверждает, что тип элемента этой коллекции является тройкой.
- returns
тройка коллекций, содержащая первый, второй и соответственно третий элемент каждой тройки этой коллекции.
- Definition Classes
- GenericTraversableTemplate
def update(key: A, value: Set[B]): Unit
Добавляет новую пару ключ/значение в эту карту. Если в карте уже есть отображение для ключа, оно будет перезаписано новым значением.
- key
Ключ для обновления
- value
Новое значение
- Definition Classes
- MapLike
def updated[V1 >: Set[B]](key: A, value: V1): Map[A, V1]
Создает новую карту, состоящую из всех пар ключ/значение текущей карты плюс новой пары заданного ключа и значения.
- V1
тип добавляемого значения
- key
Ключ для добавления
- value
Новое значение
- returns
Новая неизменяемая карта с добавленной связью от
keyкvalue.
def values: collection.Iterable[Set[B]]
Собрать все значения этой карты в итерируемую коллекцию.
- returns
значения этой карты в виде итерируемой коллекции.
- Definition Classes
- MapLike → GenMapLike
- Annotations
- @migration
- Migration
(Изменено в версии 2.8.0)
valuesвозвращаетIterable[V]вместоIterator[V].
def valuesIterator: Iterator[Set[B]]
Создает итератор для всех значений в этом map.
- returns
итератор по всем значениям, которые связаны с некоторым ключом в этом map.
- Definition Classes
- MapLike → GenMapLike
def view(from: Int, until: Int): IterableView[(A, Set[B]), Map[A, Set[B]]]
Создает нестрогий вид среза этой итерируемой коллекции.
Примечание: разница между view и slice заключается в том, что view создает вид текущей итерируемой коллекции, а slice создает новую итерируемую коллекцию.
Примечание: view(from, to) эквивалентно view.slice(from, to)
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- from
индекс первого элемента вида
- until
индекс элемента, следующего за видом
- returns
нестрогий вид среза этой итерируемой коллекции, начиная с индекса
fromи заканчивая (но не включая) индексuntil.
- Definition Classes
- IterableLike → TraversableLike
def view: IterableView[(A, Set[B]), Map[A, Set[B]]]
Создает нестрогий вид этой итерируемой коллекции.
- returns
нестрогий вид этой итерируемой коллекции.
- Definition Classes
- IterableLike → TraversableLike
final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
final def wait(arg0: Long): Unit
def withDefault(d: (A) ⇒ Set[B]): Map[A, Set[B]]
Тот же map с заданной функцией по умолчанию.
Вызов методов преобразования (например, map) не сохранит значение по умолчанию.
- d
функция, сопоставляющая ключи со значениями, используемая для отсутствующих ключей
- returns
обертка над map со значением по умолчанию
- Definition Classes
- Map
def withDefaultValue(d: Set[B]): Map[A, Set[B]]
Тот же map со заданным значением по умолчанию.
Вызов методов преобразования (например, map) не сохранит значение по умолчанию.
- d
значение по умолчанию, используемое для отсутствующих ключей
- returns
обертка над map со значением по умолчанию
- Definition Classes
- Map
def withFilter(p: ((A, Set[B])) ⇒ Boolean): FilterMonadic[(A, Set[B]), Map[A, Set[B]]]
Создает нестрогий фильтр этой итерируемой коллекции.
Примечание: разница между c filter p и c withFilter p заключается в том, что первый создает новую коллекцию, а второй только ограничивает область действия последующих map, flatMap, foreach и withFilter операций.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- p
предикат, используемый для проверки элементов.
- returns
объект класса
WithFilter, который поддерживает операцииmap,flatMap,foreachиwithFilter. Все эти операции применяются к тем элементам этой итерируемой коллекции, которые удовлетворяют предикатуp.
- Definition Classes
- TraversableLike → FilterMonadic
def zip[B](that: GenIterable[B]): MultiMap[(A, B)]
Возвращает многоотображение, сформированное из этого многоотображения и другой итерируемой коллекции, объединяя соответствующие элементы в пары. Если одна из двух коллекций длиннее другой, её оставшиеся элементы игнорируются.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- B
тип второй половины возвращаемых пар
- that
Итерируемая коллекция, предоставляющая вторую половину каждой пары результата
- returns
новое многоотображение, содержащее пары, состоящие из соответствующих элементов этого многоотображения и
that. Длина возвращаемой коллекции — минимальная из длин этого многоотображения иthat.
- Definition Classes
- IterableLike → GenIterableLike
def zipAll[B](that: collection.Iterable[B], thisElem: A, thatElem: B): MultiMap[(A, B)]
Возвращает многоотображение, сформированное из этого многоотображения и другой итерируемой коллекции, объединяя соответствующие элементы в пары. Если одна из двух коллекций короче другой, используются заполнители для расширения более короткой коллекции до длины более длинной.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- B
тип второй половины возвращаемых пар
- that
Итерируемая коллекция, предоставляющая вторую половину каждой пары результата
- thisElem
элемент, используемый для заполнения результата, если это многоотображение короче, чем
that.- thatElem
элемент, используемый для заполнения результата, если
thatкороче, чем это многоотображение.- returns
новое многоотображение, содержащее пары, состоящие из соответствующих элементов этого многоотображения и
that. Длина возвращаемой коллекции — максимальная из длин этого многоотображения иthat. Если это многоотображение короче, чемthat, используются значенияthisElemдля заполнения результата. Еслиthatкороче, чем это многоотображение, используются значенияthatElemдля заполнения результата.
- Definition Classes
- IterableLike → GenIterableLike
def zipWithIndex: MultiMap[(A, Int)]
Объединяет это многоотображение с его индексами.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- returns
Новое многоотображение, содержащее пары, состоящие из всех элементов этого многоотображения, соединённых с их индексом. Индексы начинаются с
0.
- Definition Classes
- IterableLike → GenIterableLike
List("a", "b", "c").zipWithIndex = List(("a", 0), ("b", 1), ("c", 2))
def →[B](y: B): (MultiMap[A, B], B)
- Неявный
- Этот член добавлен неявно в результате преобразования из MultiMap[A, B] в ArrowAssoc[MultiMap[A, B]] при помощи метода ArrowAssoc в scala.Predef.
- Definition Classes
- ArrowAssoc
Члены-значения с затемнённым неявным значением
def +(other: String): String
- Неявный
- Этот член добавлен с помощью неявного преобразования из MultiMap[A, B] в any2stringadd[MultiMap[A, B]] посредством метода any2stringadd в scala.Predef.
- Затемнение
- Этот неявно унаследованный член затемнён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать описания типа:(multiMap: any2stringadd[MultiMap[A, B]]).+(other)
- Определяющие классы
- any2stringadd
def filter(p: ((A, Set[B])) ⇒ Boolean): TraversableOnce[(A, Set[B])]
- Неявный
- Этот член добавлен с помощью неявного преобразования из MultiMap[A, B] в MonadOps[(A, Set[B])] посредством метода MonadOps в scala.collection.TraversableOnce.
- Затемнение
- Этот неявно унаследованный член затемнён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать описания типа:(multiMap: MonadOps[(A, Set[B])]).filter(p)
- Определяющие классы
- MonadOps
def flatMap[B](f: ((A, Set[B])) ⇒ GenTraversableOnce[B]): TraversableOnce[B]
- Неявный
- Этот член добавлен с помощью неявного преобразования из MultiMap[A, B] в MonadOps[(A, Set[B])] посредством метода MonadOps в scala.collection.TraversableOnce.
- Затемнение
- Этот неявно унаследованный член затемнён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать описания типа:(multiMap: MonadOps[(A, Set[B])]).flatMap(f)
- Определяющие классы
- MonadOps
def map[B](f: ((A, Set[B])) ⇒ B): TraversableOnce[B]
- Неявный
- Этот член добавлен с помощью неявного преобразования из MultiMap[A, B] в MonadOps[(A, Set[B])] посредством метода MonadOps в scala.collection.TraversableOnce.
- Затемнение
- Этот неявно унаследованный член затемнён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать описания типа:(multiMap: MonadOps[(A, Set[B])]).map(f)
- Определяющие классы
- MonadOps
def withFilter(p: ((A, Set[B])) ⇒ Boolean): Iterator[(A, Set[B])]
- Неявный
- Этот член добавлен с помощью неявного преобразования из MultiMap[A, B] в MonadOps[(A, Set[B])] посредством метода MonadOps в scala.collection.TraversableOnce.
- Затемнение
- Этот неявно унаследованный член затемнён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать описания типа:(multiMap: MonadOps[(A, Set[B])]).withFilter(p)
- Определяющие классы
- MonadOps
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.12.9/scala/collection/mutable/MultiMap.html
Трейт для изменяемых карт, в которых одному ключу могут быть назначены несколько значений.
Этот класс обычно используется как миксин. Он превращает карты, которые сопоставляют
AсSet[B]объектами, в мультикарты, которые сопоставляютAсBобъектами.// 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