Особенность scala.collection.mutable.MapProxy
особенность MapProxy[A, B] extends Map[A, B] with MapProxyLike[A, B, Map[A, 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, B]
Тип, реализующий эту итерацию
- Атрибуты
- protected[this]
- Определяющие классы
- TraversableLike
Абстрактные члены-значения
абстрактный def self: Map[A, B]
- Определяющие классы
- TraversableProxyLike → Proxy
Члены конкретных значений
final def !=(arg0: Any): Boolean
Тестирование двух объектов на неравенство.
- возвращает
trueесли !(this == that), иначе false.
- Определяющие классы
- AnyRef → Any
final def ##(): Int
Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для чисел возвращает хеш-значение, согласованное с равенством значений: если два экземпляра типа значения сравниваются как true, то ## вычислит для каждого из них одно и то же хеш-значение. Для null возвращает хеш-код, где null.hashCode вызывает NullPointerException.
- возвращает
хеш-значение, согласованное с ==
- Определяющие классы
- AnyRef → Any
def +[B1 >: B](elem1: (A, B1), elem2: (A, B1), elems: (A, B1)*): MapProxy[A, B1]
Добавляет пары ключ/значение в этот массив, возвращая новый массив.
Этот метод принимает две или более пары ключ/значение. Другой перегруженный вариант этого метода обрабатывает случай добавления одной пары ключ/значение.
- возвращает
новый массив с добавленными связями в этот массив
- Определяющие классы
- MapProxy → MapProxyLike → MapLike → MapLike
def +[B1 >: B](kv: (A, B1)): Map[A, B1]
Добавляет пару ключ/значение в этот массив, возвращая новый массив.
- kv
пара ключ/значение
- возвращает
новый массив с добавленной связью в этот массив
- Определяющие классы
- MapProxy → MapProxyLike → MapLike → MapLike → GenMapLike
def ++[B1 >: B](xs: GenTraversableOnce[(A, B1)]): MapProxy[A, B1]
Добавляет все пары ключ/значение в коллекции с итераторами к этому массиву, возвращая новый массив.
- xs
коллекция, содержащая добавляемые пары ключ/значение
- возвращает
новый массив с добавленными связями в этот массив
- Определяющие классы
- MapProxy → MapProxyLike → MapLike → MapLike
def ++[B >: (A, B), That](xs: GenTraversableOnce[B])(implicit bf: CanBuildFrom[Map[A, B], B, That]): That
Возвращает новую коллекцию с итераторами, содержащую элементы из левого операнда, за которым следуют элементы из правого операнда. Тип элементов возвращаемой коллекции — наиболее специфический суперкласс, охватывающий типы элементов двух операндов.
- B
тип элементов возвращаемой коллекции.
- That
класс возвращаемой коллекции. Где это возможно,
Thatявляется тем же классом, что и текущий класс коллекцииRepr, но это зависит от того, допустим ли тип элементаBдля этого класса, что означает, что найден неявный экземпляр типаCanBuildFrom[Repr, B, That].- bf
явное значение класса
CanBuildFrom, которое определяет класс результатаThatиз текущего типа представленияReprи нового типа элементаB.- возвращает
новая коллекция типа
That, содержащая все элементы этой коллекции с итераторами, за которыми следуют все элементыthat.
- Определяющие классы
- TraversableProxyLike → TraversableLike → GenTraversableLike
def ++:[B >: (A, B), That](that: collection.Traversable[B])(implicit bf: CanBuildFrom[Map[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.
- Классы-определения
- TraversableLike
def ++:[B](that: TraversableOnce[B]): Map[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.
- Классы-определения
- TraversableLike
def ++=(xs: TraversableOnce[(A, B)]): MapProxy.this.type
Добавляет все элементы, полученные от TraversableOnce, в эту изменяемую коллекцию.
- xs
TraversableOnce, производящий элементы для добавления.
- returns
саму изменяемую коллекцию.
- Классы-определения
- Growable
def +=(kv: (A, B)): MapProxy.this.type
Добавляет новую пару ключ/значение в эту карту. Если в карте уже есть отображение для ключа, оно будет перезаписано новым значением.
- kv
пара ключ/значение.
- returns
сама карта
def +=(elem1: (A, B), elem2: (A, B), elems: (A, B)*): MapProxy.this.type
Добавляет два или более элементов в эту изменяемую коллекцию.
- elem1
первый добавляемый элемент.
- elem2
второй добавляемый элемент.
- elems
остальные добавляемые элементы.
- returns
сама изменяемая коллекция
- Классы-определения
- Growable
def -(key: A): MapProxy[A, B]
Удаляет ключ из этой карты, возвращая новую карту.
- key
ключ для удаления
- returns
новая карта без связи для
key
- Классы-определения
- MapProxy → MapProxyLike → MapLike → MapLike → Subtractable → GenMapLike
def -(elem1: A, elem2: A, elems: A*): Map[A, B]
Создаёт новую карту со всеми парами ключ/значение из этой карты, за исключением пар с ключами, равными любому из указанных двух или более ключей.
- elem1
первый ключ для удаления.
- elem2
второй ключ для удаления.
- elems
остальные ключи для удаления.
- returns
новая карта, содержащая все отображения этой карты, за исключением отображений с ключом, равным
elem1,elem2или любому изelems.
- Классы-определения
- MapLike → Subtractable
- Аннотации
- @migration
- Миграция
(Изменено в версии 2.8.0)
-создаёт новую карту. Используйте-=для удаления элемента из этой карты и возврата самой карты.
def --(xs: GenTraversableOnce[A]): Map[A, B]
Создаёт новую карту со всеми парами ключ/значение из этой карты, кроме пар с ключами, равными любому из ключей, предоставленных указанным итерируемым объектом.
- xs
итерируемый объект.
- returns
новая карта со всеми парами ключ/значение из этой карты, кроме пар с ключом, равным ключу из
xs.
- Definition Classes
- MapLike → Subtractable
- Annotations
- @migration
- Migration
(Изменено в версии 2.8.0)
--создаёт новую карту. Используйте--=для удаления элемента из этой карты и возвращения самой карты.
def --=(xs: TraversableOnce[A]): MapProxy.this.type
Удаляет все элементы, создаваемые итератором, из этого сжимаемого набора.
- xs
итератор, создающий элементы для удаления.
- returns
сам сжимаемый набор.
- Definition Classes
- Shrinkable
def -=(key: A): MapProxy.this.type
Удаляет ключ из этой карты.
- key
ключ для удаления.
- returns
сама карта.
- Definition Classes
- MapProxy → MapLike → Shrinkable
def -=(elem1: A, elem2: A, elems: A*): MapProxy.this.type
Удаляет два или более элементов из этого сжимаемого набора.
- elem1
первый элемент для удаления.
- elem2
второй элемент для удаления.
- elems
оставшиеся элементы для удаления.
- returns
сам сжимаемый набор.
- Definition Classes
- Shrinkable
def ->[B](y: B): (MapProxy[A, B], B)
- Implicit
- Этот член добавлен неявным преобразованием из MapProxy[A, B] в ArrowAssoc[MapProxy[A, B]] с помощью метода ArrowAssoc в scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
def /:[B](z: B)(op: (B, (A, 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
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого итерируемого набора слева направо с начальным значениемzслева:op(...op(op(z, x_1), x_2), ..., x_n)
где
x1, ..., xn— это элементы этого итерируемого набора.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def :\[B](z: B)(op: ((A, 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— элементы этого итерируемого набора.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
final def ==(arg0: Any): Boolean
Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).
- возвращает
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Definition Classes
- AnyRef → Any
def addString(b: scala.StringBuilder, start: String, sep: String, end: String): scala.StringBuilder
Добавляет все элементы этой карты в строковый буфер, используя начальную, конечную и разделительные строки. Текст начинается со строки start и заканчивается строкой end. Внутри строковые представления (согласно методу toString) всех элементов этой карты разделены строкой sep.
Пример:
scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)
scala> val b = new StringBuilder()
b: StringBuilder =
scala> a.addString(b , "List(" , ", " , ")")
res5: StringBuilder = List(1, 2, 3, 4)
- b
строковый буфер, в который добавляются элементы.
- start
начальная строка.
- sep
разделительная строка.
- end
конечная строка.
- возвращает
строковый буфер
b, в который были добавлены элементы.
- Definition Classes
- MapProxyLike → TraversableProxyLike → MapLike → TraversableOnce
def addString(b: StringBuilder): StringBuilder
Добавляет все элементы этого итерируемого набора в строковый буфер. Записанный текст состоит из строковых представлений (согласно методу toString) всех элементов этого итерируемого набора без разделительной строки.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> val h = a.addString(b) h: StringBuilder = 1234
- b
строковый буфер, в который добавляются элементы.
- возвращает
строковый буфер
b, в который были добавлены элементы.
- Definition Classes
- TraversableProxyLike → TraversableOnce
def addString(b: StringBuilder, sep: String): StringBuilder
Добавляет все элементы этого итерируемого набора в строковый буфер, используя разделительную строку. Записанный текст состоит из строковых представлений (согласно методу toString) всех элементов этого итерируемого набора, разделенных строкой sep.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> a.addString(b, ", ") res0: StringBuilder = 1, 2, 3, 4
- b
строковый буфер, в который добавляются элементы.
- sep
разделительная строка.
- возвращает
строковый буфер
b, в который были добавлены элементы.
- Definition Classes
- TraversableProxyLike → TraversableOnce
def aggregate[B](z: ⇒ B)(seqop: (B, (A, 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: (B) ⇒ C): PartialFunction[A, C]
Компонует эту частичную функцию с функцией преобразования, которая применяется к результатам этой частичной функции.
- C
тип результата функции преобразования.
- k
функция преобразования
- returns
частичная функция с тем же областью определения, что и эта частичная функция, которая отображает аргументы
xнаk(this(x)).
- Definition Classes
- PartialFunction → Function1
def apply(key: A): B
Получает значение, связанное с заданным ключом. Этот метод вызывает метод default карты, если нет сопоставления от данного ключа к значению. Если не переопределено, метод default выбрасывает исключение NoSuchElementException.
- key
ключ
- returns
значение, связанное с заданным ключом, или результат применения метода
defaultкарты, если такового нет.
- Definition Classes
- MapProxyLike → MapLike → GenMapLike → Function1
def applyOrElse[K1 <: A, V1 >: 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, B]
Создает копию объекта-получателя.
По умолчанию реализация метода clone зависит от платформы.
- returns
копия объекта-получателя.
def collect[B](pf: PartialFunction[A, B]): Map[B]
Создаёт новую коллекцию, применяя частичную функцию ко всем элементам этой изменяемой карты, для которых эта функция определена.
- B
тип элементов возвращаемой коллекции.
- pf
частичная функция, которая фильтрует и отображает изменяемую карту.
- returns
новая изменяемая карта, полученная путём применения заданной частичной функции
pfк каждому элементу, для которого она определена, и сбора результатов. Порядок элементов сохраняется.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def collectFirst[B](pf: PartialFunction[(A, 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) ⇒ 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
- MapProxyLike → MapLike → GenMapLike
def copyToArray(xs: Array[A]): Unit
Копирует элементы этой изменяемой карты в массив. Заполняет заданный массив xs значениями этой изменяемой карты. Копирование прекращается, когда достигается конец текущей изменяемой карты или конец целевого массива.
- xs
массив для заполнения.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def copyToArray(xs: Array[A], start: Int): Unit
Копирует элементы этой изменяемой карты в массив. Заполняет заданный массив xs значениями этой изменяемой карты, начиная с индекса start. Копирование прекращается, когда достигается конец текущей изменяемой карты или конец целевого массива.
- xs
массив для заполнения.
- start
начальный индекс.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def copyToArray(xs: Array[A], start: Int, len: Int): Unit
Копирует элементы этой изменяемой карты в массив. Заполняет заданный массив xs не более чем len элементами этой изменяемой карты, начиная с позиции start. Копирование прекращается, когда достигается конец текущей изменяемой карты, или конец целевого массива, или скопировано len элементов.
- xs
массив для заполнения.
- start
начальный индекс.
- len
максимальное количество элементов для копирования.
- Определяющие классы
- TraversableProxyLike → TraversableLike → TraversableOnce → GenTraversableOnce
def copyToBuffer[B >: (A, B)](dest: Buffer[B]): Unit
Копирует все элементы этой итерируемой коллекции в буфер.
Примечание: не завершится для коллекций бесконечного размера.
- dest
Буфер, в который копируются элементы.
- Определяющие классы
- TraversableProxyLike → TraversableOnce
def count(p: ((A, B)) ⇒ Boolean): Int
Подсчитывает количество элементов в итерируемой коллекции, которые удовлетворяют предикату.
- p
предикат, используемый для проверки элементов.
- возвращает
количество элементов, удовлетворяющих предикату
p.
- Определяющие классы
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def default(key: A): B
Определяет вычисление значения по умолчанию для карты, возвращаемое, когда ключ не найден. Метод, реализованный здесь, вызывает исключение, но он может быть переопределен в подклассах.
- key
заданное значение ключа, для которого отсутствует привязка.
- Определяющие классы
- MapProxyLike → MapLike → GenMapLike
- Выбрасываемые исключения
def drop(n: Int): Map[A, B]
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен.
- n
количество элементов, которые нужно исключить из этой итерируемой коллекции.
- возвращает
итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, за исключением первых
nэлементов, или пустая итерируемая коллекция, если эта итерируемая коллекция содержит менееnэлементов. Еслиnотрицательно, не исключайте никаких элементов.
- Определяющие классы
- TraversableProxyLike → TraversableLike → GenTraversableLike
def dropRight(n: Int): Map[A, B]
Выбирает все элементы, кроме последних n.
Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен.
- n
Количество элементов для взятия
- возвращает
итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, за исключением последних
nэлементов, или пустая итерируемая коллекция, если эта итерируемая коллекция содержит менееnэлементов.
- Определяющие классы
- IterableProxyLike → IterableLike
def dropWhile(p: ((A, B)) ⇒ Boolean): Map[A, B]
Исключает самый длинный префикс элементов, которые удовлетворяют предикату.
Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен.
- возвращает
самый длинный суффикс этой итерируемой коллекции, первый элемент которого не удовлетворяет предикату
p.
- Определяющие классы
- TraversableProxyLike → TraversableLike → GenTraversableLike
def empty: MapProxy[A, B]
Пустая карта того же типа, что и эта карта
- возвращает
пустая карта типа
This.
def ensuring(cond: (MapProxy[A, B]) ⇒ Boolean, msg: ⇒ Any): MapProxy[A, B]
- Неявный
- Этот член добавлен неявным преобразованием из MapProxy[A, B] в Ensuring[MapProxy[A, B]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: (MapProxy[A, B]) ⇒ Boolean): MapProxy[A, B]
- Неявный
- Этот член добавлен неявным преобразованием из MapProxy[A, B] в Ensuring[MapProxy[A, B]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean, msg: ⇒ Any): MapProxy[A, B]
- Неявный
- Этот член добавлен неявным преобразованием из MapProxy[A, B] в Ensuring[MapProxy[A, B]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean): MapProxy[A, B]
- Неявный
- Этот член добавлен неявным преобразованием из MapProxy[A, B] в Ensuring[MapProxy[A, B]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
final def eq(arg0: AnyRef): Boolean
Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).
Метод eq реализует отношение эквивалентности на непустых экземплярах AnyRef, и имеет три дополнительных свойства:
-
Он согласован: для любых непустых экземпляров
x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого непустого экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false.
null.eq(null) возвращает true. При переопределении методов equals или hashCode важно обеспечить согласованность их поведения с равенством ссылок. Поэтому, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и должны хешироваться к одному значению (o1.hashCode == o2.hashCode).
- возвращает
trueесли аргумент является ссылкой на объект-получатель;falseв противном случае.
- Определяющие классы
- AnyRef
def equals(that: Any): Boolean
Сравнивает получаемый объект (this) с аргументным объектом (that) на предмет эквивалентности.
Любая реализация этого метода должна быть отношением эквивалентности:
-
Она рефлексивна: для любого экземпляра
x типа Any, x.equals(x) должно возвращать true.Она симметрична: для любых экземпляров x и y типа Any, x.equals(y) должно возвращать true тогда и только тогда, когда y.equals(x) возвращает true.Она транзитивна: для любых экземпляров x, y, и z типа Any если x.equals(y) возвращает true и y.equals(z) возвращает true, тогда x.equals(z) должно возвращать true. Если вы переопределяете этот метод, вы должны проверить, что ваша реализация остается отношением эквивалентности. Кроме того, при переопределении этого метода обычно необходимо переопределить hashCode для обеспечения того, что объекты, которые являются "равными" (o1.equals(o2) возвращает true) хешируются к одному scala.Int. (o1.hashCode.equals(o2.hashCode)).
- that
объект для сравнения с этим объектом на равенство.
- возвращает
trueесли получаемый объект эквивалентен аргументу;falseв противном случае.
def exists(p: ((A, B)) ⇒ Boolean): Boolean
Проверяет, выполняется ли предикат для хотя бы одного элемента в этом коллекцией, проходимой итератором.
Примечание: может не завершиться для коллекций бесконечного размера.
- p
предикат, используемый для проверки элементов.
- returns
falseесли этот коллекцией, проходимой итератором, пуст, в противном случаеtrueесли заданный предикатpвыполняется для некоторых элементов этой коллекции, проходимой итератором, в противном случаеfalse
- Definition Classes
- TraversableProxyLike → TraversableLike → TraversableOnce → GenTraversableOnce
def filter(p: ((A, B)) ⇒ Boolean): Map[A, B]
Выбирает все элементы этой коллекции, проходимой итератором, которые удовлетворяют предикату.
- p
предикат, используемый для проверки элементов.
- returns
новая коллекция, проходимая итератором, состоящая из всех элементов этой коллекции, проходимой итератором, которые удовлетворяют заданному предикату
p. Порядок элементов сохраняется.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def filterKeys(p: (A) ⇒ Boolean): collection.Map[A, B]
Фильтрация этой карты, сохраняя только ключи, удовлетворяющие предикату.
Примечание: предикат должен принимать любой ключ типа K, а не только те, которые уже присутствуют в карте, так как предикат проверяется до запроса к основной карте.
- p
предикат, используемый для проверки ключей
- returns
неизменяемая карта, содержащая только те пары ключ-значение из этой карты, где ключ удовлетворяет предикату
p. Результирующая карта оборачивает исходную карту без копирования каких-либо элементов.
- Definition Classes
- MapProxyLike → MapLike → GenMapLike
def filterNot(p: ((A, B)) ⇒ Boolean): Map[A, B]
Выбирает все элементы этой карты, которые не удовлетворяют предикату.
- p
предикат, используемый для проверки элементов.
- returns
новая карта, содержащая все элементы этой карты, которые не удовлетворяют заданному предикату
p. Порядок элементов сохраняется.
- Definition Classes
- MapProxyLike → TraversableProxyLike → 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, B)) ⇒ Boolean): Option[(A, B)]
Ищет первый элемент в коллекции, проходимой итератором, удовлетворяющий предикату, если таковой имеется.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- p
предикат, используемый для проверки элементов.
- returns
значение Option, содержащее первый элемент в коллекции, проходимой итератором, который удовлетворяет
p, илиNoneесли такого не существует.
- Definition Classes
- TraversableProxyLike → TraversableLike → TraversableOnce → GenTraversableOnce
def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): Map[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
- TraversableProxyLike → TraversableLike → GenTraversableLike → FilterMonadic
def flatten[B]: Map[B]
Преобразует эту изменяемую карту из перебираемых коллекций в изменяемую карту, образованную элементами этих перебираемых коллекций.
Тип результирующей коллекции будет определяться статическим типом изменяемой карты. Например:
val xs = List(
Set(1, 2, 3),
Set(1, 2, 3)
).flatten
// xs == List(1, 2, 3, 1, 2, 3)
val ys = Set(
List(1, 2, 3),
List(3, 2, 1)
).flatten
// ys == Set(1, 2, 3)
- B
тип элементов каждой перебираемой коллекции.
- returns
новая изменяемая карта, полученная путем конкатенации всех изменяемых карт элементов.
- Definition Classes
- GenericTraversableTemplate
def fold[A1 >: (A, B)](z: A1)(op: (A1, A1) ⇒ A1): A1
Вычисляет результирующее значение для элементов перебираемой коллекции, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Примечание: не завершится для коллекций бесконечного размера.
- A1
параметр типа для бинарного оператора, надтипом
A.- z
нейтральный элемент для операции fold; может быть добавлен к результату произвольное количество раз и не должен изменять результат (например,
Nilдля конкатенации списков, 0 для сложения или 1 для умножения).- op
бинарный оператор, который должен быть ассоциативным.
- returns
результат применения оператора fold
opмежду всеми элементами иz, илиzесли эта перебираемая коллекция пустая.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def foldLeft[B](z: B)(op: (B, (A, B)) ⇒ B): B
Применяет бинарный оператор к начальному значению и всем элементам этой коллекции, идя слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип коллекции не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- z
начальное значение.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этой перебираемой коллекции, слева направо с начальным значениемzслева:op(...op(z, x_1), x_2, ..., x_n)
где
x1, ..., xn— это элементы этой перебираемой коллекции. Возвращаетzесли эта перебираемая коллекция пуста.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def foldRight[B](z: B)(op: ((A, B), B) ⇒ B): B
Применяет бинарный оператор ко всем элементам этой коллекции и начальному значению, идя справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип коллекции не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- z
начальное значение.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этой перебираемой коллекции, справа налево с начальным значениемzсправа:op(x_1, op(x_2, ... op(x_n, z)...))
где
x1, ..., xn— это элементы этой перебираемой коллекции. Возвращаетzесли эта перебираемая коллекция пустая.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def forall(p: ((A, B)) ⇒ Boolean): Boolean
Проверяет, выполняется ли предикат для всех элементов этой перебираемой коллекции.
Примечание: может не завершиться для коллекций бесконечного размера.
- p
предикат, используемый для проверки элементов.
- returns
trueесли эта перебираемая коллекция пустая или заданный предикатpвыполняется для всех элементов этой перебираемой коллекции, в противном случаеfalse.
- Definition Classes
- TraversableProxyLike → TraversableLike → TraversableOnce → GenTraversableOnce
def foreach(f: (A) ⇒ Unit): Unit
Применяет функцию f ко всем элементам этой изменяемой карты.
Примечание: этот метод лежит в основе реализации большинства других операций с набором данных. Важно реализовать этот метод эффективным способом.
- f
функция, которая применяется для побочного эффекта к каждому элементу. Результат функции
fигнорируется.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike → TraversableOnce → GenTraversableOnce → FilterMonadic
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной строкой format. Форматные строки аналогичны String.format (@см. java.lang.String.format).
- Неявный
- Этот член добавлен неявным преобразованием из MapProxy[A, B] в StringFormat[MapProxy[A, B]] с помощью метода StringFormat в scala.Predef.
- Классы определения
- StringFormat
- Аннотации
- @inline()
def genericBuilder[B]: Builder[B, Iterable[B]]
Обобщенный билдер, создающий экземпляры Traversable для произвольных типов элементов.
- Классы определения
- GenericTraversableTemplate
def get(key: A): Option[B]
Возвращает значение, связанное с ключом.
- key
значение ключа
- возвращает
объект Option, содержащий значение, связанное с
keyв этом словаре, илиNone, если такое значение отсутствует.
- Классы определения
- MapProxyLike → MapLike → GenMapLike
final def getClass(): Class[_]
Возвращает представление класса объекта во время выполнения.
- возвращает
объект класса, соответствующий типу получателя во время выполнения.
def getOrElse(key: K, default: ⇒ V): V
Возвращает значение, связанное с ключом, или значение по умолчанию, если ключ не содержится в словаре.
- key
ключ.
- default
вычисление, возвращающее значение по умолчанию в случае, если в словаре нет привязки к
key.- возвращает
значение, связанное с
key, если оно существует, в противном случае результат вычисленияdefault.
- Классы определения
- MapProxyLike → MapLike → GenMapLike
def getOrElseUpdate(key: A, op: ⇒ B): B
Если заданный ключ уже существует в этом словаре, возвращает связанное с ним значение.
В противном случае вычисляет значение из заданного выражения op, сохраняет его в словаре по ключу и возвращает это значение.
Реализации словаря, поддерживающие одновременный доступ, могут вычислять выражение op несколько раз или могут вычислять op без вставки результата.
- key
ключ для проверки
- op
вычисление, возвращающее значение, которое нужно связать с
key, еслиkeyранее не определён.- возвращает
значение, связанное с ключом (либо ранее, либо в результате выполнения метода).
- Классы определения
- MapLike
def groupBy[K](f: ((A, B)) ⇒ K): immutable.Map[K, Map[A, B]]
Разбивает эту коллекцию на части по значению функции-дискриминатора.
Примечание: этот метод не переопределён для представлений. Это означает, что при применении к представлению он всегда будет принудительно вычислять представление и возвращать новую коллекцию.
- K
тип ключей, возвращаемых функцией-дискриминатором.
- f
функция-дискриминатор.
- возвращает
-
Словарь, где ключами являются значения, а значениями — коллекция элементов, удовлетворяющих указанному условию:
(xs groupBy f)(k) = xs filter (x => f(x) == k)
То есть, каждый ключ
kсвязан с коллекцией элементовx, для которыхf(x)равноk.
- Классы определения
- TraversableProxyLike → TraversableLike → GenTraversableLike
def grouped(size: Int): Iterator[Map[A, B]]
Разбивает элементы на итерируемые коллекции фиксированного размера.
- size
количество элементов в каждой группе
- возвращает
Итератор, производящий итерируемые коллекции размером
size, за исключением последней, которая может быть меньшеsize, если элементы не делятся на размер равномерно.
- Классы определения
- IterableProxyLike → IterableLike
- См. также
scala.collection.Iterator, метод
grouped
def hasDefiniteSize: Boolean
Проверяет, известно ли, что эта коллекция, допускающая обход, имеет конечный размер. Все строгие коллекции, как известно, имеют конечный размер. Для нестрогой коллекции, такой как Stream, предикат возвращает true, если все элементы были вычислены. Он возвращает false, если поток еще не вычислен до конца. Непустые итераторы обычно возвращают false, даже если они были созданы из коллекции с известным конечным размером.
Примечание: многие методы коллекций не будут работать с коллекциями бесконечных размеров. Типичный режим отказа — бесконечный цикл. Эти методы всегда пытаются выполнить обход, не проверяя сначала, возвращает ли hasDefiniteSize true. Однако проверка hasDefiniteSize может обеспечить гарантию того, что размер определен корректно, и проблема с не завершением не вызывает беспокойства.
- returns
true, если известно, что эта коллекция имеет конечный размер,falseв противном случае.
- Определяющие классы
- TraversableProxyLike → TraversableLike → TraversableOnce → GenTraversableOnce
def hashCode(): Int
Вычислить значение хэш-кода для объекта.
Алгоритм хэширования по умолчанию зависит от платформы.
Обратите внимание, что разрешено, чтобы два объекта имели одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)) и при этом не быть равными (o1.equals(o2) возвращает false). Вырожденная реализация всегда может возвращать 0. Однако требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true), то у них были одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)). Поэтому при переопределении этого метода обязательно убедитесь, что поведение согласуется с методом equals.
- returns
значение хэш-кода для этого объекта.
def head: (A, B)
Выбирает первый элемент этой коллекции, допускающей обход.
Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен.
- returns
первый элемент этой коллекции, допускающей обход.
- Определяющие классы
- TraversableProxyLike → TraversableLike → GenTraversableLike
- Выбрасываемые исключения
NoSuchElementExceptionесли коллекция, допускающая обход, пуста.
def headOption: Option[(A, B)]
Необязательно выбирает первый элемент.
Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен.
- returns
первый элемент этой коллекции, допускающей обход, если она не пуста,
None, если она пуста.
- Определяющие классы
- TraversableProxyLike → TraversableLike → GenTraversableLike
def init: Map[A, B]
Выбирает все элементы, кроме последнего.
Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен.
- returns
коллекция, допускающая обход, состоящая из всех элементов этой коллекции, допускающей обход, кроме последнего.
- Определяющие классы
- TraversableProxyLike → TraversableLike → GenTraversableLike
- Выбрасываемые исключения
UnsupportedOperationExceptionесли коллекция, допускающая обход, пуста.
def inits: Iterator[Map[A, B]]
Итерирует по начальным частям этой коллекции, допускающей обход. Первое значение будет этой коллекцией, допускающей обход, а последнее — пустой коллекцией, допускающей обход, а промежуточные значения — результатами последовательных применений init.
- returns
итератор по всем начальным частям этой коллекции, допускающей обход
- Определяющие классы
- 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в противном случае.
- Определяющие классы
- MapProxyLike → MapLike → GenMapLike → PartialFunction
def isEmpty: Boolean
Проверяет, пуста ли эта карта.
- returns
true, если карта не содержит элементов,falseв противном случае.
- Определяющие классы
- MapProxyLike → TraversableProxyLike → 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 iterator: Iterator[(A, B)]
Создаёт новый итератор по всем элементам, содержащимся в этом итерируемом объекте.
- returns
новый итератор
- Definition Classes
- MapProxyLike → IterableProxyLike → MapLike → IterableLike → GenIterableLike
def keySet: collection.Set[A]
Собирает все ключи этой карты в множество.
- returns
множество, содержащее все ключи этой карты.
- Definition Classes
- MapProxyLike → MapLike → GenMapLike
def keys: collection.Iterable[A]
Собирает все ключи этой карты в итерируемое множество.
- returns
ключи этой карты как итерируемый объект.
- Definition Classes
- MapProxyLike → MapLike → GenMapLike
def keysIterator: Iterator[A]
Создаёт итератор для всех ключей.
- returns
итератор по всем ключам.
- Definition Classes
- MapProxyLike → MapLike → GenMapLike
def last: (A, B)
Возвращает последний элемент.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
- returns
Последний элемент этого итерируемого набора.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
- Exceptions thrown
NoSuchElementExceptionЕсли итерируемый набор пуст.
def lastOption: Option[(A, B)]
Возвращает последний элемент, если он существует.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
- returns
последний элемент этого итерируемого набора, если он непуст;
Noneесли он пуст.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def lift: (A) ⇒ Option[B]
Преобразует частичную функцию в обычную функцию, возвращающую результат Option.
- returns
функция, которая принимает аргумент
xи возвращаетSome(this(x))еслиthisопределена дляx, иNoneв противном случае.
- Definition Classes
- PartialFunction
- See also
Function.unlift
def map[B](f: (A) ⇒ B): Map[B]
Строит новый набор, применяя функцию ко всем элементам этой изменяемой карты.
- B
тип элементов возвращаемого набора.
- f
функция, которая применяется к каждому элементу.
- returns
новая изменяемая карта, полученная путём применения заданной функции
fк каждому элементу этой изменяемой карты и сбора результатов.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike → FilterMonadic
def mapResult[NewTo](f: (Map[A, B]) ⇒ NewTo): Builder[(A, B), NewTo]
Создаёт новый билдер, применяя функцию преобразования к результатам этого билдера.
- NewTo
тип коллекции, возвращаемой
f.- f
функция преобразования.
- returns
новый билдер, такой же, как текущий билдер, за исключением того, что к результату этого билдера применена функция преобразования.
- Definition Classes
- Builder
- Note
Оригинальный билдер больше использовать нельзя после вызова
mapResult.
def mapValues[C](f: (B) ⇒ C): collection.Map[A, C]
Преобразует эту карту, применяя функцию к каждому извлеченному значению.
- f
функция для преобразования значений этой карты.
- returns
вид карты, которая отображает каждый ключ этой карты на
f(this(key)). Результирующая карта оборачивает исходную карту без копирования каких-либо элементов.
- Definition Classes
- MapProxyLike → MapLike → GenMapLike
def max: A
Находит наибольший элемент.
- returns
наибольший элемент этой изменяемой карты.
- Definition Classes
- TraversableProxyLike → 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
- TraversableProxyLike → 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
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def mkString(sep: String): String
Отображает все элементы этой коллекции обхода в строке с разделительной строкой.
- sep
разделительная строка.
- returns
строковое представление этой коллекции обхода. В результирующей строке строковые представления (с помощью метода
toString) всех элементов этой коллекции обхода разделены строкойsep.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
List(1, 2, 3).mkString("|") = "1|2|3"
def mkString(start: String, sep: String, end: String): String
Отображает все элементы этого итерируемого набора в строке, используя строки start, end и separator.
- start
строка начала.
- sep
строка-разделитель.
- end
строка окончания.
- returns
строковое представление этого итерируемого набора. Результирующая строка начинается со строки
startи заканчивается строкойend. Внутри строковые представления (в соответствии с методомtoString) всех элементов этого итерируемого набора разделены строкойsep.
- Definition Classes
- TraversableProxyLike → 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, B), Map[A, B]]
Общее реализация newBuilder для всех изменяемых карт в терминах empty.
Переопределяет MapLike реализацию для повышения эффективности.
- Attributes
- protected[this]
- Definition Classes
- MapLike → MapLike → TraversableLike → HasNewBuilder
def nonEmpty: Boolean
Проверяет, не пуст ли итерируемый набор.
- returns
trueесли итерируемый набор содержит по крайней мере один элемент,falseв противном случае.
- Definition Classes
- TraversableProxyLike → 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 >: 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, B]
Возвращает параллельную реализацию этого набора.
Для большинства типов наборов этот метод создает новый параллельный набор, копируя все элементы. Для этих наборов par занимает линейное время. Изменяемые наборы в этой категории не создают изменяемый параллельный набор с тем же самым основным набором данных, поэтому изменения в одном наборе не будут отражены в другом.
Специфические наборы (например, ParArray или mutable.ParHashMap) переопределяют это поведение по умолчанию, создавая параллельный набор, использующий ту же самую основную структуру данных. Для этих наборов par занимает постоянное или подлинейное время.
Все параллельные наборы возвращают ссылку на себя.
- returns
параллельная реализация этого набора
- Definition Classes
- Parallelizable
def parCombiner: Combiner[(A, B), ParMap[A, B]]
Реализация по умолчанию par использует комбинирующий элемент, предоставленный этим методом, для создания новой параллельной коллекции.
- возвращает
комбинирующий элемент для параллельной коллекции типа
ParRepr
- Атрибуты
- protected[this]
- Определяющие классы
- MapLike → MapLike → TraversableLike → Parallelizable
def partition(p: ((A, B)) ⇒ Boolean): (Map[A, B], Map[A, B])
Разделяет эту коллекцию на две коллекции согласно предикату.
- p
предикат для разделения.
- возвращает
пара коллекций: первая коллекция содержит все элементы, которые удовлетворяют предикату
p, а вторая — все элементы, которые не удовлетворяют. Относительный порядок элементов в результирующих коллекциях такой же, как и в исходной коллекции.
- Определяющие классы
- TraversableProxyLike → TraversableLike → GenTraversableLike
def product: A
Вычисляет произведение элементов этой коллекции.
- возвращает
произведение всех элементов в этой изменяемой карте чисел типа
Int. ВместоInt, может быть использован любой другой типTс неявной реализациейNumeric[T]в качестве типа элементов изменяемой карты и типа результатаproduct. Примеры таких типов:Long,Float,Double,BigInt.
- Определяющие классы
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def put(key: A, value: B): Option[B]
Добавляет новую пару ключ/значение в эту карту и необязательно возвращает ранее связанное значение. Если в карте уже есть отображение для ключа, оно будет перезаписано новым значением.
- key
ключ для обновления
- value
новое значение
- возвращает
объект Option, содержащий значение, связанное с ключом до выполнения операции
put, илиNone, еслиkeyне было определено в карте ранее.
- Определяющие классы
- MapLike
def reduce[A1 >: (A, B)](op: (A1, A1) ⇒ A1): A1
Применяет заданный ассоциативный бинарный оператор ко всем элементам этой коллекции.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
- A1
Тип параметра для бинарного оператора, супертип
A.- op
Бинарный оператор, который должен быть ассоциативным.
- возвращает
Результат применения оператора
opмежду всеми элементами, если коллекция не пуста.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationException, если коллекция пуста.
def reduceLeft[B >: (A, B)](op: (B, (A, B)) ⇒ B): B
Применяет бинарный оператор ко всем элементам этой коллекции слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен. или оператор ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- возвращает
-
результат вставки
opмежду последовательными элементами этой коллекции слева направо:op( op( ... op(x_1, x_2) ..., x_{n-1}), x_n)где
x1, ..., xn— элементы этой коллекции.
- Определяющие классы
- TraversableProxyLike → TraversableOnce
- Исключения
UnsupportedOperationException, если коллекция пуста.
def reduceLeftOption[B >: (A, B)](op: (B, (A, B)) ⇒ B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этого итерируемого набора, слева направо.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базового набора не является упорядоченным. или оператор ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
значение типа Option, содержащее результат
reduceLeft(op), если этот итерируемый набор не пуст,Noneв противном случае.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def reduceOption[A1 >: (A, B)](op: (A1, A1) ⇒ A1): Option[A1]
Сводит элементы этого итерируемого объекта или итератора, если таковые имеются, с использованием указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
- A1
Параметр типа для бинарного оператора, супертип
A.- op
Бинарный оператор, который должен быть ассоциативным.
- returns
Значение типа Option, содержащее результат применения оператора reduce
opмежду всеми элементами, если набор не пуст, иNoneв противном случае.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def reduceRight[B >: (A, B)](op: ((A, B), B) ⇒ B): B
Применяет бинарный оператор ко всем элементам этого итерируемого набора, справа налево.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базового набора не является упорядоченным. или оператор ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого итерируемого набора, справа налево:op(x_1, op(x_2, ..., op(x_{n-1}, x_n)...))где
x1, ..., xn— элементы этого итерируемого набора.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
- Exceptions thrown
UnsupportedOperationException, если этот итерируемый набор пуст.
def reduceRightOption[B >: (A, B)](op: ((A, B), B) ⇒ B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этого итерируемого набора, справа налево.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базового набора не является упорядоченным. или оператор ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
значение типа Option, содержащее результат
reduceRight(op), если этот итерируемый набор не пуст,Noneв противном случае.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def remove(key: A): Option[B]
Удаляет ключ из этого отображения, возвращая значение, связанное ранее с этим ключом, как значение типа Option.
- key
ключ, который нужно удалить
- returns
значение типа Option, содержащее значение, связанное ранее с
key, илиNone, еслиkeyне было определено в отображении ранее.
- Definition Classes
- MapLike
def repr: MapProxy[A, B]
Объект представления типа Repr, который содержит элементы коллекции
- Definition Classes
- MapProxy → Subtractable → TraversableLike → GenTraversableLike
def result(): Map[A, B]
Результат, когда это отображение используется в качестве билдера
- returns
само представление отображения.
def retain(p: (A, B) ⇒ Boolean): MapProxy.this.type
Сохраняет только те сопоставления, для которых предикат p возвращает true.
- p
Предикат проверки
- Классы-определения
- MapLike
def reversed: List[(A, B)]
- Атрибуты
- protected[this]
- Классы-определения
- TraversableOnce
def runWith[U](action: (B) ⇒ U): (A) ⇒ Boolean
Компонует эту частичную функцию с функцией действия, которая применяется к результатам этой частичной функции. Функция действия вызывается только для своих побочных эффектов; её результат игнорируется.
Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно
if(pf isDefinedAt x) { action(pf(x)); true } else false
за исключением того, что runWith реализуется с помощью applyOrElse и, следовательно, потенциально более эффективно. Использование runWith позволяет избежать двойной оценки совпадений шаблонов и условий для литералов частичных функций.
- action
функция действия
- возвращает
функция, которая отображает аргументы
xвisDefinedAt(x). Результирующая функция выполняетaction(this(x))там, гдеthisопределена.
- Классы-определения
- PartialFunction
- С момента
2.10
- См. также
applyOrElse.
def sameElements(that: GenIterable[A]): Boolean
Проверяет, содержит ли другая итерируемая коллекция те же элементы в том же порядке, что и эта изменяемая карта.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- that
коллекция для сравнения.
- возвращает
true, если обе коллекции содержат те же элементы в том же порядке,falseв противном случае.
- Классы-определения
- IterableProxyLike → IterableLike → GenIterableLike
def scan[B >: (A, B), That](z: B)(op: (B, B) ⇒ B)(implicit cbf: CanBuildFrom[Map[A, B], B, That]): That
Вычисляет префиксный сканирование элементов коллекции.
Примечание: нейтральный элемент z может применяться более одного раза.
- B
тип элементов результирующей коллекции
- That
тип результирующей коллекции
- z
нейтральный элемент для оператора
op- op
ассоциативный оператор для сканирования
- cbf
фабрика комбинатора, которая предоставляет комбинатор
- возвращает
новая коллекция перечислений, содержащая префиксное сканирование элементов в этой коллекции перечислений
- Классы-определения
- TraversableLike → GenTraversableLike
def scanLeft[B, That](z: B)(op: (B, (A, B)) ⇒ B)(implicit bf: CanBuildFrom[Map[A, B], B, That]): That
Создаёт коллекцию, содержащую кумулятивные результаты применения оператора слева направо.
Примечание: не завершит работу для бесконечно больших коллекций.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- B
тип элементов в результирующей коллекции
- That
фактический тип результирующей коллекции
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- bf
явное значение класса
CanBuildFrom, которое определяет класс результатаThatиз текущего типа представленияReprи нового типа элементаB.- возвращает
коллекция с промежуточными результатами
- Классы-определения
- TraversableProxyLike → TraversableLike → GenTraversableLike
def scanRight[B, That](z: B)(op: ((A, B), B) ⇒ B)(implicit bf: CanBuildFrom[Map[A, 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
коллекция с промежуточными результатами
- Определяющие классы
- TraversableProxyLike → TraversableLike → GenTraversableLike
def seq: Map[A, B]
Версия этой коллекции со всеми операциями, реализованными последовательно (т. е. в однопоточном режиме).
Этот метод возвращает ссылку на эту коллекцию. В параллельных коллекциях он переопределен для возврата последовательной реализации этой коллекции. В обоих случаях он имеет сложность O(1).
- returns
последовательный вид коллекции.
- Определяющие классы
- Map → Map → GenMap → GenMapLike → Iterable → Iterable → GenIterable → Traversable → Traversable → GenTraversable → Parallelizable → TraversableOnce → GenTraversableOnce
def size: Int
Размер этой траверсабельной коллекции.
Примечание: не будет завершаться для коллекций бесконечного размера.
- returns
число элементов в этой траверсабельной коллекции.
- Определяющие классы
- TraversableProxyLike → GenTraversableLike → TraversableOnce → GenTraversableOnce
def sizeHint(coll: TraversableLike[_, _], delta: Int): Unit
Подсказка, что ожидается, что result этого билдера будет иметь тот же размер, что и данная коллекция, плюс некоторое дельта. Это будет давать подсказку только в том случае, если известно, что у коллекции есть недорогой метод size. В настоящее время предполагается, что это так тогда и только тогда, когда коллекция имеет тип IndexedSeqLike. Некоторые классы билдера будут оптимизировать свое представление на основе подсказки. Однако реализации билдера по-прежнему обязаны работать корректно, даже если подсказка неверна, т. е. добавляется другое количество элементов.
- coll
коллекция, которая служит подсказкой для размера результата.
- delta
поправка, которая добавляется к
coll.sizeдля получения подсказки размера.
- Определяющие классы
- Builder
def sizeHint(coll: TraversableLike[_, _]): Unit
Подсказка, что ожидается, что result этого билдера будет иметь тот же размер, что и данная коллекция, плюс некоторое дельта. Это будет давать подсказку только в том случае, если известно, что у коллекции есть недорогой метод size, который определяется вызовом sizeHint.
Некоторые классы билдера будут оптимизировать свое представление на основе подсказки. Однако реализации билдера по-прежнему обязаны работать корректно, даже если подсказка неверна, т. е. добавляется другое количество элементов.
- coll
коллекция, которая служит подсказкой для размера результата.
- Определяющие классы
- Builder
def sizeHint(size: Int): Unit
Подсказка о том, сколько элементов ожидается добавить при следующем вызове result. Некоторые классы билдера будут оптимизировать свое представление на основе подсказки. Однако реализации билдера по-прежнему обязаны работать корректно, даже если подсказка неверна, т. е. добавляется другое количество элементов.
- size
подсказка о том, сколько элементов будет добавлено.
- Определяющие классы
- Builder
def sizeHintBounded(size: Int, boundingColl: TraversableLike[_, _]): Unit
Подсказка о том, сколько элементов ожидается добавить при следующем вызове result, а также верхняя граница, заданная размером другой коллекции. Некоторые классы билдера будут оптимизировать свое представление на основе подсказки. Однако реализации билдера по-прежнему обязаны работать корректно, даже если подсказка неверна, т. е. добавляется другое количество элементов.
- size
подсказка о том, сколько элементов будет добавлено.
- boundingColl
ограничивающая коллекция. Если это IndexedSeqLike, то размеры, превышающие размер коллекции, уменьшаются.
- Определяющие классы
- Builder
def sizeHintIfCheap: Int
Размер этой коллекции или итератора, если его можно вычислить недорого.
- returns
число элементов в этой коллекции или итераторе, или -1, если размер не может быть определен недорого.
- Атрибуты
- protected[collection]
- Определяющие классы
- GenTraversableOnce
def slice(from: Int, until: Int): Map[A, B]
Выбирает интервал элементов. Возвращаемая коллекция состоит из всех элементов x, которые удовлетворяют инварианту:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- returns
итерируемая коллекция, содержащая элементы, большие или равные индексу
from, и заканчивающиеся (но не включая) индексuntilэтой итерируемой коллекции.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def sliding(size: Int, step: Int): Iterator[Map[A, B]]
Группирует элементы в блоки фиксированного размера, передавая «скользящее окно» по ним (в отличие от их разбиения, как в grouped.)
- size
количество элементов в группе
- step
расстояние между первыми элементами последовательных групп
- returns
Итератор, генерирующий итерируемые коллекции размером
size, за исключением последнего элемента (который может быть единственным), который будет усечён, если осталось меньшеsizeэлементов для группировки.
- Definition Classes
- IterableProxyLike → IterableLike
- See also
scala.collection.Iterator, метод
sliding
def sliding(size: Int): Iterator[Map[A, B]]
Группирует элементы в блоки фиксированного размера, передавая «скользящее окно» по ним (в отличие от их разбиения, как в grouped.) Шаг «скользящего окна» установлен в единицу.
- size
количество элементов в группе
- returns
Итератор, генерирующий итерируемые коллекции размером
size, за исключением последнего элемента (который может быть единственным), который будет усечён, если осталось меньшеsizeэлементов для группировки.
- Definition Classes
- IterableProxyLike → IterableLike
- See also
scala.collection.Iterator, метод
sliding
def span(p: ((A, B)) ⇒ Boolean): (Map[A, B], Map[A, B])
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- returns
пару, состоящую из самого длинного префикса этой итерируемой коллекции, элементы которой все удовлетворяют
p, и остаток этой итерируемой коллекции.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def splitAt(n: Int): (Map[A, B], Map[A, B])
Разделяет эту итерируемую коллекцию на две части в заданной позиции. Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- n
позиция, в которой следует разделить.
- returns
пара итерируемых коллекций, состоящих из первых
nэлементов этой итерируемой коллекции и других элементов.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def stringPrefix: String
Определяет префикс представления этого объекта.
- returns
строковое представление, которое начинается с результата
toString, применённого к этой итерируемой коллекции. По умолчанию префикс строки — просто имя класса коллекции итерируемая коллекция.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def sum: A
Суммирует элементы этой коллекции.
- returns
сумма всех элементов в этой изменяемой карте чисел типа
Int. ВместоInt, любой другой типTс неявнойNumeric[T]реализацией может быть использован в качестве типа элемента изменяемой карты и как тип результатаsum. Примеры таких типов:Long,Float,Double,BigInt.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
final def synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
def tail: Map[A, B]
Выбирает все элементы, кроме первого.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- возвращает
коллекцию, содержащую все элементы этой коллекции, кроме первого.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
- Исключения
java.lang.UnsupportedOperationException, если коллекция пуста.
def tails: Iterator[Map[A, B]]
Итерируется по хвостам этой коллекции. Первое значение — это эта коллекция, а последнее — пустая коллекция, а промежуточные значения — результаты последовательных применений tail.
- возвращает
итератор по всем хвостам этой коллекции
- Definition Classes
- TraversableLike
List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)
def take(n: Int): Map[A, B]
Выбирает первые n элементов.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- n
количество элементов, которые нужно взять из этой коллекции.
- возвращает
коллекцию, состоящую только из первых
nэлементов этой коллекции, или же всей коллекции, если в ней меньшеnэлементов. Еслиnотрицательно, возвращается пустая коллекция.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def takeRight(n: Int): Map[A, B]
Выбирает последние n элементов.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- n
количество элементов для взятия
- возвращает
итерируемую коллекцию, содержащую только последние
nэлементов этой итерируемой коллекции, или же всю итерируемую коллекцию, если в ней меньшеnэлементов.
- Definition Classes
- IterableProxyLike → IterableLike
def takeWhile(p: ((A, B)) ⇒ Boolean): Map[A, B]
Возвращает наибольший префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- возвращает
наибольший префикс этой коллекции, элементы которого удовлетворяют предикату
p.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def thisCollection: collection.Iterable[(A, B)]
Базовая коллекция, рассматриваемая как экземпляр Iterable. По умолчанию это реализуется как текущий объект коллекции, но это можно переопределить.
- Атрибуты
- protected[this]
- Definition Classes
- IterableLike → TraversableLike
def to[Col[_]]: Col[A]
Преобразует эту изменяемую карту в другую, копируя все элементы.
- Col
Тип коллекции для построения.
- возвращает
новая коллекция, содержащая все элементы этой изменяемой карты.
- Definition Classes
- TraversableLike → TraversableOnce → GenTraversableOnce
def toArray: Array[A]
Преобразует эту изменяемую карту в массив.
- возвращает
массив, содержащий все элементы этой изменяемой карты. Должен быть доступен
ClassTagдля типа элемента этой изменяемой карты.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def toBuffer[B >: (A, B)]: Buffer[B]
Использует содержимое этого итерируемого набора для создания нового изменяемого буфера.
Примечание: не завершится для коллекций бесконечного размера.
- returns
буфер, содержащий все элементы этого итерируемого набора.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def toCollection(repr: Map[A, B]): collection.Iterable[(A, B)]
Преобразование из коллекций типа Repr в объекты Iterable. По умолчанию это реализуется просто как приведение типов, но это можно переопределить.
- Attributes
- protected[this]
- Definition Classes
- IterableLike → TraversableLike
def toIndexedSeq: immutable.IndexedSeq[(A, B)]
Преобразует этот итерируемый набор в индексированную последовательность.
Примечание: не завершится для коллекций бесконечного размера.
- returns
индексированная последовательность, содержащая все элементы этого итерируемого набора.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def toIterable: collection.Iterable[(A, B)]
Преобразует этот итерируемый набор в итерируемую коллекцию. Обратите внимание, что выбор целевого Iterable является ленивым в этой реализации по умолчанию, так как этот TraversableOnce может быть ленивым и невычисленным (т.е. это может быть итератор, который можно проходить только один раз).
Примечание: не завершится для коллекций бесконечного размера.
- returns
итерируемая коллекция, содержащая все элементы этого итерируемого набора.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def toIterator: Iterator[(A, B)]
Возвращает итератор по элементам в этом итерируемом наборе. Вернет тот же итератор, если этот экземпляр уже является итератором.
Примечание: не завершится для коллекций бесконечного размера.
- returns
итератор, содержащий все элементы этого итерируемого набора.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableOnce
def toList: List[(A, B)]
Преобразует этот итерируемый набор в список.
Примечание: не завершится для коллекций бесконечного размера.
- returns
список, содержащий все элементы этого итерируемого набора.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def toMap[T, U]: collection.Map[T, U]
Преобразует эту изменяемую карту в карту. Этот метод недоступен, если элементы не являются членами Tuple2, при этом каждый ((T, U)) становится парой ключ-значение в карте. Повторяющиеся ключи будут перезаписаны последующими ключами: если это неупорядоченная коллекция, какой ключ находится в результирующей карте, не определено.
- returns
карта типа
immutable.Map[T, U], содержащая все пары ключ/значение типа(T, U)этой изменяемой карты.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def toParArray: ParArray[T]
- Неявный
- Этот член добавлен неявным преобразованием из MapProxy[A, B] в CollectionsHaveToParArray[MapProxy[A, B], T] выполненным методом CollectionsHaveToParArray в scala.collection.parallel. Это преобразование произойдет только в том случае, если неявное значение типа (MapProxy[A, B]) ⇒ GenTraversableOnce[T] находится в области видимости.
- Definition Classes
- CollectionsHaveToParArray
def toSeq: collection.Seq[(A, B)]
Преобразует это коллекцию обхода в последовательность. Как и toIterable, она ленивая в этой реализации по умолчанию, так как эта TraversableOnce может быть ленивой и невычисленной.
Примечание: не завершится для бесконечных коллекций.
- returns
последовательность, содержащая все элементы этой коллекции обхода.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def toSet[B >: (A, B)]: immutable.Set[B]
Преобразует эту коллекцию обхода в множество.
Примечание: не завершится для бесконечных коллекций.
- returns
множество, содержащее все элементы этой коллекции обхода.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def toStream: Stream[(A, B)]
Преобразует эту коллекцию обхода в поток.
- returns
поток, содержащий все элементы этой коллекции обхода.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableOnce
def toString(): String
Возвращает строковое представление объекта.
Представление по умолчанию зависит от платформы.
- returns
строковое представление объекта.
def toTraversable: collection.Traversable[(A, B)]
Преобразует эту коллекцию обхода в неуказанную Traversable. Вернет ту же коллекцию, если этот экземпляр уже Traversable.
Примечание: не завершится для бесконечных коллекций.
- returns
Traversable, содержащая все элементы этой коллекции обхода.
- Definition Classes
- TraversableProxyLike → TraversableLike → TraversableOnce → GenTraversableOnce
def toVector: Vector[(A, B)]
Преобразует эту коллекцию обхода или итератор в вектор.
Примечание: не завершится для бесконечных коллекций.
- returns
вектор, содержащий все элементы этой коллекции обхода или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def transform(f: (A, B) ⇒ B): MapProxy.this.type
Применяет функцию преобразования ко всем значениям, содержащимся в этой карте. Функция преобразования генерирует новые значения из существующих ключей и сопутствующих им значений.
- f
преобразование для применения
- returns
сама карта.
- Definition Classes
- MapLike
def transpose[B](implicit asTraversable: ((A, 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, 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, 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: B): Unit
Добавляет новую пару ключ/значение в эту карту. Если в карте уже есть сопоставление для ключа, оно будет перезаписано новым значением.
- key
Ключ для обновления
- value
Новое значение
- Definition Classes
- MapLike
def updated[B1 >: B](key: A, value: B1): MapProxy[A, B1]
Создает новую карту, полученную путем обновления этой карты с заданной парой ключ/значение.
- key
ключ
- value
значение
- returns
Новая карта с добавленным новым сопоставлением ключ/значение в эту карту.
- Definition Classes
- MapProxy → MapProxyLike → MapLike → MapLike → GenMap
def values: collection.Iterable[B]
Собрать все значения этой карты в итерабельное множество.
- returns
значения этой карты в виде итерабельного множества.
- Definition Classes
- MapProxyLike → MapLike → GenMapLike
def valuesIterator: Iterator[B]
Создаёт итератор для всех значений в этой карте.
- returns
итератор по всем значениям, связанным с некоторым ключом в этой карте.
- Definition Classes
- MapProxyLike → MapLike → GenMapLike
def view(from: Int, until: Int): IterableView[(A, B), Map[A, B]]
Создает нестрогий вид среза этого итерируемого множества.
Примечание: разница между view и slice в том, что view создает представление текущего итерируемого множества, а slice создает новое итерируемое множество.
Примечание: view(from, to) эквивалентно view.slice(from, to)
Примечание: может возвращать разные результаты для разных запусков, если тип базового множества не упорядочен.
- from
индекс первого элемента представления
- until
индекс элемента, следующего за представлением
- returns
нестрогий вид среза этого итерируемого множества, начинающийся с индекса
fromи продолжающийся до (но не включая) индексаuntil.
- Definition Classes
- IterableProxyLike → TraversableProxyLike → IterableLike → TraversableLike
def view: IterableView[(A, B), Map[A, B]]
Создаёт нестрогую (non-strict) просмотрную коллекцию этого итерируемого объекта.
- returns
нестрогую (non-strict) просмотрную коллекцию этого итерируемого объекта.
- Определяющие классы
- IterableProxyLike → TraversableProxyLike → IterableLike → TraversableLike
final def wait(): Unit
- Определяющие классы
- AnyRef
- Аннотации
- @throws( ... )
final def wait(arg0: Long, arg1: Int): Unit
- Определяющие классы
- AnyRef
- Аннотации
- @throws( ... )
final def wait(arg0: Long): Unit
def withDefault(d: (A) ⇒ B): Map[A, B]
Та же карта с заданной функцией по умолчанию.
Вызов методов преобразования (например, map) не сохранит значение по умолчанию.
- d
функция, сопоставляющая ключи со значениями, используемая для отсутствующих ключей
- returns
обёртка карты со значением по умолчанию
- Определяющие классы
- Map
def withDefaultValue(d: B): Map[A, B]
Та же карта с заданным значением по умолчанию.
Вызов методов преобразования (например, map) не сохранит значение по умолчанию.
- d
значение по умолчанию, используемое для отсутствующих ключей
- returns
обёртка карты со значением по умолчанию
- Определяющие классы
- Map
def withFilter(p: ((A, B)) ⇒ Boolean): FilterMonadic[(A, B), Map[A, B]]
Создаёт нестрогий фильтр этой итерируемой коллекции.
Примечание: разница между c filter p и c withFilter p в том, что первый создаёт новую коллекцию, а второй только ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- p
предикат для проверки элементов.
- returns
объект класса
WithFilter, который поддерживаетmap,flatMap,foreach, иwithFilterоперации. Все эти операции применяются к тем элементам этой итерируемой коллекции, которые удовлетворяют предикатуp.
- Определяющие классы
- TraversableLike → FilterMonadic
def zip[B](that: GenIterable[B]): Map[(A, B)]
Возвращает карту, созданную из этой карты и другой итерируемой коллекции, комбинируя соответствующие элементы попарно. Если одна из коллекций длиннее другой, оставшиеся элементы игнорируются.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- B
тип второй половины возвращаемых пар
- that
Итерируемая коллекция, предоставляющая вторую половину каждой пары результата
- returns
новая карта, содержащая пары, состоящие из соответствующих элементов этой карты и
that. Длина возвращаемой коллекции — минимальная из длин этой карты иthat.
- Определяющие классы
- IterableProxyLike → IterableLike → GenIterableLike
def zipAll[B](that: collection.Iterable[B], thisElem: A, thatElem: B): Map[(A, B)]
Возвращает изменяемую карту, сформированную из этой изменяемой карты и другой итерируемой коллекции, комбинируя соответствующие элементы парами. Если одна из двух коллекций короче другой, для расширения более короткой коллекции до длины более длинной используются заполнители.
Примечание: могут быть получены разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- B
тип второй половины возвращаемых пар
- that
Итерируемая коллекция, предоставляющая вторую половину каждой пары результата
- thisElem
элемент, используемый для заполнения результата, если эта изменяемая карта короче
that.- thatElem
элемент, используемый для заполнения результата, если
thatкороче этой изменяемой карты.- returns
новая изменяемая карта, содержащая пары, состоящие из соответствующих элементов этой изменяемой карты и
that. Длина возвращаемой коллекции равна максимальной из длин этой изменяемой карты иthat. Если эта изменяемая карта корочеthat, значенияthisElemиспользуются для дополнения результата. Еслиthatкороче этой изменяемой карты, значенияthatElemиспользуются для дополнения результата.
- Definition Classes
- IterableProxyLike → IterableLike → GenIterableLike
def zipWithIndex: Map[(A, Int)]
Сцепляет эту изменяемую карту с ее индексами.
Примечание: могут быть получены разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- returns
Новая изменяемая карта, содержащая пары, состоящие из всех элементов этой изменяемой карты, сопоставленных с их индексом. Индексы начинаются с
0.
- Definition Classes
- IterableProxyLike → IterableLike → GenIterableLike
List("a", "b", "c").zipWithIndex = List(("a", 0), ("b", 1), ("c", 2))
def →[B](y: B): (MapProxy[A, B], B)
- Неявный
- Этот член добавлен неявным преобразованием из MapProxy[A, B] в ArrowAssoc[MapProxy[A, B]] с помощью метода ArrowAssoc в scala.Predef.
- Definition Classes
- ArrowAssoc
Затенённые неявные члены значения
def +(other: String): String
- Неявный
- Этот член добавлен неявным преобразованием из MapProxy[A, B] в any2stringadd[MapProxy[A, B]] с помощью метода any2stringadd в scala.Predef.
- Затенение
- Этот неявно унаследованный член затенён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:(mapProxy: any2stringadd[MapProxy[A, B]]).+(other)
- Определяющие классы
- any2stringadd
def filter(p: ((A, B)) ⇒ Boolean): TraversableOnce[(A, B)]
- Неявный
- Этот член добавлен неявным преобразованием из MapProxy[A, B] в MonadOps[(A, B)] с помощью метода MonadOps в scala.collection.TraversableOnce.
- Затенение
- Этот неявно унаследованный член затенён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:(mapProxy: MonadOps[(A, B)]).filter(p)
- Определяющие классы
- MonadOps
def flatMap[B](f: ((A, B)) ⇒ GenTraversableOnce[B]): TraversableOnce[B]
- Неявный
- Этот член добавлен неявным преобразованием из MapProxy[A, B] в MonadOps[(A, B)] с помощью метода MonadOps в scala.collection.TraversableOnce.
- Затенение
- Этот неявно унаследованный член затенён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:(mapProxy: MonadOps[(A, B)]).flatMap(f)
- Определяющие классы
- MonadOps
def map[B](f: ((A, B)) ⇒ B): TraversableOnce[B]
- Неявный
- Этот член добавлен неявным преобразованием из MapProxy[A, B] в MonadOps[(A, B)] с помощью метода MonadOps в scala.collection.TraversableOnce.
- Затенение
- Этот неявно унаследованный член затенён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:(mapProxy: MonadOps[(A, B)]).map(f)
- Определяющие классы
- MonadOps
def withFilter(p: ((A, B)) ⇒ Boolean): Iterator[(A, B)]
- Неявный
- Этот член добавлен неявным преобразованием из MapProxy[A, B] в MonadOps[(A, B)] с помощью метода MonadOps в scala.collection.TraversableOnce.
- Затенение
- Этот неявно унаследованный член затенён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:(mapProxy: MonadOps[(A, 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/MapProxy.html
Эта особенность реализует прокси для scala.collection.mutable.Map.
Она наиболее полезна для динамического составления настраиваемых абстракций карты с использованием объектной композиции и переадресации.
(С версии 2.11.0) Проксирование устарело из-за отсутствия использования и поддержки на уровне компилятора
1