Spec-Zone.ru › Scala 3.1

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

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

@deprecatedInheritance("HashMap будет объявлен final; используйте .withDefault для распространённого случая вычисления значения по умолчанию", "2.13.0")
class HashMap[K, V](initialCapacity: Int, loadFactor: Double) extends AbstractMap[K, V] with MapOps[K, V, HashMap, HashMap[K, V]] with StrictOptimizedIterableOps[(K, V), Iterable, HashMap[K, V]] with StrictOptimizedMapOps[K, V, HashMap, HashMap[K, V]] with MapFactoryDefaults[K, V, HashMap, Iterable] with Serializable

Этот класс реализует изменяемые отображения с использованием хеш-таблицы.

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

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

V

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

См. также

"Обзор библиотеки коллекций Scala" раздел по Hash Tables для получения дополнительной информации.

Надтипы
29 типов
Трейт Serializable
Трейт StrictOptimizedMapOps[K, V, HashMap, HashMap[K, V]]
Трейт StrictOptimizedIterableOps[(K, V), Iterable, HashMap[K, V]]
Класс AbstractMap[K, V]
Трейт Map[K, V]
Трейт MapOps[K, V, HashMap, HashMap[K, V]]
Трейт Shrinkable[K]
Трейт Builder[(K, V), HashMap[K, V]]
Трейт Growable[(K, V)]
Трейт Clearable
Трейт Cloneable[HashMap[K, V]]
Трейт Cloneable
Трейт Iterable[(K, V)]
Класс AbstractMap[K, V]
Трейт Map[K, V]
Трейт Equals
Трейт MapFactoryDefaults[K, V, HashMap, Iterable]
Трейт MapOps[K, V, HashMap, HashMap[K, V]]
Трейт PartialFunction[K, V]
Трейт K => V
Класс AbstractIterable[(K, V)]
Трейт Iterable[(K, V)]
Трейт IterableFactoryDefaults[(K, V), Iterable]
Трейт IterableOps[(K, V), Iterable, HashMap[K, V]]
Трейт IterableOnceOps[(K, V), Iterable, HashMap[K, V]]
Трейт IterableOnce[(K, V)]
Класс Object
Трейт Matchable
Класс Any

Конструкторы

Исходный код
def this()

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

Исходный код
override def addAll(xs: IterableOnce[(K, V)]): HashMap[K, V]

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

Исходный код
def addOne(elem: (K, V)): HashMap[K, V]

Source@throws(scala.throws.$lessinit$greater$default$1[scala.NoSuchElementException])
override def apply(key: K): V

Definition Classes MapOps -> Function1

Source
override def clear(): Unit

Definition Classes MapOps -> Builder -> Clearable

Source
override def contains(key: K): Boolean

Definition Classes MapOps

Source
override def filterInPlace(p: (K, V) => Boolean): HashMap[K, V]

Definition Classes MapOps

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

Definition Classes IterableOnceOps

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

Definition Classes MapOps

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

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

Definition Classes MapOps

Source
override def getOrElseUpdate(key: K, defaultValue: => V): V

Definition Classes MapOps

Source
override def hashCode: Int

Definition Classes Map -> Any

Source
override def isEmpty: Boolean

Definition Classes IterableOnceOps

Source
override def iterator: Iterator[(K, V)]

Definition Classes IterableOnce

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

Definition Classes MapOps

Source
override def keysIterator: Iterator[K]

Definition Classes MapOps

Source
override def knownSize: Int

Definition Classes MapOps -> Growable -> IterableOnce

Source
override def mapFactory: MapFactory[HashMap]

Definition Classes Map -> Map -> MapOps

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

Definition Classes MapOps

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

Definition Classes MapOps

Source
override def size: Int

Definition Classes IterableOnceOps

Source
override def sizeHint(size: Int): Unit

Definition Classes Builder

Source
override def stepper[S <: Stepper[_]](implicit shape: StepperShape[(K, V), S]): S & EfficientSplit

Definition Classes IterableOnce

Source
override def subtractAll(xs: IterableOnce[K]): HashMap[K, V]

Definition Classes Shrinkable

Source
def subtractOne(elem: K): HashMap[K, V]

Source
override def update(key: K, value: V): Unit

Definition Classes MapOps

Source
override def updateWith(key: K)(remappingFunction: Option[V] => Option[V]): Option[V]

Definition Classes MapOps

Source
override def valueStepper[S <: Stepper[_]](implicit shape: StepperShape[V, S]): S & EfficientSplit

Definition Classes MapOps

Source
override def valuesIterator: Iterator[V]

Definition Classes MapOps

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

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

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

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

Source
def ++[V2 >: V](xs: IterableOnce[(K, V2)]): HashMap[K, V2]

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

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

Source@inline
final def ++=(xs: IterableOnce[(K, V)]): HashMap[K, V]

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

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

Source@inline
final def +=(elem: (K, V)): HashMap[K, V]

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

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

Source@inline
final def --=(xs: IterableOnce[K]): HashMap[K, V]

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

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

Source@inline
final def -=(elem: K): HashMap[K, V]

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

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

Source@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

Source@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]

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

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

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

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

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

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

Возвращает

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

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

Источник
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(): HashMap[K, V]

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

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

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

Source
override def collect[K2, V2](pf: PartialFunction[(K, V), (K2, V2)]): HashMap[K2, V2]

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

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

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

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

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

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

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

Возвращает

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

Пример

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Source@unspecialized
def compose[A](g: A => K): A => V

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

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

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

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

функция A => T1

Возвращает

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

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

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

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

Тип параметров
B

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

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

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

Возвращает

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

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

Источник
override def concat[V2 >: V](suffix: IterableOnce[(K, V2)]): HashMap[K, V2]

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

