Spec-Zone.ru › Scala 3.1

Класс scala.collection.mutable.ListMap

Объект-компаньон • Исходный код

@deprecated("Используйте immutable.ListMap, присвоенный переменной, вместо mutable.ListMap", "2.13.0")
class ListMap[K, V] extends AbstractMap[K, V] with MapOps[K, V, ListMap, ListMap[K, V]] with StrictOptimizedIterableOps[(K, V), Iterable, ListMap[K, V]] with StrictOptimizedMapOps[K, V, ListMap, ListMap[K, V]] with MapFactoryDefaults[K, V, ListMap, Iterable] with DefaultSerializable

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

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

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

V

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

Устарело
Супертипы
30 типов
интерфейс DefaultSerializable
интерфейс Serializable
интерфейс StrictOptimizedMapOps[K, V, ListMap, ListMap[K, V]]
интерфейс StrictOptimizedIterableOps[(K, V), Iterable, ListMap[K, V]]
класс AbstractMap[K, V]
интерфейс Map[K, V]
интерфейс MapOps[K, V, ListMap, ListMap[K, V]]
интерфейс Shrinkable[K]
интерфейс Builder[(K, V), ListMap[K, V]]
интерфейс Growable[(K, V)]
интерфейс Clearable
интерфейс Cloneable[ListMap[K, V]]
интерфейс Cloneable
интерфейс Iterable[(K, V)]
класс AbstractMap[K, V]
интерфейс Map[K, V]
интерфейс Equals
интерфейс MapFactoryDefaults[K, V, ListMap, Iterable]
интерфейс MapOps[K, V, ListMap, ListMap[K, V]]
интерфейс PartialFunction[K, V]
интерфейс K => V
класс AbstractIterable[(K, V)]
интерфейс Iterable[(K, V)]
интерфейс IterableFactoryDefaults[(K, V), Iterable]
интерфейс IterableOps[(K, V), Iterable, ListMap[K, V]]
интерфейс IterableOnceOps[(K, V), Iterable, ListMap[K, V]]
интерфейс IterableOnce[(K, V)]
класс Object
интерфейс Matchable
класс Any

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

Исходный код
final override def addOne(kv: (K, V)): ListMap[K, V]

Классы-предки Growable

Исходный код
final override def clear(): Unit

Классы-предки MapOps -> Builder -> Clearable

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

Исходный код
override def isEmpty: Boolean

Классы-предки IterableOnceOps

Исходный код
def iterator: Iterator[(K, V)]

Исходный код
override def knownSize: Int

Классы-предки MapOps -> Growable -> IterableOnce

Исходный код
override def mapFactory: MapFactory[ListMap]

Классы-предки Map -> Map -> MapOps

Исходный код
final override def size: Int

Классы-предки IterableOnceOps

Исходный код
final override def subtractOne(key: K): ListMap[K, V]

Классы-предки Shrinkable

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

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

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

Наследуется от IterableOps

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

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

Наследуется от MapOps

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

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

Наследуется от Growable

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

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

Наследуется от Growable

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

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

Наследуется от Shrinkable

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

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

Наследуется от Shrinkable
END_OF_DOCUMENT_MARKER

Источник
def addAll(xs: IterableOnce[(K, V)]): ListMap[K, V]

Добавляет все элементы, полученные из IterableOnce, в эту изменяемую коллекцию.

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

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

Возвращает

саму изменяемую коллекцию.

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

Источник@inline
final def addString(b: StringBuilder): StringBuilder

Добавляет все элементы этой коллекции в строковый буфер. Текст, который будет записан, состоит из строковых представлений (в соответствии с методом toString) всех элементов этой коллекции без разделителя.

Пример:

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

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

scala> val h = a.addString(b)
h: StringBuilder = 1234
Параметры значения
b

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

Возвращает

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

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

Источник@inline
final def addString(b: StringBuilder, sep: String): StringBuilder

Добавляет все элементы этой коллекции в строковый буфер с использованием разделительной строки. Записанный текст состоит из строковых представлений (в соответствии с методом toString) всех элементов коллекции, разделенных строкой sep.

Пример:

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

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

scala> a.addString(b, ", ")
res0: StringBuilder = 1, 2, 3, 4
Параметры значения
b

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

sep

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

Возвращает

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

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

Источник
override def addString(sb: StringBuilder, start: String, sep: String, end: String): StringBuilder

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

Источник
def andThen[C](k: PartialFunction[V, C]): PartialFunction[K, C]

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

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

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

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

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

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

Возвращает

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

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

Источник
override def andThen[C](k: V => C): PartialFunction[K, C]

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

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

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

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

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

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

