Класс WeakHashMap.WeakHashMap
class WeakHashMap[K, V] extends JMapWrapper[K, V] with JMapWrapperLike[K, V, WeakHashMap, WeakHashMap[K, V]] with MapFactoryDefaults[K, V, WeakHashMap, Iterable]
Хеш-карта со слабыми ссылками на записи. Записи удаляются из этой карты, когда на ключ больше нет (сильной) ссылки. Этот класс оборачивает java.util.WeakHashMap.
| Параметры типа |
|
|---|---|
| См. также | "Обзор библиотеки коллекций Scala" раздел по |
| Наследуемые типы | 32 типа |
Конкретные методы
Исходный код
override def empty: WeakHashMap[K, V]
Пустая коллекция того же типа, что и эта итерируемая коллекция
| Возвращает | пустую итерируемую коллекцию типа |
|---|---|
| Определяющие классы | JMapWrapper -> MapFactoryDefaults -> IterableFactoryDefaults -> IterableOps |
Исходный код
Объект-компаньон этой карты, предоставляющий различные методы фабрики.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Определяющие классы | Map -> Map -> MapOps |
Наследованные методы
Исходный код
final def ++[B >: (K, V)](suffix: IterableOnce[B]): CC[B]
Псевдоним для concat
| Наследуется из | IterableOps |
|---|
Исходный код
def ++[V2 >: V](xs: IterableOnce[(K, V2)]): CC[K, V2]
Псевдоним для concat
| Наследуется из | MapOps |
|---|
Исходный код
Псевдоним для addAll
| Наследуется из | Growable |
|---|
Исходный код
Псевдоним для addOne
| Наследуется из | Growable |
|---|
Исходный код
Псевдоним для subtractAll
| Наследуется из | Shrinkable |
|---|
Исходный код
final def -=(elem: K): Shrinkable.this.type
Псевдоним для subtractOne
| Наследуется из | Shrinkable |
|---|
Исходный код
Добавляет все элементы, полученные от IterableOnce, в эту коллекцию, допускающую рост.
| Параметры |
|
|---|---|
| Возвращает | коллекцию, допускающую рост, саму по себе. |
| Наследуется из | Growable |
Исходный код
def addOne(kv: (K, V)): JMapWrapperLike.this.type
Добавляет один элемент в эту изменяемую карту.
| Параметры |
|
|---|---|
| Возвращает | саму изменяемую карту |
| Наследуется из | JMapWrapperLike |
Исходный код
Добавляет все элементы этой коллекции в строковый буфер. Записанный текст состоит из строковых представлений (в соответствии с методом toString) всех элементов этой коллекции без разделительной строки.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> val h = a.addString(b) h: StringBuilder = 1234
| Параметры |
|
|---|---|
| Возвращает | строковый буфер |
| Наследуется из | IterableOnceOps |
Источник
Добавляет все элементы этой коллекции в строковый буфер с использованием разделителя. Записанный текст состоит из строковых представлений (относительно метода toString) всех элементов этой коллекции, разделенных строкой sep.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> a.addString(b, ", ") res0: StringBuilder = 1, 2, 3, 4
| Параметры значения |
|
|---|---|
| Возвращает | строковый буфер |
| Унаследовано от | IterableOnceOps |
Источник
Добавляет все элементы этой карты в строковый буфер, используя начальную, конечную и разделительные строки. Записанный текст начинается со строки start и заканчивается строкой end. Внутри строковые представления (относительно метода toString) всех элементов этой карты разделены строкой sep.
Пример:
scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)
scala> val b = new StringBuilder()
b: StringBuilder =
scala> a.addString(b , "List(" , ", " , ")")
res5: StringBuilder = List(1, 2, 3, 4)
| Параметры значения |
|
|---|---|
| Возвращает | строковый буфер |
| Классы определений | MapOps -> IterableOnceOps |
| Унаследовано от | MapOps |
Источник
Компонует эту частичную функцию с другой частичной функцией, которая применяется к результатам этой частичной функции.
Обратите внимание, что вызов isDefinedAt для полученной частичной функции может применить первую частичную функцию и выполнить её побочный эффект. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения этой частичной функции, суженной другой частичной функцией, которая отображает аргументы |
| Унаследовано от | PartialFunction |
Источник
override def andThen[C](k: V => C): PartialFunction[A, C]
Компонует эту частичную функцию с функцией преобразования, которая применяется к результатам этой частичной функции.
Если тип времени выполнения функции является PartialFunction, то используется другой метод andThen (обратите внимание на его предостережения).
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения этой частичной функции, возможно суженной указанной функцией, которая отображает аргументы |
| Классы определений | PartialFunction -> Function1 |
| Унаследовано от | PartialFunction |
Источник
def apply(key: K): V
Возвращает значение, связанное с заданным ключом. Этот метод вызывает метод default карты, если нет сопоставления от заданного ключа к значению. Если не переопределен, метод default генерирует исключение NoSuchElementException.
| Параметры значения |
|
|---|---|
| Возвращает | значение, связанное с заданным ключом, или результат метода |
| Унаследовано от | MapOps |
Источник
override def applyOrElse[K1 <: K, V1 >: V](x: K1, default: K1 => V1): V1
Применяет данную частичную функцию к заданному аргументу, если он содержится в области определения функции. Применяет функцию по умолчанию, если частичная функция не определена.
Обратите внимание, что выражение pf.applyOrElse(x, default) эквивалентно
if(pf isDefinedAt x) pf(x) else default(x)
за исключением того, что метод applyOrElse может быть реализован более эффективно. Для всех частичных функций-литералов компилятор генерирует реализацию applyOrElse, которая избегает двойного вычисления совпадений шаблонов и защитных условий. Это делает applyOrElse основой для эффективной реализации многих операций и сценариев, таких как:
- объединение частичных функций в цепочки orElse/andThen не приводит к чрезмерному вычислению apply/isDefinedAt - lift и unlift не вычисляют исходные функции дважды при каждом вызове - runWith позволяет эффективно объединять частичные функции императивного стиля с условными действиями
Для классов частичных функций, не являющихся литералами, с нетривиальным методом isDefinedAt, рекомендуется переопределить applyOrElse пользовательской реализацией, которая избегает двойного вычисления isDefinedAt. Это может привести к лучшей производительности и более предсказуемому поведению с точки зрения побочных эффектов.
| Параметры значения |
|
|---|---|
| Возвращает | результат применения этой функции или функции по умолчанию. |
| Классы определения | MapOps -> PartialFunction |
| Унаследовано от | MapOps |
Источник
Метод, который должен вызываться из каждого хорошо спроектированного метода equals, который может быть переопределен в подклассе. См. Programming in Scala, Глава 28 для обсуждения и проектирования.
| Параметры значения |
|
|---|---|
| Возвращает | true, если этот экземпляр может быть равен |
| Унаследовано от | Map |
Источник
Очищает содержимое этого билдера. После выполнения этого метода билдер не будет содержать элементов.
| Классы определения | JMapWrapperLike -> MapOps -> Builder -> Clearable |
|---|---|
| Унаследовано от | JMapWrapperLike |
Источник
override def clone(): C
Создает копию объекта-приемника.
По умолчанию реализация метода clone зависит от платформы.
| Возвращает | копия объекта-приемника. |
|---|---|
| Примечание | не определен в SLS как член AnyRef |
| Классы определения | MapOps -> Cloneable -> Object |
| Унаследовано от | MapOps |
Источник
override def collect[B](pf: PartialFunction[(K, V), B]): CC[B]
Создаёт новое итерируемое множество, применяя частичную функцию ко всем элементам этого итерируемого множества, для которых эта функция определена.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | новое итерируемое множество, полученное путём применения заданной частичной функции |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
override def collect[K2, V2](pf: PartialFunction[(K, V), (K2, V2)]): CC[K2, V2]
Создаёт новое множество, применяя частичную функцию ко всем элементам этой карты, для которых функция определена.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | новую карту, полученную путём применения заданной частичной функции |
| Определяющие классы | StrictOptimizedMapOps -> MapOps |
| Унаследовано от | StrictOptimizedMapOps |
Исходный код
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Значения параметров |
|
|---|---|
| Возвращает | значение option, содержащее результат применения pf к первому значению, для которого она определена, или |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Исходный код
Компонует другую частичную функцию k с этой частичной функцией таким образом, что эта частичная функция применяется к результатам k.
Обратите внимание, что вызов isDefinedAt на результирующей частичной функции может применить первую частичную функцию и выполнить её побочный эффект. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | частичная функция с областью определения другой частичной функции, суженной с помощью этой частичной функции, которая отображает аргументы |
| Унаследовано от | PartialFunction |
Исходный код
def compose[A](g: A => K): A => R
Компонует две экземпляры Function1 в новую Function1, при этом эта функция применяется последней.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | новая функция |
| Унаследовано от | Function1 |
Исходный код
def concat[B >: (K, V)](suffix: IterableOnce[B]): CC[B]
Возвращает новое итерируемое множество, содержащее элементы левого операнда, за которыми следуют элементы правого операнда. Тип элемента итерируемого множества является наиболее специфичным суперклассом, охватывающим типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | новое итерируемое множество, содержащее все элементы этого итерируемого множества, за которыми следуют все элементы |
| Унаследовано от | IterableOps |
Исходный код
override def concat[V2 >: V](suffix: IterableOnce[(K, V2)]): CC[K, V2]
Возвращает новую карту, содержащую элементы левого операнда, за которыми следуют элементы правого операнда. Тип элемента карты является наиболее специфичным суперклассом, охватывающим типы элементов двух операндов.
| Значения параметров |
|
|---|---|
| Возвращает | новая карта, содержащая все элементы этой карты, за которыми следуют все элементы |
| Определяющие классы | StrictOptimizedMapOps -> MapOps |
| Унаследовано от | StrictOptimizedMapOps |
Исходный код
Проверяет, содержит ли эта карта привязку для ключа.
| Значения параметров |
|
|---|---|
| Возвращает |
|
| Унаследовано от | MapOps |
Исходный код
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start не более чем len элементами этой коллекции.
Копирование прекращается, как только либо все элементы этой коллекции будут скопированы, либо будет достигнут конец массива, либо будет скопировано len элементов.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода следует отбросить итератор, на котором он был вызван. Его использование неопределённо и может измениться. |
| Унаследовано от | IterableOnceOps |
Исходный код
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями этой коллекции.
Копирование прекращается, как только либо все элементы этой коллекции будут скопированы, либо будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Повторное использование: после вызова этого метода следует отказаться от итератора, на котором он был вызван. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями из этого набора.
Копирование завершится, когда будут скопированы все элементы этого набора или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Повторное использование: после вызова этого метода следует отказаться от итератора, на котором он был вызван. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, соответствует ли каждый элемент итератора этого набора соответствующему элементу другого набора, удовлетворяя предикату проверки.
Примечание: не завершится для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Подсчитывает количество элементов в наборе, которые удовлетворяют предикату.
Примечание: не завершится для наборов бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Источник
def default(key: K): V
Определяет вычисление значения по умолчанию для карты, возвращаемого, когда ключ не найден. Реализованный здесь метод генерирует исключение, но он может быть переопределен в подклассах.
| Параметры значения |
|
|---|---|
| Унаследовано от | MapOps |
Источник
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемый набор, состоящий из всех элементов этого итерируемого набора, кроме первых |
| Унаследовано от | IterableOps |
Источник
Остальная часть набора без его n последних элементов. Для линейных неизменяемых наборов это должно предотвратить создание копии.
Примечание: даже при применении к представлению или ленивому набору элементы всегда будут принудительно вычисляться.
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Удаляет самый длинный префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | самый длинный суффикс этого итерируемого набора, первый элемент которого не удовлетворяет предикату |
| Унаследовано от | IterableOps |
Источник
def elementWise: ElementWiseExtractor[A, B]
Возвращает объект-экстрактор с методом 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 |
Источник
Равенство карт реализуется с использованием метода поиска 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
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Классы определения | Map -> Equals -> Any |
| Унаследовано от | Map |
Источник
Проверяет, выполняется ли предикат хотя бы для одного элемента этого набора.
Примечание: может не завершиться для наборов бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Исходный код
Выбирает все элементы этого итерируемого набора, которые удовлетворяют предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новый итерируемый набор, состоящий из всех элементов этого итерируемого набора, удовлетворяющих заданному предикату |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
Сохраняет только те отображения, для которых предикат p возвращает значение true.
| Параметры значения |
|
|---|---|
| Унаследовано от | MapOps |
Исходный код
Выбирает все элементы этого итерируемого набора, которые не удовлетворяют предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новый итерируемый набор, состоящий из всех элементов этого итерируемого набора, которые не удовлетворяют заданному предикату |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
Находит первый элемент набора, удовлетворяющий предикату, если таковой есть.
Примечание: может не завершиться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа Option, содержащее первый элемент в наборе, удовлетворяющий |
| Унаследовано от | IterableOnceOps |
Исходный код
override def flatMap[B](f: ((K, V)) => IterableOnce[B]): CC[B]
Создаёт новый итерируемый набор, применяя функцию ко всем элементам этого итерируемого набора и используя элементы полученных наборов.
Например:
def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")
Тип результирующего набора определяется статическим типом итерируемого набора. Это может иногда приводить к неожиданным результатам. Например:
// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)
// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap ((word: String) => word.toSeq)
// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)
// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый итерируемый набор, полученный путем применения заданной функции, возвращающей набор |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследованное от | StrictOptimizedIterableOps |
Источник
override def flatMap[K2, V2](f: ((K, V)) => IterableOnce[(K2, V2)]): CC[K2, V2]
Создаёт новый словарь, применяя функцию ко всем элементам этого словаря и используя элементы полученных наборов.
| Параметры значения |
|
|---|---|
| Возвращает | новый словарь, полученный путем применения заданной функции, возвращающей набор |
| Определяющие классы | StrictOptimizedMapOps -> MapOps |
| Унаследованное от | StrictOptimizedMapOps |
Источник
override def flatten[B](implicit toIterableOnce: ((K, V)) => IterableOnce[B]): CC[B]
Преобразует этот итерируемый набор коллекций обхода в итерируемый набор, образованный элементами этих коллекций обхода.
Тип результирующего набора будет определяться типом итерируемой коллекции. Например:
val xs = List(
Set(1, 2, 3),
Set(1, 2, 3)
).flatten
// xs == List(1, 2, 3, 1, 2, 3)
val ys = Set(
List(1, 2, 3),
List(3, 2, 1)
).flatten
// ys == Set(1, 2, 3)
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый итерируемый набор, полученный путем конкатенации всех итерируемых наборов элементов. |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследованное от | StrictOptimizedIterableOps |
Источник
def fold[A1 >: (K, V)](z: A1)(op: (A1, A1) => A1): A1
Складывает элементы этого набора, используя указанный ассоциативный бинарный оператор. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективного порядка обхода.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Примечание: не завершается для наборов бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат применения оператора сжатия |
| Унаследованное от | IterableOnceOps |
Источник
def foldLeft[B](z: B)(op: (B, (K, V)) => B): B
Применяет бинарный оператор к начальному значению и всем элементам этого набора, слева направо.
Примечание: не завершается для наборов бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Исходный код
def foldRight[B](z: B)(op: ((K, V), B) => B): B
Применяет бинарную операцию ко всем элементам этого набора и начальному значению, справа налево.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Исходный код
Проверяет, выполняется ли предикат для всех элементов этого набора.
Примечание: может не завершиться для наборов бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Исходный код
Применяет f к каждому элементу для его побочных эффектов. Примечание: параметр [U] необходим для помощи в процессе вывода типов scalac.
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
override def foreachEntry[U](f: (K, V) => U): Unit
Применяет f к каждой паре ключ/значение для её побочных эффектов. Примечание: параметр [U] необходим для помощи в процессе вывода типов scalac.
| Классы определения | JMapWrapperLike -> MapOps |
|---|---|
| Унаследовано от | JMapWrapperLike |
Исходный код
override protected def fromSpecific(coll: IterableOnce[(K, V)]): CC[K, V]
Определяет, как преобразовать заданный Iterable[A] в набор типа C.
Этот процесс может быть выполнен строго или нестрого (т.е. без оценки элементов результирующих наборов). Другими словами, этот метод определяет модель оценки набора.
| Примечание |
При реализации пользовательского типа набора и уточнении Как свидетельствует аннотация |
|---|---|
| Классы определения | MapFactoryDefaults -> IterableOps |
| Унаследовано от | MapFactoryDefaults |
Исходный код
Возвращает значение, связанное с ключом.
| Параметры значения |
|
|---|---|
| Возвращает | опция, содержащая значение, связанное с |
| Унаследовано от | JMapWrapperLike |
Исходный код
def getOrElse[V1 >: V](key: K, default: => V1): V1
Возвращает значение, связанное с ключом, или значение по умолчанию, если ключ не содержится в наборе.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение, связанное с |
| Унаследовано от | MapOps |
Исходный код
def getOrElseUpdate(key: K, op: => V): V
Если заданный ключ уже есть в этом наборе, возвращает соответствующее значение.
В противном случае вычисляет значение из заданного выражения op, сохраняет его с ключом в наборе и возвращает это значение.
Реализации наборов, работающих в многопоточном режиме, могут оценивать выражение op несколько раз или оценивать op без вставки результата.
| Параметры значения |
|
|---|---|
| Возвращает | значение, связанное с ключом (либо ранее, либо в результате выполнения метода). |
| Унаследовано от | MapOps |
Исходный код
Разделяет этот итерируемый набор на карту итерируемых наборов в соответствии с некоторой функцией-дискриминатором.
Примечание: даже при применении к представлению или ленивому набору он всегда будет принудительно оценивать элементы.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
Карта из ключей к итерируемым наборам, которая удовлетворяет следующему инварианту: (xs groupBy f)(k) = xs filter (x => f(x) == k) То есть каждый ключ |
| Унаследовано от | IterableOps |
Исходный код
Разделяет этот итерируемый набор на карту итерируемых наборов в соответствии с функцией-дискриминатором key. Каждый элемент в группе преобразуется в значение типа B с помощью функции value.
Это эквивалентно groupBy(key).mapValues(_.map(f)), но более эффективно.
case class User(name: String, age: Int) def namesByAge(users: Seq[User]): Map[Int, Seq[String]] = users.groupMap(_.age)(_.name)
Примечание: даже при применении к представлению или ленивому набору он всегда будет принудительно оценивать элементы.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Унаследовано от | IterableOps |
Источник
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 |
|---|
Источник
Разделяет элементы в итерируемых коллекциях фиксированного размера.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые коллекции размера |
| См. также | scala.collection.Iterator, метод |
| Унаследовано от | IterableOps |
Источник
Вычисляет значение хэш-кода для объекта.
Алгоритм хэширования по умолчанию зависит от платформы.
Обратите внимание, что для двух объектов допускается иметь идентичные хэш-коды (o1.hashCode.equals(o2.hashCode)) но не быть равными (o1.equals(o2) возвращает false). Вырожденная реализация может всегда возвращать 0. Однако, требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true), у них были идентичные хэш-коды (o1.hashCode.equals(o2.hashCode)). Поэтому при переопределении этого метода убедитесь, что поведение согласуется с методом equals.
| Возвращает | значение хэш-кода для данного объекта. |
|---|---|
| Классы определения | Map -> Any |
| Унаследовано от | Map |
Источник
def head: A
Выбирает первый элемент этой итерируемой коллекции.
Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции не является упорядоченным.
| Возвращает | первый элемент этой итерируемой коллекции. |
|---|---|
| Исключения |
|
| Унаследовано от | IterableOps |
Источник
def headOption: Option[A]
Необязательно выбирает первый элемент.
Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции не является упорядоченным.
| Возвращает | первый элемент этой итерируемой коллекции, если она не пуста, |
|---|---|
| Унаследовано от | IterableOps |
Источник
def init: C
Начальная часть коллекции без последнего элемента.
Примечание: даже при применении к представлению или ленивой коллекции она всегда будет принудительно вычислять элементы.
| Унаследовано от | IterableOps |
|---|
Источник
Итерирует по начальным частям этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее - пустой итерируемой коллекцией, при этом промежуточные значения - результаты последовательных применений init.
Примечание: даже при применении к представлению или ленивой коллекции она всегда будет принудительно вычислять элементы.
| Возвращает | итератор по всем начальным частям этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Источник
def isDefinedAt(key: K): Boolean
Проверяет, содержит ли эта карта привязку для ключа. Этот метод, реализующий абстрактный метод тракта PartialFunction, эквивалентен contains.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | MapOps |
Источник
Проверяет, пуста ли мутируемая карта.
Примечание: Реализации в дочерних классах, которые не являются многократно проходимыми, должны позаботиться о том, чтобы не потреблять элементы при вызове isEmpty.
| Возвращает |
|
|---|---|
| Классы определения | JMapWrapper -> IterableOnceOps |
| Унаследовано от | JMapWrapper |
Источник
override def isTraversableAgain: Boolean
Проверяет, может ли эта итерируемая коллекция быть многократно пройдена. Всегда истинно для Iterable и ложно для Iterator, если не переопределено.
| Возвращает |
|
|---|---|
| Классы определения | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Источник
Компаньон-объект этой итерируемой коллекции, предоставляющий различные фабричные методы.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Классы определения | Iterable -> Iterable -> IterableOps |
| Унаследовано от | Iterable |
Источник
Итератор может быть использован только один раз
| Унаследовано от | JMapWrapperLike |
|---|
Источник
Собирает все ключи этой карты в множество.
| Возвращает | множество, содержащее все ключи этой карты. |
|---|---|
| Унаследовано от | MapOps |
Источник
Возвращает Stepper для ключей этой карты. См. метод stepper.
| Унаследовано от | MapOps |
|---|
Источник
Собирает все ключи этой карты в итерируемой коллекции.
| Возвращает | ключи этой карты в виде итерируемого объекта. |
|---|---|
| Унаследовано от | MapOps |
Источник
def keysIterator: Iterator[K]
Создаёт итератор для всех ключей.
| Возвращает | итератор по всем ключам. |
|---|---|
| Унаследовано от | MapOps |
Источник
| Возвращает | Количество элементов в коллекции, если его можно вычислить недорого, иначе -1. По умолчанию всегда возвращает -1. |
|---|---|
| Классы-определения | JMapWrapper -> MapOps -> Growable -> IterableOnce |
| Унаследовано от | JMapWrapper |
Источник
def last: A
Выбирает последний элемент.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Возвращает | Последний элемент этой итерируемой коллекции. |
|---|---|
| Исключения |
|
| Унаследовано от | IterableOps |
Источник
def lastOption: Option[A]
Необязательно выбирает последний элемент.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Возвращает | последний элемент этой итерируемой коллекции, если она не пуста, |
|---|---|
| Унаследовано от | IterableOps |
Источник
Аналогично 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)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | декоратор |
| Унаследовано от | Iterable |
Источник
Преобразует эту частичную функцию в обычную функцию, возвращающую Option результат.
| Возвращает | функция, принимающая аргумент |
|---|---|
| См. также | Function.unlift |
| Унаследовано от | PartialFunction |
Источник
override def map[B](f: ((K, V)) => B): CC[B]
Создаёт новую итерируемую коллекцию, применяя функцию ко всем элементам этой итерируемой коллекции.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, полученная путём применения заданной функции |
| Классы-определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
override def map[K2, V2](f: ((K, V)) => (K2, V2)): CC[K2, V2]
Создаёт новую карту, применяя функцию ко всем элементам этой карты.
| Параметры значения |
|
|---|---|
| Возвращает | новая карта, полученная путём применения заданной функции |
| Классы-определения | StrictOptimizedMapOps -> MapOps |
| Унаследовано от | StrictOptimizedMapOps |
Источник
Билдер, полученный из этого билдера путём отображения результата с помощью f.
| Унаследовано от | Builder |
|---|
Источник
def mapValuesInPlace(f: (K, V) => V): MapOps.this.type
Применяет функцию преобразования ко всем значениям, содержащимся в этой карте. Функция преобразования генерирует новые значения из существующих ключей, связанных со значениями.
| Параметры значения |
|
|---|---|
| Возвращает | сама карта. |
| Унаследовано от | MapOps |
Источник
Находит наибольший элемент.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наибольший элемент этой коллекции относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | первый элемент этого набора с наибольшим значением, измеренным функцией f относительно порядка |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
Примечание: не завершится для наборов бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение option, содержащее первый элемент этого набора с наибольшим значением, измеренным функцией f относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наибольший элемент.
Примечание: не завершится для наборов бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение option, содержащее наибольший элемент этого набора относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершится для наборов бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | наименьший элемент этого набора относительно порядка |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
Примечание: не завершится для наборов бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | первый элемент этого набора с наименьшим значением, измеренным функцией f относительно порядка |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение опции, содержащей первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение опции, содержащей наименьший элемент этой коллекции относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этой коллекции в строке.
Делегирует вызов addString, который может быть переопределен.
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этой коллекции в строке с использованием разделителя.
Делегирует вызов addString, который может быть переопределен.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этой коллекции в строке с использованием начальной, конечной и разделительной строк.
Делегирует вызов addString, который может быть переопределен.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
override protected def newSpecificBuilder: Builder[(K, V), CC[K, V]]
| Возвращает | строгий билдер для того же типа коллекции. Обратите внимание, что в случае ленивых коллекций (например, scala.collection.View или scala.collection.immutable.LazyList), реализация этого метода возможна, но полученный |
|---|---|
| Примечание |
При реализации пользовательского типа коллекции и уточнении Как свидетельствует аннотация |
| Классы определений | MapFactoryDefaults -> IterableOps |
| Унаследовано от | MapFactoryDefaults |
Исходный код
Проверяет, не является ли коллекция пустой.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Исходный код
Компонует эту частичную функцию с резервной частичной функцией, которая применяется, когда эта частичная функция не определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция, которая имеет в качестве области определения объединение областей определения этой частичной функции и |
| Унаследовано от | PartialFunction |
Исходный код
Пара, состоящая из, во-первых, всех элементов, удовлетворяющих предикату p, и, во-вторых, всех элементов, которые не удовлетворяют ему. Интересно, потому что она разделяет коллекцию на две части.
Предустановленная здесь реализация требует двух проходов по коллекции. Строгие коллекции имеют переопределённый вариант partition в StrictOptimizedIterableOps, который требует только одного прохода.
| Классы определений | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
override def partitionMap[A1, A2](f: ((K, V)) => Either[A1, A2]): (CC[A1], CC[A2])
Применяет функцию f к каждому элементу итерируемой коллекции и возвращает пару итерируемых коллекций: первая содержит те значения, возвращённые f и заключённые в scala.util.Left, вторая — те, что заключены в scala.util.Right.
Пример:
val xs = Iterable(1, "one", 2, "two", 3, "three") partitionMap {
case i: Int => Left(i)
case s: String => Right(s)
}
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | пару итерируемых коллекций: первая содержит те значения, возвращённые |
| Классы определений | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
Перемножает элементы этой коллекции.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | произведение всех элементов этой коллекции относительно операции |
| Унаследовано от | IterableOnceOps |
Исходный код
Добавляет новую пару ключ/значение в этот массив и, при необходимости, возвращает ранее привязанное значение. Если массив уже содержит отображение для ключа, оно будет перезаписано новым значением.
| Параметры значения |
|
|---|---|
| Возвращает | объект Option, содержащий значение, связанное с ключом до выполнения операции |
| Классы определений | JMapWrapperLike -> MapOps |
| Унаследовано от | JMapWrapperLike |
Исходный код
def reduce[B >: (K, V)](op: (B, B) => B): B
Сводит элементы этой коллекции с помощью указанной ассоциативной бинарной операции.
Порядок выполнения операций над элементами не определен и может быть недетерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат применения операции reduce |
| Исключение |
|
| Унаследовано от | IterableOnceOps |
Исходный код
def reduceLeft[B >: (K, V)](op: (B, (K, V)) => B): B
Применяет бинарную операцию ко всем элементам этой коллекции слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип основной коллекции не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключение |
|
| Унаследовано от | IterableOnceOps |
Исходный код
def reduceLeftOption[B >: (K, V)](op: (B, (K, V)) => B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этого набора слева направо.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее результат |
| Унаследовано от | IterableOnceOps |
Источник
def reduceOption[B >: (K, V)](op: (B, B) => B): Option[B]
Сводит элементы этой коллекции, если таковые имеются, с использованием указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Значение типа Option, содержащее результат применения оператора reduce |
| Унаследовано от | IterableOnceOps |
Источник
def reduceRight[B >: (K, V)](op: ((K, V), B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции, справа налево.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceRightOption[B >: (K, V)](op: ((K, V), B) => B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этой коллекции, справа налево.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее результат |
| Унаследовано от | IterableOnceOps |
Источник
Удаляет ключ из этого словаря, возвращая значение, связанное ранее с этим ключом, как значение типа Option.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа Option, содержащее значение, связанное ранее с |
| Классы определения | JMapWrapperLike -> MapOps |
| Унаследовано от | JMapWrapperLike |
Источник
def result(): C
Коллекция результатов, состоящая из всех элементов, добавленных до сих пор.
| Унаследовано от | MapOps |
|---|
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
Компонует эту частичную функцию с функцией действия, которая применяется к результатам этой частичной функции. Функция действия вызывается только для побочных эффектов; её результат игнорируется.
Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно
if(pf isDefinedAt x) { action(pf(x)); true } else false
за исключением того, что runWith реализуется через applyOrElse и, следовательно, потенциально более эффективна. Использование runWith избегает двойной оценки совпадений с шаблонами и условий для литералов частичной функции.
| Параметры значения |
|
|---|---|
| Возвращает | функция, которая отображает аргументы |
| См. также |
|
| Унаследовано от | PartialFunction |
Источник
def scan[B >: (K, V)](z: B)(op: (B, B) => B): CC[B]
Вычисляет префиксную сканирование элементов коллекции.
Примечание: нейтральный элемент z может применяться более одного раза.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, содержащая префиксное сканирование элементов в этой итерируемой коллекции |
| Унаследовано от | IterableOps |
Источник
override def scanLeft[B](z: B)(op: (B, (K, V)) => B): CC[B]
Создаёт итерируемую коллекцию, содержащую кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции упорядочен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | коллекция с промежуточными результатами |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
def scanRight[B](z: B)(op: ((K, V), B) => B): CC[B]
Создаёт коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Головной элемент коллекции — последний кумулятивный результат.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции упорядочен.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут форсироваться.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | набор с промежуточными результатами |
| Унаследовано от | IterableOps |
Исходный код
Размер этой изменяемой карты.
Примечание: не завершится для наборов бесконечного размера.
| Возвращает | количество элементов в этой изменяемой карте. |
|---|---|
| Классы-предки | JMapWrapperLike -> IterableOnceOps |
| Унаследовано от | JMapWrapperLike |
Исходный код
Сравнивает размер этого итерируемого набора с размером другого набора.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение, где x < 0 if this.size < that.size x == 0 if this.size == that.size x > 0 if this.size > that.size Этот метод в реализации не вызывает |
| Унаследовано от | IterableOps |
Исходный код
Сравнивает размер этого итерируемого набора со значением теста.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение, где x < 0 if this.size < otherSize x == 0 if this.size == otherSize x > 0 if this.size > otherSize Этот метод в реализации не вызывает |
| См. также | |
| Унаследовано от | IterableOps |
Исходный код
Указание, что ожидается, что размер этого билдера будет таким же, как и у данного набора, плюс некоторая разница. Это указание будет предоставлено только в том случае, если набор имеет известный размер. Некоторые классы билдеров оптимизируют свою структуру на основе подсказки. Однако реализации билдеров по-прежнему должны работать правильно, даже если подсказка неверна, то есть добавлено другое количество элементов.
| Параметры значения |
|
|---|---|
| Унаследовано от | Builder |
Исходный код
Указание о том, сколько элементов ожидается добавить при вызове следующего метода.
| Параметры значения |
|
|---|---|
| Унаследовано от | Builder |
Исходный код
Указание о том, сколько элементов ожидается добавить при вызове следующего метода, вместе с верхней границей, задаваемой размером другого набора. Некоторые классы билдеров оптимизируют свою структуру на основе подсказки. Однако реализации билдеров по-прежнему должны работать правильно, даже если подсказка неверна, то есть добавлено другое количество элементов.
| Параметры значения |
|
|---|---|
| Унаследовано от | Builder |
Исходный код
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 |
|---|
Исходный код
Выбирает интервал элементов. Результирующий итерируемый набор состоит из всех элементов, которые удовлетворяют условию:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемый набор, содержащий элементы, начиная с индекса |
| Унаследовано от | IterableOps |
Исходный код
Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» над ними (в отличие от разбиения их, как это делается в grouped).
Возвращаемый итератор будет пустым, если он вызван на пустом наборе. Последний элемент, который производит итератор, может быть меньше размера окна, если исходный набор не исчерпан окном до него и его последний элемент не пропущен шагом перед ним.
| Параметры значения |
|
|---|---|
| Возвращает | итератор, который производит итерируемые наборы размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Исходный код
Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» над ними (в отличие от разбиения их, как это делается в grouped).
Пустой набор возвращает пустой итератор, а набор, содержащий меньше элементов, чем размер окна, возвращает итератор, который произведет исходный набор в качестве единственного элемента.
END_OF_DOCUMENT_MARKER| Параметры значения |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые коллекции размером |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | пара, состоящая из самого длинного префикса этой итерируемой коллекции, элементы которой удовлетворяют |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в заданной позиции.
Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | пара итерируемых коллекций, состоящая из первых |
| Классы определения | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Источник
Возвращает scala.collection.Stepper для элементов этой коллекции.
Stepper позволяет создавать Java-поток для работы с коллекцией, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, Stepper может использоваться как итератор, который не упаковывает элементы.
Неявный параметр scala.collection.StepperShape определяет тип возвращаемого Stepper в соответствии с типом элемента этой коллекции.
Для коллекций
Int,Short,ByteилиChar, возвращается scala.collection.IntStepperДля коллекций
DoubleилиFloat, возвращается scala.collection.DoubleStepperДля коллекций
Longвозвращается scala.collection.LongStepperДля любого другого типа элементов возвращается scala.collection.AnyStepper
Обратите внимание, что этот метод переопределен в подклассах, и тип возврата уточняется до S with EfficientSplit, например, scala.collection.IndexedSeqOps.stepper. Для Stepper, помеченных scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, тогда как обычные Stepper могут быть преобразованы только в последовательные потоки.
| Унаследовано от | IterableOnce |
|---|
Источник
Удаляет все элементы, генерируемые итератором, из этой сжимаемой коллекции.
| Параметры значения |
|
|---|---|
| Возвращает | сама сжимаемая коллекция |
| Унаследовано от | Shrinkable |
Источник
def subtractOne(key: K): JMapWrapperLike.this.type
Удаляет один элемент из этой изменяемой карты.
| Параметры значения |
|
|---|---|
| Возвращает | сама изменяемая карта |
| Унаследовано от | JMapWrapperLike |
Источник
Суммирует элементы этой коллекции.
Примечание: не завершится для бесконечных коллекций.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | сумма всех элементов этой коллекции с учетом оператора |
| Унаследовано от | IterableOnceOps |
Источник
def tail: C
Остальная часть коллекции без первого элемента.
| Унаследовано от | IterableOps |
|---|
Источник
Итерирует по хвостам этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения будут результатами последовательных применений tail.
| Возвращает | итератор по всем хвостам этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Выбирает первые n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемая коллекция, содержащая только первые |
| Унаследовано от | IterableOps |
Источник
Коллекция, содержащая последние n элементов этой коллекции.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Берет самый длинный префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если только тип базового набора не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | самый длинный префикс этого итерируемого набора, элементы которого удовлетворяют предикату |
| Унаследовано от | IterableOps |
Источник
override def tapEach[U](f: ((K, V)) => U): C
Применяет функцию со побочным эффектом к каждому элементу в этом наборе. Строгие наборы применят f к своим элементам немедленно, в то время как ленивые наборы, такие как представления и LazyLists, будут применять f к каждому элементу только тогда, когда этот элемент будет оценен, и каждый раз, когда этот элемент оценивается.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | тот же логический набор, что и этот |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
С учетом фабрики наборов factory, преобразуйте этот набор в соответствующее представление для текущего типа элемента A. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
| Унаследовано от | IterableOnceOps |
|---|
Источник
Преобразовать набор в массив.
Примечание к реализации: НЕ вызывайте Array.from из этого метода.
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
def toIndexedSeq: IndexedSeq[A]
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Возвращает | Этот набор как |
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
Возвращает строковое представление объекта.
По умолчанию представление зависит от платформы.
| Возвращает | строковое представление объекта. |
|---|---|
| Классы определения | Map -> Function1 -> Iterable -> Any |
| Унаследовано от | Map |
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
Транспонирует этот итерируемый набор итерируемых наборов в итерируемый набор итерируемых наборов.
Тип результирующего набора будет определяться статическим типом итерируемого набора. Например:
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))
Примечание: даже при применении к представлению или ленивому набору элементы всегда будут принудительно оцениваться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | двумерный итерируемый набор итерируемых наборов, у которого n-я строка является n-м столбцом этого итерируемого набора. |
| Исключения |
|
| Унаследовано от | IterableOps |
Источник
Пытается извлечь B из A в выражении сопоставления с образцом.
| Унаследовано от | PartialFunction |
|---|
Источник
override def unzip[A1, A2](implicit asPair: ((K, V)) => (A1, A2)): (CC[A1], CC[A2])
Преобразует этот итерируемый набор пар в два набора первой и второй половины каждой пары.
val xs = Iterable(
(1, "one"),
(2, "two"),
(3, "three")).unzip
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | пара итерируемых наборов, содержащая первую и, соответственно, вторую половину каждой пары элементов этого итерируемого набора. |
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
override def unzip3[A1, A2, A3](implicit asTriple: ((K, V)) => (A1, A2, A3)): (CC[A1], CC[A2], CC[A3])
Преобразует этот итерируемый набор троек в три набора первого, второго и третьего элемента каждой тройки.
val xs = Iterable(
(1, "one", '1'),
(2, "two", '2'),
(3, "three", '3')).unzip3
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three),
// Iterable(1, 2, 3))
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращаемое значение | кортеж из трёх итерируемых коллекций, содержащих первый, второй и соответственно третий элемент каждого кортежа элементов этого итерируемого набора данных. |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
Добавляет новую пару ключ/значение в этот массив. Если массив уже содержит сопоставление для ключа, оно будет перезаписано новым значением.
| Параметры значений |
|
|---|---|
| Определяющие классы | JMapWrapperLike -> MapOps |
| Унаследовано от | JMapWrapperLike |
Исходный код
Обновляет сопоставление для указанного ключа и его текущего, возможно отсутствующего, значения (Some если существует текущее сопоставление, None если нет).
Если функция переопределения возвращает Some(v), сопоставление обновляется с новым значением v. Если функция переопределения возвращает None, сопоставление удаляется (или остается отсутствующим, если изначально отсутствовало). Если сама функция вызывает исключение, исключение перебрасывается, и текущее сопоставление остается неизменным.
| Параметры значений |
|
|---|---|
| Возвращаемое значение | новое значение, связанное с указанным ключом |
| Унаследовано от | MapOps |
Исходный код
Возвращает Stepper для значений этого массива. См. метод stepper.
| Унаследовано от | MapOps |
|---|
Исходный код
Собирает все значения этого массива в итерируемую коллекцию.
| Возвращаемое значение | значения этого массива в виде итерируемого набора данных. |
|---|---|
| Унаследовано от | MapOps |
Исходный код
def valuesIterator: Iterator[V]
Создаёт итератор для всех значений в этом массиве.
| Возвращаемое значение | итератор по всем значениям, связанным с каким-либо ключом в этом массиве. |
|---|---|
| Унаследовано от | MapOps |
Исходный код
Представление элементов этой коллекции.
| Определяющие классы | MapOps -> IterableOps |
|---|---|
| Унаследовано от | MapOps |
Исходный код
def withDefault(d: K => V): Map[K, V]
Тот же массив с заданной функцией по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т. д., не затрагиваются withDefaultValue.
Вызов методов преобразования (например, map) не сохранит значение по умолчанию.
| Параметры значений |
|
|---|---|
| Возвращаемое значение | обёртка над массивом со значением по умолчанию |
| Унаследовано от | Map |
Исходный код
def withDefaultValue(d: V): Map[K, V]
Тот же массив с заданным значением по умолчанию. Примечание: значение по умолчанию используется только для apply. Другие методы, такие как get, contains, iterator, keys, и т. д., не затрагиваются withDefaultValue.
Вызов методов преобразования (например, map) не сохранит значение по умолчанию.
| Параметры значений |
|
|---|---|
| Возвращаемое значение | обёртка над массивом со значением по умолчанию |
| Унаследовано от | Map |
Исходный код
Создаёт нестрогий фильтр этого массива.
Примечание: разница между c filter p и c withFilter p заключается в том, что первый создаёт новую коллекцию, а второй только ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не является упорядоченным.
| Параметры значений |
|
|---|---|
| Возвращаемое значение | объект класса |
| Определяющие классы | MapFactoryDefaults -> IterableOps |
| Унаследовано от | MapFactoryDefaults |
Исходный код
override def zip[B](that: IterableOnce[B]): CC[(A, B)]
Возвращает итерируемую коллекцию, сформированную из этой итерируемой коллекции и другой итерируемой коллекции путём комбинирования соответствующих элементов в пары. Если одна из двух коллекций длиннее другой, оставшиеся элементы игнорируются.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращаемое значение | новая итерируемая коллекция, содержащая пары, состоящие из соответствующих элементов этой итерируемой коллекции и |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
Возвращает итерируемую коллекцию, сформированную из этой итерируемой коллекции и другой итерируемой коллекции путём комбинирования соответствующих элементов в пары. Если одна из двух коллекций короче другой, для расширения более короткой коллекции до длины более длинной используются плацехолдеры.
| Параметры значения |
|
|---|---|
| Возвращает | новый набор типа |
| Унаследовано от | IterableOps |
Источник
override def zipWithIndex: CC[(A, Int)]
Объединяет этот итерируемый набор со своими индексами.
| Возвращает | Новый итерируемый набор, содержащий пары, состоящие из всех элементов этого итерируемого набора, соединенных с их индексом. Индексы начинаются с |
|---|---|
| Пример | |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Унаследованные поля
Источник
val underlying: Map[K, V]
| Унаследовано от | JMapWrapper |
|---|
© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/collection/mutable/WeakHashMap.html