Источник
def copyToArray[B >: (K, V)](xs: Array[B], start: Int, len: Int): Int

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

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

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

Тип параметров
B

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

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

максимальное количество копируемых элементов.

start

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

xs

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

Возвращает

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

Примечание

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

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

Источник@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
def copyToArray[B >: (K, V)](xs: Array[B], start: Int): Int

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

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

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

Тип параметров
B

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

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

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

xs

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

Возвращает

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

Примечание

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

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

Источник@deprecatedOverriding("This should always forward to the 3-arg version of this method", 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): HashMap[K, V]

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

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

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

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

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

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

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

Source
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

Source
override def empty: HashMap[K, V]

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

Source
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

Source
def exists(p: (K, V) => Boolean): Boolean

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

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

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

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

Возвращает

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

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

Source
override def filter(pred: (K, V) => Boolean): HashMap[K, V]

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

Source
override def filterNot(pred: (K, V) => Boolean): HashMap[K, V]

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

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

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

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

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

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

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

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

значение типа Option, содержащее первый элемент в коллекции, удовлетворяющий 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)]): HashMap[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

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

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

Исходный код
def groupBy[K](f: (K, V) => K): Map[K, HashMap[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[HashMap[K, V]]

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

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

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

Возвращает

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

См. также

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

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

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

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

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

Возвращает

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

Исключения
NoSuchElementException

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

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

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

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

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

Возвращает

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

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

Источник
def init: HashMap[K, V]

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

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

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

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

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

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

END_OF_DOCUMENT_MARKER
Возвращает

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

Пример

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 keys: Iterable[K]

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

Возвращает

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

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

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

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

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

Возвращает

Последний элемент этого итерируемого набора.

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

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

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

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

Возвращает последний элемент в виде Option.

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

Возвращает

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

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

Исходный код
def lazyZip[B](that: Iterable[B]): LazyZip2[(K, V), B, HashMap[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)): HashMap[K2, V2]

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

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

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

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

Источник
def mapValuesInPlace(f: (K, V) => V): HashMap[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

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

Возвращает

значение опции, содержащей наибольший элемент этого набора по отношению к порядку 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.

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

class="attributes">
Возвращает

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

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

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

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

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

class="attributes">
Параметры значения
sep

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

Возвращает

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

Пример

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

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

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

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

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

class="attributes">
Параметры значения
end

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

sep

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

start

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

Возвращает

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

Пример

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

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

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

Definition Classes MapFactoryDefaults -> IterableOps
Inherited from MapFactoryDefaults

Source@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
def nonEmpty: Boolean

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

Returns

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

Inherited from IterableOnceOps

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

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

Type parameters
A1

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

B1

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

Value parameters
that

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

Returns

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

Inherited from PartialFunction

Source
override def partition(p: (K, V) => Boolean): (HashMap[K, V], HashMap[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

Произведение элементов этой коллекции.

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

Type parameters
B

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

Value parameters
num

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

Returns

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

Inherited from IterableOnceOps

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

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

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

Тип параметров
B

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

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

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

Возвращает

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

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

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

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

Источник
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

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

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

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

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

Тип параметров
B

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

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

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

Возвращает

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

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

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

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

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

Тип параметров
B

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

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

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

Возвращает

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

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

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

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

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

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

Тип параметров
B

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Тип параметров
B

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

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

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

Возвращает

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

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

Источник
def result(): HashMap[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]

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

Source
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)
Type parameters
B

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

Value parameters
op

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

z

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

Returns

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

Inherited from IterableOps

Source
def sizeCompare(that: Iterable[_]): Int

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

Value parameters
that

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

Returns

Значение 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.

Inherited from IterableOps

Source
def sizeCompare(otherSize: Int): Int

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

Value parameters
otherSize

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

Returns

Значение 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.

See also

sizeIs

Inherited from IterableOps

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

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

Value parameters
coll

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

delta

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

Inherited from Builder

Source
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): HashMap[K, V]

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

Источник
def sliding(size: Int, step: Int): Iterator[HashMap[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[HashMap[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): (HashMap[K, V], HashMap[K, V])

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

Исходный код
override def splitAt(n: Int): (HashMap[K, V], HashMap[K, V])

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

Исходный код
def sum[B >: (K, V)](implicit num: Numeric[B]): B

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

Пример

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

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

Исходный код
def take(n: Int): HashMap[K, V]

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

Исходный код
override def takeRight(n: Int): HashMap[K, V]

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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)]

Возвращает

Данную коллекцию в виде 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 values: Iterable[V]

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

Returns

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

Inherited from MapOps

Source
override def view: MapView[K, V]

Definition Classes MapOps -> IterableOps
Inherited from MapOps

Source
def withDefault(d: K => V): Map[K, V]

Такая же карта с заданной функцией по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т.д., не затрагиваются withDefaultValue.

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

Value parameters
d

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

Returns

обёртка карты со значением по умолчанию

Inherited from 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, HashMap]

Классы-предки 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)]

Возвращает коллекцию Iterable, сформированную из этой коллекции Iterable и другой коллекции Iterable путём объединения соответствующих элементов в пары. Если одна из двух коллекций короче другой, элементы-заполнители используются для расширения более короткой коллекции до длины более длинной.

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

коллекция Iterable, предоставляющая вторую половину каждой пары результатов

thatElem

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

thisElem

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

Возвращает

новая коллекция типа That, содержащая пары, состоящие из соответствующих элементов этой коллекции Iterable и that. Длина возвращаемой коллекции — это максимальная из длин этой коллекции Iterable и that. Если эта коллекция Iterable короче, чем that, значения thisElem используются для дополнения результата. Если that короче, чем эта коллекция Iterable, значения 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/HashMap.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API