Возвращает

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

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

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

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

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

ключ

Возвращает

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

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

Источник
override def applyOrElse[K1 <: K, V1 >: V](x: K1, default: K1 => V1): V1

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

Источник
def canEqual(that: Any): Boolean

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

Источник
override def clone(): ListMap[K, V]

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

Источник
override def collect[B](pf: PartialFunction[(K, V), B]): Iterable[B]

Определения классов StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Унаследовано от StrictOptimizedIterableOps

Источник
override def collect[K2, V2](pf: PartialFunction[(K, V), (K2, V2)]): ListMap[K2, V2]

Определения классов StrictOptimizedMapOps -> MapOps
Унаследовано от StrictOptimizedMapOps

Источник
def collectFirst[B](pf: PartialFunction[(K, V), B]): Option[B]

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

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

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

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

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

Возвращает

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

Пример

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

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

Исходный код
def compose[R](k: PartialFunction[R, K]): PartialFunction[R, V]

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

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

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

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

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

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

Возвращает

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

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

Исходный код@unspecialized
def compose[A](g: A => K): A => V

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

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

тип, к которому можно применить функцию g

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

функция A => T1

Возвращает

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

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

Исходный код
def concat[B >: (K, V)](suffix: IterableOnce[B]): Iterable[B]

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

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

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

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

перебираемая коллекция для добавления.

Возвращает

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

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

Исходный код
override def concat[V2 >: V](suffix: IterableOnce[(K, V2)]): ListMap[K, V2]

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

Исходный код
def contains(key: K): Boolean

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

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

ключ

Возвращает

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

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

Исходный код
def copyToArray[B >: (K, V)](xs: Array[B], start: Int, len: Int): Int

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

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

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

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

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

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

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

start

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

xs

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

Возвращает

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

Примечание

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

Наследуется от IterableOnceOps

Источник@deprecatedOverriding("Это всегда должно перенаправлять на версию этого метода с 3 аргументами", since = "2.13.4")
def copyToArray[B >: (K, V)](xs: Array[B], start: Int): Int

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

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

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

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

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

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

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

xs

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

Возвращает

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

Примечание

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

Наследуется от IterableOnceOps

Источник@deprecatedOverriding("Это всегда должно перенаправлять на версию этого метода с 3 аргументами", since = "2.13.4")
def copyToArray[B >: (K, V)](xs: Array[B]): Int

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

Наследуется от IterableOnceOps

Источник
def corresponds[B](that: IterableOnce[B])(p: ((K, V), B) => Boolean): Boolean

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

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

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

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

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

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

that

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Унаследовано от 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

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

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

Источник
override def equals(o: Any): Boolean

Равенство карт реализуется с помощью метода поиска get. Этот метод возвращает true если

  • аргумент o является Map,

  • две карты имеют одинаковый размер, и

  • для каждой пары (key, value) в этой карте, other.get(key) == Some(value).

Реализация equals проверяет метод canEqual, поэтому подклассы Map могут сузить равенство до определенных типов карт. Реализации Map в стандартной библиотеке могут быть сравнены, их методы canEqual возвращают true.

