Тракт scala.collection.MapFactoryDefaults
тракт MapFactoryDefaults[K, +V, +CC <: ([x, y] =>> IterableOps[(x, y), Iterable, Iterable[(x, y)]]), +WithFilterCC <: ([x] =>> IterableOps[x, WithFilterCC, WithFilterCC[x]] & Iterable[x])] extends MapOps[K, V, CC, CC[K, V]] with IterableOps[(K, V), WithFilterCC, CC[K, V]]
Этот тракт предоставляет стандартные реализации для методов фабрики fromSpecific и newSpecificBuilder, которые необходимо уточнить при реализации типа коллекции, уточняющей типы параметров CC и C. Он используется для карт.
Обратите внимание, что в картах тип CC карты не совпадает с типом CC для базовой итерируемой коллекции (который фиксируется как Map в MapOps). Поэтому в этом тракте есть два параметра типа CC и WithFilterCC. Метод withFilter, унаследованный от IterableOps, переопределяется совместимой стандартной реализацией.
Стандартные реализации в этом тракте могут быть использованы в общем случае, когда CC[A] совпадает с C.
| Супертипы | |
|---|---|
| Известные подтипы | 41 тип |
Конкретные методы
Исходный код
переопределённый def empty: CC[K, V]
| Определяющие классы | IterableOps |
|---|
Исходный код
переопределённый защищённый def fromSpecific(coll: IterableOnce[(K, V)]): CC[K, V]
| Определяющие классы | IterableOps |
|---|
Исходный код
переопределённый защищённый def newSpecificBuilder: Builder[(K, V), CC[K, V]]
| Определяющие классы | IterableOps |
|---|
Исходный код
| Определяющие классы | IterableOps |
|---|
Унаследованные методы
Исходный код@inline
final def ++[B >: (K, V)](suffix: IterableOnce[B]): WithFilterCC[B]
Псевдоним для concat
| Унаследовано от | IterableOps |
|---|
Исходный код
def ++[V2 >: V](xs: IterableOnce[(K, V2)]): CC[K, V2]
Псевдоним для concat
| Унаследовано от | MapOps |
|---|
Исходный код@inline
Добавляет все элементы этой коллекции в строковый буфер. Записываемый текст состоит из строковых представлений (с учётом метода 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
| Параметры значений |
|
|---|---|
| Возвращаемое значение | строковый буфер |
| Унаследовано от | IterableOnceOps |
Исходный код@inline
Добавляет все элементы этой коллекции в строковый буфер с помощью разделителя. Записываемый текст состоит из строковых представлений (с учётом метода 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
| Параметры значений |
|
|---|---|
| Возвращаемое значение | строковый буфер |
| Унаследовано от | IterableOnceOps |
Исходный код
переопределённый def addString(sb: StringBuilder, start: String, sep: String, end: String): StringBuilder
| Классы-определения | MapOps -> IterableOnceOps |
|---|---|
| Унаследовано от | MapOps |
Исходный код
Компонует данную частичную функцию с другой частичной функцией, которая применяется к результатам данной частичной функции.
Обратите внимание, что вызов isDefinedAt у полученной частичной функции может применить первую частичную функцию и выполнить её побочные эффекты. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения данной частичной функции, суженной другой частичной функцией, которая отображает аргументы |
| Унаследовано от | PartialFunction |
Исходный код
override def andThen[C](k: V => C): PartialFunction[K, C]
Компонует данную частичную функцию с функцией преобразования, которая применяется к результатам данной частичной функции.
Если тип функции во время выполнения является PartialFunction, то используется другой метод andThen (обратите внимание на его предостережения).
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения данной частичной функции, возможно суженной указанной функцией, которая отображает аргументы |
| Классы-определения | PartialFunction -> Function1 |
| Унаследовано от | PartialFunction |
Исходный код@throws(scala.throws.$lessinit$greater$default$1[scala.NoSuchElementException])
def apply(key: K): V
Возвращает значение, связанное с заданным ключом. Этот метод вызывает метод default карты, если нет сопоставления заданного ключа со значением. Если не переопределён, метод default выбрасывает NoSuchElementException.
| Параметры значения |
|
|---|---|
| Возвращает | значение, связанное с заданным ключом, или результат метода |
| Унаследовано от | MapOps |
Исходный код
override def applyOrElse[K1 <: K, V1 >: V](x: K1, default: K1 => V1): V1
| Классы-определения | MapOps -> PartialFunction |
|---|---|
| Унаследовано от | MapOps |
Исходный код
def collect[B](pf: PartialFunction[(K, V), B]): WithFilterCC[B]
| Унаследовано от | IterableOps |
|---|
Исходный код
def collect[K2, V2](pf: PartialFunction[(K, V), (K2, V2)]): CC[K2, V2]
Создаёт новую коллекцию, применяя частичную функцию ко всем элементам этой карты, для которых функция определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая карта, полученная путём применения данной частичной функции |
| Унаследовано от | MapOps |
Исходный код
Находит первый элемент в коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значения Option, содержащее результат применения pf к первому значению, для которого оно определено, или |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Исходный код
Компонует другую частичную функцию k с данной частичной функцией таким образом, что эта частичная функция применяется к результатам k.
Обратите внимание, что вызов isDefinedAt у полученной частичной функции может применить первую частичную функцию и выполнить её побочные эффекты. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения другой частичной функции, суженной данной частичной функцией, которая отображает аргументы |
| Унаследовано от | PartialFunction |
Исходный код@unspecialized
def compose[A](g: A => K): A => V
Компонует две инстанции Function1 в новую Function1, применяя данную функцию последней.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая функция |
| Унаследовано от | Function1 |
Исходный код
def concat[B >: (K, V)](suffix: IterableOnce[B]): WithFilterCC[B]
Возвращает новую итерируемую коллекцию, содержащую элементы левого операнда, за которыми следуют элементы правого операнда. Тип элемента итерируемой коллекции является наиболее специфическим суперклассом, охватывающим типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, которая содержит все элементы этой итерируемой коллекции, за которыми следуют все элементы |
| Унаследовано от | IterableOps |
Исходный код
def concat[V2 >: V](suffix: IterableOnce[(K, V2)]): CC[K, V2]
Возвращает новую карту, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элементов карты — это наиболее общий суперкласс, охватывающий типы элементов двух операндов.
| Параметры значения |
|
|---|---|
| Возвращает | новая карта, которая содержит все элементы этой карты, за которыми следуют все элементы |
| Унаследовано от | MapOps |
Источник
Проверяет, содержит ли эта карта привязку для ключа.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | MapOps |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start не более чем len элементами из этого набора.
Копирование прекращается, когда либо все элементы этого набора были скопированы, либо достигнут конец массива, либо len элементов были скопированы.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода необходимо отказаться от итератора, на котором он был вызван. Использование итератора в дальнейшем не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями из этого набора.
Копирование прекращается, когда либо все элементы этого набора были скопированы, либо достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода необходимо отказаться от итератора, на котором он был вызван. Использование итератора в дальнейшем не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями из этого набора.
Копирование прекращается, когда либо все элементы этого набора были скопированы, либо достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода необходимо отказаться от итератора, на котором он был вызван. Использование итератора в дальнейшем не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, соответствует ли каждый элемент итератора этого набора соответствующему элементу другого набора, удовлетворяя условию предиката.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Исходный код
Подсчитывает количество элементов в коллекции, удовлетворяющих предикату.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Исходный код@throws(scala.throws.$lessinit$greater$default$1[scala.NoSuchElementException])
def default(key: K): V
Определяет вычисление значения по умолчанию для карты, возвращаемое, когда ключ не найден. Реализованный здесь метод генерирует исключение, но может быть переопределён в подклассах.
| Параметры значения |
|
|---|---|
| Унаследовано от | MapOps |
Исходный код
| Унаследовано от | IterableOps |
|---|
Исходный код
Выбирает все элементы, кроме последних n.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, кроме последних |
| Унаследовано от | IterableOps |
Исходный код
| Унаследовано от | IterableOps |
|---|
Исходный код
def elementWise: ElementWiseExtractor[K, V]
Возвращает объект-экстрактор с методом unapplySeq, который извлекает каждый элемент данных последовательности.
| Пример |
val firstChar: String => Option[Char] = _.headOption
Seq("foo", "bar", "baz") match {
case firstChar.unlift.elementWise(c0, c1, c2) =>
println(s"$c0, $c1, $c2") // Output: f, b, b
}
|
|---|---|
| Унаследовано от | PartialFunction |
Источник
Проверяет, выполняется ли предикат хотя бы для одного элемента в этом наборе.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
| Унаследовано от | IterableOps |
|---|
Источник
| Унаследовано от | IterableOps |
|---|
Источник
Находит первый элемент в коллекции, удовлетворяющий предикату, если таковой имеется.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа option, содержащее первый элемент в коллекции, удовлетворяющий |
| Унаследовано от | IterableOnceOps |
Источник
def flatMap[B](f: (K, V) => IterableOnce[B]): WithFilterCC[B]
| Унаследовано от | IterableOps |
|---|
Источник
def flatMap[K2, V2](f: (K, V) => IterableOnce[(K2, V2)]): CC[K2, V2]
Создаёт новую карту, применяя функцию ко всем элементам этой карты и используя элементы полученных коллекций.
| Параметры значения |
|
|---|---|
| Возвращает | новая карта, полученная путём применения заданной функции, возвращающей коллекцию, к каждому элементу этой карты и конкатенации результатов. |
| Унаследовано от | MapOps |
Источник
def flatten[B](implicit asIterable: (K, V) => IterableOnce[B]): WithFilterCC[B]
| Унаследовано от | IterableOps |
|---|
Источник
def fold[A1 >: (K, V)](z: A1)(op: (A1, A1) => A1): A1
Складывает элементы этой коллекции, используя указанный ассоциативный бинарный оператор. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективного порядка обхода.
Порядок выполнения операций над элементами не определён и может быть недетерминированным.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат применения оператора сжатия |
| Унаследовано от | IterableOnceOps |
Источник
def foldLeft[B](z: B)(op: (B, (K, V)) => B): B
Применяет бинарный оператор к начальному значению и всем элементам этой коллекции слева направо.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Источник
def foldRight[B](z: B)(op: ((K, V), B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции и начальному значению, идя справа налево.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции упорядочен или оператор является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, выполняется ли предикат для всех элементов этой коллекции.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Применяет f к каждому элементу для побочных эффектов. Примечание: параметр [U] необходим для улучшения вывода типов scalac.
| Унаследовано от | IterableOnceOps |
|---|
Источник
def foreachEntry[U](f: (K, V) => U): Unit
Применяет f к каждой паре ключ/значение для побочных эффектов. Примечание: параметр [U] необходим для улучшения вывода типов scalac.
| Унаследовано от | MapOps |
|---|
Source
Возвращает значение, связанное с ключом, в виде необязательного значения.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | объект Option, содержащий значение, связанное с |
| Унаследовано от | MapOps |
Source
def getOrElse[V1 >: V](key: K, default: => V1): V1
Возвращает значение, связанное с ключом, или значение по умолчанию, если ключ не содержится в словаре.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | значение, связанное с |
| Унаследовано от | MapOps |
Source
Разделяет эту коллекцию итерируемых элементов на словарь итерируемых коллекций по некоторой функции-дискриминатору.
Примечание: Даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно вычисляться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение |
Словарь, в котором ключи сопоставлены с итерируемыми коллекциями, и при этом выполняется следующее условие: (xs groupBy f)(k) = xs filter (x => f(x) == k) То есть, каждый ключ |
| Унаследовано от | IterableOps |
Source
Разделяет эту итерируемую коллекцию на словарь итерируемых коллекций в соответствии с функцией-дискриминатором key. Каждый элемент в группе преобразуется в значение типа B с помощью функции value.
Это эквивалентно groupBy(key).mapValues(_.map(f)), но более эффективно.
case class User(name: String, age: Int) def namesByAge(users: Seq[User]): Map[Int, Seq[String]] = users.groupMap(_.age)(_.name)
Примечание: Даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно вычисляться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Унаследовано от | IterableOps |
Source
def groupMapReduce[K, B](key: (K, V) => K)(f: (K, V) => B)(reduce: (B, B) => B): Map[K, B]
Разделяет эту итерируемую коллекцию на словарь в соответствии с функцией-дискриминатором key. Все значения, имеющие одинаковый дискриминатор, затем преобразуются функцией f и затем сводятся к одному значению с помощью функции reduce.
Это эквивалентно groupBy(key).mapValues(_.map(f).reduce(reduce)), но более эффективно.
def occurrences[A](as: Seq[A]): Map[A, Int] = as.groupMapReduce(identity)(_ => 1)(_ + _)
Примечание: Даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно вычисляться.
| Унаследовано от | IterableOps |
|---|
Source
Разделяет элементы на итерируемые коллекции фиксированного размера.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | Итератор, возвращающий итерируемые коллекции размером |
| См. также | scala.collection.Iterator, метод |
| Унаследовано от | IterableOps |
Source
def head: (K, V)
Выбирает первый элемент этого итерируемого набора.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Возвращает | первый элемент этого итерируемого набора. |
|---|---|
| Исключения |
|
| Унаследовано от | IterableOps |
Source
def headOption: Option[(K, V)]
Необязательно выбирает первый элемент.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Возвращает | первый элемент этого итерируемого набора, если он непустой, |
|---|---|
| Унаследовано от | IterableOps |
Source
def init: CC[K, V]
Начальная часть набора без последнего элемента.
Примечание: Даже при применении к представлению или ленивому набору, элементы всегда будут форсированы.
| Унаследовано от | IterableOps |
|---|
Source
Перебирает начальные части этого итерируемого набора. Первое значение будет этим итерируемым набором, а последнее — пустым итерируемым набором, а промежуточные значения будут результатом последовательных применений init.
Примечание: Даже при применении к представлению или ленивому набору, элементы всегда будут форсированы.
| Возвращает | итератор по всем начальным частям этого итерируемого набора |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Source
def isDefinedAt(key: K): Boolean
Проверяет, содержит ли эта карта привязку для ключа. Этот метод, который реализует абстрактный метод тракта PartialFunction, эквивалентен contains.
| Параметры |
|
|---|---|
| Возвращает |
|
| Унаследовано от | MapOps |
Source
Проверяет, пуст ли набор.
Примечание: Реализации в подклассах, которые не являются многократно проходимыми, должны позаботиться о том, чтобы не потреблять элементы, когда isEmpty вызывается.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Source
override def isTraversableAgain: Boolean
| Определяющие классы | IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | IterableOps |
Source
def iterableFactory: IterableFactory[WithFilterCC]
Объект-компаньон этого итерируемого набора, предоставляющий различные методы создания экземпляров.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Унаследовано от | IterableOps |
Source
Итератор может быть использован только один раз
| Унаследовано от | IterableOnce |
|---|
Source
Собирает все ключи этой карты в множество.
| Возвращает | множество, содержащее все ключи этой карты. |
|---|---|
| Унаследовано от | MapOps |
Source
Возвращает Stepper для ключей этой карты. См. метод stepper.
| Унаследовано от | MapOps |
|---|
Source
Собирает все ключи этой карты в итерируемую коллекцию.
| Возвращает | ключи этой карты в качестве итерируемого набора. |
|---|---|
| Унаследовано от | MapOps |
Source
def keysIterator: Iterator[K]
Создает итератор для всех ключей.
| Возвращает | итератор по всем ключам. |
|---|---|
| Унаследовано от | MapOps |
Source
| Возвращает | Количество элементов в этой коллекции, если оно может быть вычислено недорого, иначе -1. Недорого обычно означает: не требующее обхода коллекции. |
|---|---|
| Унаследовано от | IterableOnce |
Source
def last: (K, V)
Выбирает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.
| Возвращает | Последний элемент этой итерируемой коллекции. |
|---|---|
| Исключение |
|
| Унаследовано от | IterableOps |
Source
def lastOption: Option[(K, V)]
Возвращает необязательный последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.
| Возвращает | последний элемент этой итерируемой коллекции, если он существует, |
|---|---|
| Унаследовано от | IterableOps |
Source
Преобразует эту частичную функцию в обычную функцию, возвращающую необязательный результат.
| Возвращает | функцию, принимающую аргумент |
|---|---|
| См. также | Function.unlift |
| Унаследовано от | PartialFunction |
Source
def map[B](f: (K, V) => B): WithFilterCC[B]
| Унаследовано от | IterableOps |
|---|
Source
def map[K2, V2](f: (K, V) => (K2, V2)): CC[K2, V2]
Строит новую карту, применяя функцию ко всем элементам этой карты.
| Параметры |
|
|---|---|
| Возвращает | новая карта, полученная в результате применения заданной функции |
| Унаследовано от | MapOps |
Source
def mapFactory: MapFactory[CC]
Объект-компаньон этой карты, предоставляющий различные методы создания экземпляров.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Унаследовано от | MapOps |
Source
Находит наибольший элемент.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращает | наибольший элемент этой коллекции относительно упорядочения |
| Исключение |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращает | первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно упорядочения |
| Исключение |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее первый элемент этого набора с наибольшим значением, измеренным функцией f относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наибольший элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее наибольший элемент этого набора относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | наименьший элемент этого набора относительно порядка |
| Исключение |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который даёт наименьшее значение, измеренное функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этого набора с наименьшим значением, измеренным функцией f относительно порядка |
| Исключение |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который даёт наименьшее значение, измеренное функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее первый элемент этого набора с наименьшим значением, измеренным функцией f относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа option, содержащее наименьший элемент этой коллекции относительно заданного упорядочения |
| Унаследовано от | IterableOnceOps |
Источник@inline
Отображает все элементы этой коллекции в строке.
Делегирует метод addString, который может быть переопределён.
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
|---|---|
| Унаследовано от | IterableOnceOps |
Источник@inline
Отображает все элементы этой коллекции в строке, используя разделитель.
Делегирует метод addString, который может быть переопределён.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этой коллекции в строке, используя начальную, конечную и разделительные строки.
Делегирует метод addString, который может быть переопределён.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
Проверяет, не пуста ли коллекция.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Комбинирует эту частичную функцию с резервной частичной функцией, которая применяется в случаях, когда эта частичная функция не определена.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | частичная функция, область определения которой является объединением областей определения этой частичной функции и |
| Inherited from | PartialFunction |
Source
Пара из, во-первых, всех элементов, удовлетворяющих предикату p, и, во-вторых, всех элементов, которые не удовлетворяют ему. Интересно тем, что разделяет коллекцию на две части.
Реализация по умолчанию здесь требует двукратного обхода коллекции. Строгие коллекции имеют переопределённую версию partition в StrictOptimizedIterableOps, которая требует только одного обхода.
| Inherited from | IterableOps |
|---|
Source
def partitionMap[A1, A2](f: (K, V) => Either[A1, A2]): (WithFilterCC[A1], WithFilterCC[A2])
Применяет функцию f к каждому элементу итерируемой коллекции и возвращает пару итерируемых коллекций: первая содержит те значения, которые возвращает f и были обернуты в scala.util.Left, а вторая — те, которые были обернуты в scala.util.Right.
Пример:
val xs = Iterable(1, "one", 2, "two", 3, "three") partitionMap {
case i: Int => Left(i)
case s: String => Right(s)
}
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | пара итерируемых коллекций: первая содержит те значения, которые возвращает |
| Inherited from | IterableOps |
Source
Перемножает элементы этой коллекции.
Примечание: не завершится для коллекций бесконечного размера.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | произведение всех элементов этой коллекции относительно оператора |
| Inherited from | IterableOnceOps |
Source
def reduce[B >: (K, V)](op: (B, B) => B): B
Сводит элементы этой коллекции с использованием заданного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | Результат применения оператора reduce |
| Throws |
|
| Inherited from | IterableOnceOps |
Source
def reduceLeft[B >: (K, V)](op: (B, (K, V)) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен, или оператор не ассоциативен и коммутативен.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | результат вставки |
| Throws |
|
| Inherited from | IterableOnceOps |
Source
def reduceLeftOption[B >: (K, V)](op: (B, (K, V)) => B): Option[B]
Возможно применяет бинарный оператор ко всем элементам этой коллекции слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен, или оператор не ассоциативен и коммутативен.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | значение опциона, содержащее результат |
| Inherited from | IterableOnceOps |
Source
def reduceOption[B >: (K, V)](op: (B, B) => B): Option[B]
Сводит элементы этой коллекции, если они есть, с использованием заданного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | Значение опциона, содержащее результат применения оператора reduce |
| Inherited from | IterableOnceOps |
Source
def reduceRight[B >: (K, V)](op: ((K, V), B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен, или оператор не ассоциативен и коммутативен.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | результат вставки |
| Throws |
|
| Inherited from | IterableOnceOps |
Source
def reduceRightOption[B >: (K, V)](op: ((K, V), B) => B): Option[B]
Возможно применяет бинарный оператор ко всем элементам этой коллекции справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен, или оператор не ассоциативен и коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение опционального типа, содержащее результат |
| Унаследовано от | IterableOnceOps |
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
Компонует данную частичную функцию с функцией действия, которая применяется к результатам этой частичной функции. Функция действия вызывается только для побочных эффектов; её результат игнорируется.
Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно
if(pf isDefinedAt x) { action(pf(x)); true } else false
за исключением того, что runWith реализована через applyOrElse и, следовательно, потенциально более эффективна. Использование runWith предотвращает двойную оценку обработчиков шаблонов и условий для литералов частичных функций.
| Параметры значения |
|
|---|---|
| Возвращает | функция, которая отображает аргументы |
| См. также |
|
| Унаследовано от | PartialFunction |
Источник
def scan[B >: (K, V)](z: B)(op: (B, B) => B): WithFilterCC[B]
Вычисляет префиксное сканирование элементов коллекции.
Примечание: Нейтральный элемент z может применяться более одного раза.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, содержащая префиксное сканирование элементов в этой итерируемой коллекции |
| Унаследовано от | IterableOps |
Источник
def scanLeft[B](z: B)(op: (B, (K, V)) => B): WithFilterCC[B]
| Унаследовано от | IterableOps |
|---|
Источник
def scanRight[B](z: B)(op: ((K, V), B) => B): WithFilterCC[B]
Создает коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Голова коллекции — это последний кумулятивный результат.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен.
Примечание: даже при применении к просмотру или ленивой коллекции, он всегда будет принудительно выполнять элементы.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | коллекция с промежуточными результатами |
| Унаследовано от | IterableOps |
Источник
Размер этой коллекции.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Возвращает | количество элементов в этой коллекции. |
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Сравнивает размер этой итерируемой коллекции с размером другой Iterable.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < that.size x == 0 if this.size == that.size x > 0 if this.size > that.size Метод, как он реализован здесь, не вызывает |
| Унаследовано от | IterableOps |
Источник
Сравнивает размер этой итерируемой коллекции со значением теста.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < otherSize x == 0 if this.size == otherSize x > 0 if this.size > otherSize Метод, как он реализован здесь, не вызывает |
| См. также | |
| Унаследовано от | IterableOps |
Источник@inline
final def sizeIs: SizeCompareOps
Возвращает значение класса, содержащее операции для сравнения размера этой итерируемой коллекции со значением теста.
Эти операции реализованы в терминах sizeCompare(Int) и позволяют использовать более читаемые выражения:
this.sizeIs < size // this.sizeCompare(size) < 0 this.sizeIs <= size // this.sizeCompare(size) <= 0 this.sizeIs == size // this.sizeCompare(size) == 0 this.sizeIs != size // this.sizeCompare(size) != 0 this.sizeIs >= size // this.sizeCompare(size) >= 0 this.sizeIs > size // this.sizeCompare(size) > 0
| Унаследовано от | IterableOps |
|---|
Источник
| Унаследовано от | IterableOps |
|---|
Источник
Группирует элементы в блоки фиксированного размера, передавая "скользящее окно" по ним (в отличие от их разбиения, как это делается в grouped.)
Возвращаемый итератор будет пустым при вызове на пустую коллекцию. Последний элемент, который производит итератор, может быть меньше размера окна, когда исходная коллекция не исчерпывается окном до его окончания, и последний элемент не пропускается шагом перед ним.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, производящий итерируемые коллекции размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Группирует элементы в блоки фиксированного размера, передавая "скользящее окно" по ним (в отличие от их разбиения, как это делается в grouped.)
Пустой коллекцией возвращается пустой итератор, а непустая коллекция, содержащая меньше элементов, чем размер окна, возвращает итератор, который произведёт исходную коллекцию как единственный элемент.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, производящий итерируемые коллекции размером |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Источник
| Унаследовано от | IterableOps |
|---|
Источник
| Классы-определения | IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | IterableOps |
Источник
Возвращает scala.collection.Stepper для элементов этой коллекции.
Stepper позволяет создавать Java-поток для работы с коллекцией, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, Stepper может использоваться как итератор, который не упаковывает элементы.
Неявный параметр scala.collection.StepperShape определяет тип возвращаемого Stepper в соответствии с типом элементов этой коллекции.
Для коллекций
Int,Short,ByteилиChar, возвращается scala.collection.IntStepperДля коллекций
DoubleилиFloat, возвращается scala.collection.DoubleStepperДля коллекций
Longвозвращается scala.collection.LongStepperДля любого другого типа элементов возвращается scala.collection.AnyStepper
Обратите внимание, что этот метод переопределён в подклассах, и тип возвращаемого значения уточняется до S with EfficientSplit, например, scala.collection.IndexedSeqOps.stepper. Для Steppers, помеченных scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Steppers могут быть преобразованы только в последовательные потоки.
| Унаследовано от | IterableOnce |
|---|
Источник
Суммирует элементы этой коллекции.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | сумма всех элементов этой коллекции относительно оператора |
| Унаследовано от | IterableOnceOps |
Источник
def tail: CC[K, V]
Остальная часть коллекции без её первого элемента.
| Унаследовано от | IterableOps |
|---|
Источник
Итерируется по хвостам этой итерируемой коллекции. Первое значение — это эта итерируемая коллекция, а последнее — пустая итерируемая коллекция, промежуточные значения — результаты последовательного применения tail.
| Возвращает | итератор по всем хвостам этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Источник
| Унаследовано от | IterableOps |
|---|
Источник
Выбирает последние n элементов.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемая коллекция, содержащая только последние |
| Унаследовано от | IterableOps |
Источник
Берёт наибольший префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | наибольший префикс этой итерируемой коллекции, элементы которого удовлетворяют предикату |
| Унаследовано от | IterableOps |
Источник
override def tapEach[U](f: (K, V) => U): CC[K, V]
| Классы-определения | IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | IterableOps |
Источник
С помощью фабрики коллекций factory, преобразуйте эту коллекцию в соответствующее представление для текущего типа элемента A. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
| Унаследовано от | IterableOnceOps |
|---|
Источник
Преобразовать коллекцию в массив.
Примечание к реализации: НЕ вызывайте Array.from из этого метода.
| Унаследовано от | IterableOnceOps |
|---|
Источник@inline
| Унаследовано от | IterableOnceOps |
|---|
Источник
def toIndexedSeq: IndexedSeq[(K, V)]
| Inherited from | IterableOnceOps |
|---|
Source
| Inherited from | IterableOnceOps |
|---|
Source
| Inherited from | IterableOnceOps |
|---|
Source
| Returns | This collection as a |
|---|---|
| Inherited from | IterableOnceOps |
Source
| Inherited from | IterableOnceOps |
|---|
Source
| Definition Classes | Function1 -> Any |
|---|---|
| Inherited from | Function1 |
Source
| Inherited from | IterableOnceOps |
|---|
Source
Транспонирует эту итерируемую коллекцию итерируемых коллекций в итерируемую коллекцию итерируемых коллекций.
Тип результирующей коллекции будет определяться статическим типом итерируемой коллекции. Например:
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))
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычислены.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | двумерная итерируемая коллекция итерируемых коллекций, у которой n-я строка является n-м столбцом этой итерируемой коллекции. |
| Throws |
|
| Inherited from | IterableOps |
Source
Пытается извлечь B из A в выражении сопоставления с образцом.
| Inherited from | PartialFunction |
|---|
Source
def unzip[A1, A2](implicit asPair: (K, V) => (A1, A2)): (WithFilterCC[A1], WithFilterCC[A2])
Преобразует эту итерируемую коллекцию пар в две коллекции первой и второй половины каждой пары.
val xs = Iterable(
(1, "one"),
(2, "two"),
(3, "three")).unzip
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | пара итерируемых коллекций, содержащая первую, соответственно вторую половину каждой пары элементов этой итерируемой коллекции. |
| Inherited from | IterableOps |
Source
def unzip3[A1, A2, A3](implicit asTriple: (K, V) => (A1, A2, A3)): (WithFilterCC[A1], WithFilterCC[A2], WithFilterCC[A3])
Преобразует эту итерируемую коллекцию троек в три коллекции первого, второго и третьего элемента каждой тройки.
val xs = Iterable(
(1, "one", '1'),
(2, "two", '2'),
(3, "three", '3')).unzip3
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three),
// Iterable(1, 2, 3))
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | тройка итерируемых коллекций, содержащая первый, второй, соответственно третий элемент каждой тройки элементов этой итерируемой коллекции. |
| Inherited from | IterableOps |
Source
Возвращает Stepper для значений этой карты. См. метод stepper.
| Inherited from | MapOps |
|---|
Source
Собраны все значения этой карты в итерируемую коллекцию.
| Returns | значения этой карты в виде итерируемой коллекции. |
|---|---|
| Inherited from | MapOps |
Source
def valuesIterator: Iterator[V]
Создает итератор для всех значений в этой карте.
| Returns | итератор по всем значениям, связанным с некоторым ключом в этой карте. |
|---|---|
| Inherited from | MapOps |
Source
| Definition Classes | MapOps -> IterableOps |
|---|---|
| Inherited from | MapOps |
Source
def zip[B](that: IterableOnce[B]): WithFilterCC[((K, V), B)]
Возвращает итерируемую коллекцию, образованную из этой итерируемой коллекции и другой итерируемой коллекции, объединяя соответствующие элементы в пары. Если одна из двух коллекций длиннее другой, её оставшиеся элементы игнорируются.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | новая итерируемая коллекция, содержащая пары, состоящие из соответствующих элементов этой итерируемой коллекции и |
| Inherited from | IterableOps |
Source
Возвращает итерируемую коллекцию, образованную из этой итерируемой коллекции и другой итерируемой коллекции путем объединения соответствующих элементов парами. Если одна из двух коллекций короче другой, используется элемент-заполнитель для расширения более короткой коллекции до длины более длинной.
| Параметры значения |
|
|---|---|
| Возвращает | новая коллекция типа |
| Унаследовано от | IterableOps |
Исходный код
def zipWithIndex: WithFilterCC[((K, V), Int)]
| Унаследовано от | IterableOps |
|---|
© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/collection/MapFactoryDefaults.html