Примечание: Метод equals учитывает законы равенства (симметрия, транзитивность) только если две карты используют одну и ту же функцию эквивалентности ключей в своей операции поиска. Например, операция эквивалентности ключей в scala.collection.immutable.TreeMap определяется её упорядочением. Сравнение TreeMap с HashMap приводит к неожиданным результатам, если ordering.equiv(k1, k2) (используемая для поиска в TreeMap отличается от k1 == k2 (используемой для поиска в HashMap).

scala> import scala.collection.immutable._
scala> val ord: Ordering[String] = _ compareToIgnoreCase _

scala> TreeMap("A" -> 1)(ord) == HashMap("a" -> 1)
val res0: Boolean = false

scala> HashMap("a" -> 1) == TreeMap("A" -> 1)(ord)
val res1: Boolean = true
Параметры значения
o

карта, с которой сравнивается эта карта

Возвращает

true если две карты равны в соответствии с описанием

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

key

ключ.

Возвращает

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

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

Исходный код
def getOrElseUpdate(key: K, op: => V): V

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

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

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

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

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

op

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

Возвращает

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

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

Исходный код
def groupBy[K](f: (K, V) => K): Map[K, ListMap[K, V]]

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

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

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

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

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

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

Возвращает

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

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

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

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

Исходный код
def groupMap[K, B](key: (K, V) => K)(f: (K, V) => B): Map[K, Iterable[B]]

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

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

case class User(name: String, age: Int)

def namesByAge(users: Seq[User]): Map[Int, Seq[String]] =
  users.groupMap(_.age)(_.name)

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

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

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

K

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

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

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

key

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

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

Исходный код
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

Исходный код
def grouped(size: Int): Iterator[ListMap[K, V]]

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

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

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

Возвращает

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

См. также

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

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

Исходный код
override def hashCode(): Int

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

Исходный код
def head: (K, V)

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

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

Возвращает

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

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

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

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

Исходный код
def headOption: Option[(K, V)]

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

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

Возвращает

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

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

Исходный код
def init: ListMap[K, V]

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

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

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

Исходный код
def inits: Iterator[ListMap[K, V]]

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

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

Возвращает

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

Пример

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

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

Исходный код
def isDefinedAt(key: K): Boolean

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

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

ключ

Возвращает

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

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

Исходный код
override def isTraversableAgain: Boolean

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

Исходный код
override def iterableFactory: IterableFactory[Iterable]

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

Исходный код
def keySet: Set[K]

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

Возвращает

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

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

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

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

Наследуется от MapOps

Источник
def keys: Iterable[K]

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

Возвращает

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

Наследуется от MapOps

Источник
def keysIterator: Iterator[K]

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

Возвращает

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

Наследуется от MapOps

Источник
def last: (K, V)

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

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

Возвращает

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

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

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

Наследуется от IterableOps

Источник
def lastOption: Option[(K, V)]

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

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

Возвращает

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

Наследуется от IterableOps

Источник
def lazyZip[B](that: Iterable[B]): LazyZip2[(K, V), B, ListMap[K, V]]

Аналогично zip, за исключением того, что элементы в каждой коллекции не потребляются до тех пор, пока над возвращенным LazyZip2 декоратором не вызывается строгая операция.

Вызовы lazyZip могут быть объединены для поддержки более высокого арности (до 4) без затрат на создание и деструктурирование промежуточных кортежей.

val xs = List(1, 2, 3)
val res = (xs lazyZip xs lazyZip xs lazyZip xs).map((a, b, c, d) => a + b + c + d)
// res == List(4, 8, 12)
Параметры типа
B

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

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

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

Возвращает

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

Наследуется от Iterable

Источник
def lift: K => Option[V]

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

Возвращает

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

См. также

Function.unlift

Наследуется от PartialFunction

Источник
override def map[B](f: (K, V) => B): Iterable[B]

Классы определений StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Наследуется от StrictOptimizedIterableOps

Источник
override def map[K2, V2](f: (K, V) => (K2, V2)): ListMap[K2, V2]

Классы определений StrictOptimizedMapOps -> MapOps
Наследуется от StrictOptimizedMapOps

Источник
def mapResult[NewTo](f: ListMap[K, V] => NewTo): Builder[(K, V), NewTo]

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

Наследуется от Builder

Источник
def mapValuesInPlace(f: (K, V) => V): ListMap[K, V]

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

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

применяемое преобразование

Возвращает

сама карта.

Наследуется от MapOps

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

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

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

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

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

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

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

Возвращает

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

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

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

Наследуется от IterableOnceOps

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

Наследуется от IterableOnceOps

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

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

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

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

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

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

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

f

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

Возвращает

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

Наследуется от IterableOnceOps

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

наименьший элемент этой коллекции по отношению к порядку ord.

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

Пример

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

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

Источник
final def mkString(start: String, sep: String, end: String): String

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

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

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

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

sep

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

start

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

Возвращает

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

Пример

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

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

Источник
override protected def newSpecificBuilder: Builder[(K, V), ListMap[K, V]]

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

Источник@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
def nonEmpty: Boolean

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

Возвращает

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

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

Источник
def orElse[A1 <: K, B1 >: V](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]

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

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

тип аргумента функции-заглушки

B1

тип результата функции-заглушки

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

функция-заглушка

Возвращает

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

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

Source
override def partition(p: (K, V) => Boolean): (ListMap[K, V], ListMap[K, V])

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

Source
override def partitionMap[A1, A2](f: (K, V) => Either[A1, A2]): (Iterable[A1], Iterable[A2])

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

value

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

class="attributes">
Параметры типа
B

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

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

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

Возвращает

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

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

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

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

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

class="attributes">
Параметры типа
B

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

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

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

Возвращает

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

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

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

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

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

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

class="attributes">
Параметры типа
B

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

class="attributes">
Параметры типа
B

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

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

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

Возвращает

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

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

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

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

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

ключ, который нужно удалить

Возвращает

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

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

Источник
def result(): ListMap[K, V]

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

Источник
protected def reversed: Iterable[(K, V)]

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

Источник
def runWith[U](action: V => U): K => Boolean

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

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

if(pf isDefinedAt x) { action(pf(x)); true } else false

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

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

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

Возвращает

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

См. также

applyOrElse.

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

Источник
def scan[B >: (K, V)](z: B)(op: (B, B) => B): Iterable[B]

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

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

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

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

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

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

z

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

Возвращает

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

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

Источник
override def scanLeft[B](z: B)(op: (B, (K, V)) => B): Iterable[B]

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

Источник
def scanRight[B](z: B)(op: ((K, V), B) => B): Iterable[B]

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

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

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

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

Пример:

List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
Параметры типа
B

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

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

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

z

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

Возвращает

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

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

Источник
def sizeCompare(that: Iterable[_]): Int

Сравнивает размер этой итерируемой коллекции с размером другой Iterable.

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

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

Возвращает

Значение x, где

x <  0       if this.size <  that.size
x == 0       if this.size == that.size
x >  0       if this.size >  that.size

Метод, как реализован здесь, не вызывает size напрямую; его время выполнения — O(this.size min that.size) вместо O(this.size + that.size). Метод должен быть переопределён, если вычисление size является дешёвым, а knownSize возвращает -1.

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

Источник
def sizeCompare(otherSize: Int): Int

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

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

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

Возвращает

Значение x, где

x <  0       if this.size <  otherSize
x == 0       if this.size == otherSize
x >  0       if this.size >  otherSize

Метод, как реализован здесь, не вызывает size напрямую; его время выполнения — O(size min otherSize) вместо O(size). Метод должен быть переопределен, если вычисление size является дешёвым, а knownSize возвращает -1.

См. также

sizeIs

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

Источник
final def sizeHint(coll: IterableOnce[_], delta: Int): Unit

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

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

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

delta

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

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

Источник
def sizeHint(size: Int): Unit

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

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

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

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

Источник
final def sizeHintBounded(size: Int, boundingColl: Iterable[_]): Unit

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

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

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

size

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

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

Источник@inline
final def sizeIs: SizeCompareOps

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

Эти операции реализованы с использованием sizeCompare(Int) и позволяют использовать следующие более удобочитаемые варианты:

this.sizeIs < size     // this.sizeCompare(size) < 0
this.sizeIs <= size    // this.sizeCompare(size) <= 0
this.sizeIs == size    // this.sizeCompare(size) == 0
this.sizeIs != size    // this.sizeCompare(size) != 0
this.sizeIs >= size    // this.sizeCompare(size) >= 0
this.sizeIs > size     // this.sizeCompare(size) > 0
Унаследовано от IterableOps

Источник
def slice(from: Int, until: Int): ListMap[K, V]

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

Источник
def sliding(size: Int, step: Int): Iterator[ListMap[K, V]]

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

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

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

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

step

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

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

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

См. также

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

Пример

List(1, 2, 3, 4, 5).sliding(2, 2) = Iterator(List(1, 2), List(3, 4), List(5))

List(1, 2, 3, 4, 5, 6).sliding(2, 3) = Iterator(List(1, 2), List(4, 5))

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

Источник
def sliding(size: Int): Iterator[ListMap[K, V]]

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

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

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

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

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

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

См. также

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

Пример

List().sliding(2) = empty iterator

List(1).sliding(2) = Iterator(List(1))

List(1, 2).sliding(2) = Iterator(List(1, 2))

List(1, 2, 3).sliding(2) = Iterator(List(1, 2), List(2, 3))

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

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

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

Источник
override def splitAt(n: Int): (ListMap[K, V], ListMap[K, V])

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

Источник
def stepper[S <: Stepper[_]](implicit shape: StepperShape[(K, V), S]): S

Возвращает scala.collection.Stepper для элементов этой коллекции.

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

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

  • Для коллекций Int, Short, Byte или Char, возвращается scala.collection.IntStepper

  • Для коллекций Double или Float, возвращается scala.collection.DoubleStepper

  • Для коллекций Long возвращается scala.collection.LongStepper

  • Для любого другого типа элемента возвращается scala.collection.AnyStepper

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

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

Источник
def subtractAll(xs: IterableOnce[K]): ListMap[K, V]

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

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

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

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

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

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

Источник
def sum[B >: (K, V)](implicit num: Numeric[B]): B

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

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

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

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

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

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

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

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

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

Источник
def tail: ListMap[K, V]

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

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

Источник
def tails: Iterator[ListMap[K, V]]

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

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

итератор по всем хвостам этой коллекции итераций

Пример

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

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

Источник
def take(n: Int): ListMap[K, V]

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

Source
override def takeRight(n: Int): ListMap[K, V]

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

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

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

Source
def takeWhile(p: (K, V) => Boolean): ListMap[K, V]

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

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

Value parameters
p

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

Returns

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

Inherited from IterableOps

Source
override def tapEach[U](f: (K, V) => U): ListMap[K, V]

Definition Classes StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps
Inherited from StrictOptimizedIterableOps

Source
def to[C1](factory: Factory[(K, V), C1]): C1

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

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

Inherited from IterableOnceOps

Source
def toArray[B >: (K, V) : ClassTag]: Array[B]

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

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

Inherited from IterableOnceOps

Source@inline
final def toBuffer[B >: (K, V)]: Buffer[B]

Inherited from IterableOnceOps

Source
def toIndexedSeq: IndexedSeq[(K, V)]

Inherited from IterableOnceOps

Source
def toList: List[(K, V)]

Inherited from IterableOnceOps

Source
def toMap[K, V](implicit ev: (K, V) <:< (K, V)): Map[K, V]

Inherited from IterableOnceOps

Source
def toSeq: Seq[(K, V)]

Returns

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

Inherited from IterableOnceOps

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

Inherited from IterableOnceOps

Source
override def toString(): String

Definition Classes Map -> Function1 -> Iterable -> Any
Inherited from Map

Source
def toVector: Vector[(K, V)]

Inherited from IterableOnceOps

Source
def transpose[B](implicit asIterable: (K, V) => Iterable[B]): Iterable[Iterable[B]]

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

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

val xs = List(
           Set(1, 2, 3),
           Set(4, 5, 6)).transpose
// xs == List(
//         List(1, 4),
//         List(2, 5),
//         List(3, 6))

val ys = Vector(
           List(1, 2, 3),
           List(4, 5, 6)).transpose
// ys == Vector(
//         Vector(1, 4),
//         Vector(2, 5),
//         Vector(3, 6))

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

Type parameters
B

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

Value parameters
asIterable

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

Returns

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

Throws
IllegalArgumentException

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

Inherited from IterableOps

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

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

Inherited from PartialFunction

Source
override def unzip[A1, A2](implicit asPair: (K, V) => (A1, A2)): (Iterable[A1], Iterable[A2])

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

Source
override def unzip3[A1, A2, A3](implicit asTriple: (K, V) => (A1, A2, A3)): (Iterable[A1], Iterable[A2], Iterable[A3])

Definition Classes StrictOptimizedIterableOps -> IterableOps
Inherited from StrictOptimizedIterableOps

Source
def update(key: K, value: V): Unit

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

Параметры значения
ключ

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

значение

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

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

Источник
def updateWith(key: K)(remappingFunction: Option[V] => Option[V]): Option[V]

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

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

Параметры значения
ключ

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

remappingFunction

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

Возвращает

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

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

Источник
def valueStepper[S <: Stepper[_]](implicit shape: StepperShape[V, S]): S

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

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

Источник
def values: Iterable[V]

Собирает все значения этого отображения в итерируемое множество.

Возвращает

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

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

Источник
def valuesIterator: Iterator[V]

Создает итератор для всех значений в этом отображении.

Возвращает

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

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

Источник
override def view: MapView[K, V]

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

Источник
def withDefault(d: K => V): Map[K, V]

То же отображение с заданной функцией по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т.д., не затрагиваются withDefaultValue.

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

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

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

Возвращает

обёртка отображения со значением по умолчанию

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

Источник
def withDefaultValue(d: V): Map[K, V]

То же отображение со заданным значением по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т.д., не затрагиваются withDefaultValue.

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

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

значение по умолчанию, используемое для отсутствующих ключей

Возвращает

обёртка отображения со значением по умолчанию

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

Источник
override def withFilter(p: (K, V) => Boolean): WithFilter[K, V, Iterable, ListMap]

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

Источник
override def zip[B](that: IterableOnce[B]): Iterable[((K, V), B)]

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

Источник
def zipAll[A1 >: (K, V), B](that: Iterable[B], thisElem: A1, thatElem: B): Iterable[(A1, B)]

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

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

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

thatElem

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

thisElem

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

Возвращает

новое множество типа That, содержащее пары, состоящие из соответствующих элементов этого итерируемого множества и that. Длина возвращаемого множества равна максимальной из длин этого итерируемого множества и that. Если это итерируемое множество короче, чем that, используются значения thisElem для заполнения результата. Если that короче, чем это итерируемое множество, используются значения thatElem для заполнения результата.

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

Источник
override def zipWithIndex: Iterable[((K, V), Int)]

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

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/collection/mutable/ListMap.html

Spec-Zone.ru

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