Класс HashMap.HashMap
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
Этот класс реализует изменяемые отображения с использованием хеш-таблицы.
| Параметры типа |
|
|---|---|
| См. также | "Обзор библиотеки коллекций Scala" раздел о |
| Надтипы | 29 типов |
Конструкторы
Исходный код
def this()
Конкретные методы
Исходный код
Добавляет все элементы, произведённые IterableOnce, в эту изменяемую хеш-таблицу.
| Параметры значения |
|
|---|---|
| Возвращает | изменяемую хеш-таблицу. |
| Классы определения | Growable |
Исходный код
Добавляет один элемент в эту изменяемую хеш-таблицу.
| Параметры значения |
|
|---|---|
| Возвращает | изменяемую хеш-таблицу |
Исходный код
override def apply(key: K): V
Извлекает значение, связанное с данным ключом. Этот метод вызывает метод default отображения, если нет отображения от данного ключа к значению. Если не переопределено, метод default выбрасывает NoSuchElementException.
| Параметры значения |
|
|---|---|
| Возвращает | значение, связанное с данным ключом, или результат метода |
| Классы определения | MapOps -> Function1 |
Исходный код
Очищает содержимое этого билдера. После выполнения этого метода билдер не будет содержать элементов.
| Классы определения | MapOps -> Builder -> Clearable |
|---|
Исходный код
Проверяет, содержит ли это отображение привязку для ключа.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Классы определения | MapOps |
Исходный код
Оставляет только те отображения, для которых предикат p возвращает true.
| Параметры значения |
|
|---|---|
| Классы определения | MapOps |
Исходный код
Применяет f к каждому элементу для его побочных эффектов. Примечание: параметр [U] необходим для улучшения работы вывода типов scalac.
| Классы определения | IterableOnceOps |
|---|
Исходный код
override def foreachEntry[U](f: (K, V) => U): Unit
Применяет f к каждой паре ключ/значение для его побочных эффектов. Примечание: параметр [U] необходим для улучшения работы вывода типов scalac.
| Классы определения | MapOps |
|---|
Исходный код
Возвращает значение, связанное с ключом, в виде опционального значения.
| Параметры значения |
|
|---|---|
| Возвращает | опциональное значение, содержащее значение, связанное с |
Исходный код
override def getOrElse[V1 >: V](key: K, default: => V1): V1
Возвращает значение, связанное с ключом, или значение по умолчанию, если ключ не содержится в отображении.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение, связанное с |
| Определяющие классы | MapOps |
Исходный код
override def getOrElseUpdate(key: K, defaultValue: => V): V
Если заданный ключ уже есть в этой карте, возвращает связанное значение.
В противном случае вычисляет значение из заданного выражения op, сохраняет его в карте с ключом и возвращает это значение.
Реализации конкурирующей карты могут оценивать выражение op несколько раз или оценивать op без вставки результата.
| Параметры значения |
|
|---|---|
| Возвращает | значение, связанное с ключом (либо ранее, либо в результате выполнения метода). |
| Определяющие классы | MapOps |
Исходный код
Вычисляет значение кода хеширования для объекта.
По умолчанию алгоритм хеширования зависит от платформы.
Обратите внимание, что для двух объектов допускается иметь одинаковые коды хеширования (o1.hashCode.equals(o2.hashCode)), но не быть равными (o1.equals(o2) возвращает false). Вырожденная реализация может всегда возвращать 0. Однако требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true), они имели одинаковые коды хеширования (o1.hashCode.equals(o2.hashCode)). Поэтому при переопределении этого метода необходимо убедиться, что поведение согласуется с методом equals.
| Возвращает | значение кода хеширования для этого объекта. |
|---|---|
| Определяющие классы | Map -> Any |
Исходный код
Проверяет, пуста ли мутабельная карта хэшей.
Примечание: Реализации в подклассах, которые не являются многократно проходимыми, должны позаботиться о том, чтобы не потреблять элементы при вызове isEmpty.
| Возвращает |
|
|---|---|
| Определяющие классы | IterableOnceOps |
Исходный код
Итератор может быть использован только один раз
| Определяющие классы | IterableOnce |
|---|
Исходный код
Возвращает Stepper для ключей этой карты. См. метод stepper.
| Определяющие классы | MapOps |
|---|
Исходный код
override def keysIterator: Iterator[K]
Создаёт итератор для всех ключей.
| Возвращает | итератор по всем ключам. |
|---|---|
| Определяющие классы | MapOps |
Исходный код
| Возвращает | Количество элементов в коллекции, если его можно вычислить без затрат, в противном случае -1. Реализация по умолчанию всегда возвращает -1. |
|---|---|
| Определяющие классы | MapOps -> Growable -> IterableOnce |
Исходный код
Объект-компаньон этой карты, предоставляющий различные методы создания.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Определяющие классы | Map -> Map -> MapOps |
Исходный код
Добавляет новую пару ключ/значение в эту карту и необязательно возвращает ранее связанное значение. Если в карте уже есть сопоставление для ключа, оно будет перезаписано новым значением.
| Параметры значения |
|
|---|---|
| Возвращает | опциональное значение, содержащее значение, связанное с ключом до выполнения операции |
| Определяющие классы | MapOps |
Исходный код
Удаляет ключ из этой карты, возвращая значение, связанное ранее с этим ключом, как опциональное значение.
| Параметры значения |
|
|---|---|
| Возвращает | опциональное значение, содержащее значение, связанное ранее с |
| Определяющие классы | MapOps |
Исходный код
Размер этой мутабельной карты хэшей.
| Возвращает | количество элементов в этой мутабельной карте хэшей. |
|---|---|
| Определяющие классы | IterableOnceOps |
Исходный код
Указывает предполагаемое количество элементов, которые будут добавлены при следующем вызове result. Некоторые классы билдеров оптимизируют свою структуру на основе подсказки. Однако реализации билдеров по-прежнему должны работать правильно, даже если подсказка неверна, то есть добавляется другое количество элементов.
| Параметры значения |
|
|---|---|
| Определяющие классы | Builder |
Исходный код
Возвращает scala.collection.Stepper для элементов этой коллекции.
Stepper позволяет создавать Java-поток для работы с коллекцией, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, Stepper может использоваться как итератор, который не упаковывает элементы.
Неявный параметр scala.collection.StepperShape определяет тип возвращаемого Stepper в соответствии с типом элемента этой коллекции.
END_OF_DOCUMENT_MARKERДля коллекций
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(elem: K): HashMap.this.type
Удаляет один элемент из этой изменяемой хэш-карты.
| Параметры значения |
|
|---|---|
| Возвращает | изменяемую хэш-карту |
Источник
Добавляет новую пару ключ/значение в эту карту. Если карта уже содержит отображение для ключа, оно будет перезаписано новым значением.
| Параметры значения |
|
|---|---|
| Классы-определения | MapOps |
Источник
Обновляет отображение для указанного ключа и его текущего значения, если таковое имеется (Some если есть текущее отображение, None если нет).
Если функция переназначения возвращает Some(v), отображение обновляется с новым значением v. Если функция переназначения возвращает None, отображение удаляется (или остается отсутствующим, если оно изначально отсутствовало). Если сама функция вызывает исключение, исключение перебрасывается, а текущее отображение остается без изменений.
| Параметры значения |
|
|---|---|
| Возвращает | новое значение, связанное с указанным ключом |
| Классы-определения | MapOps |
Источник
Возвращает Stepper для значений этой карты. См. метод stepper.
| Классы-определения | MapOps |
|---|
Источник
override def valuesIterator: Iterator[V]
Создает итератор для всех значений в этой карте.
| Возвращает | итератор по всем значениям, связанным с каким-либо ключом в этой карте. |
|---|---|
| Классы-определения | 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 |
|---|
Источник
Добавляет все элементы этой коллекции в строковый буфер. Записываемый текст состоит из строковых представлений (с точки зрения метода 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 |
Источник
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 |
Источник
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 |
Источник
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
END_OF_DOCUMENT_MARKER| Параметры значения |
|
|---|---|
| Возвращает | значение опции, содержащей 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 |
Исходный код
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив 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 |
Источник
override def empty: CC[K, V]
Пустая итерируемая коллекция того же типа, что и эта итерируемая коллекция.
| Возвращает | пустая итерируемая коллекция типа |
|---|---|
| Классы определения | MapFactoryDefaults -> IterableOps |
| Унаследовано от | MapFactoryDefaults |
Исходный код
Равенство карт реализуется с помощью метода поиска get. Этот метод возвращает true если
аргумент
oявляетсяMap,две карты имеют одинаковый размер size, и
для каждой
(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 |
Исходный код
Выбирает все элементы этой итерируемой коллекции, которые не удовлетворяют предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новая итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, которые не удовлетворяют заданному предикату |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
Находит первый элемент коллекции, удовлетворяющий предикату, если такой существует.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение опции, содержащее первый элемент в коллекции, удовлетворяющий |
| Унаследовано от | 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, но может быть переопределена для более эффективного порядка обхода.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат применения оператора fold |
| Унаследовано от | 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 |
Исходный код
override protected def fromSpecific(coll: IterableOnce[(K, V)]): CC[K, V]
Определяет, как преобразовать заданную Iterable[A] в коллекцию типа C.
Этот процесс может быть выполнен строгим или нестрогим способом (т.е. без оценки элементов результирующих коллекций). Другими словами, этот метод определяет модель оценки коллекции.
| Примечание |
При реализации пользовательского типа коллекции и уточнении Как показывает аннотация |
|---|---|
| Классы определений | MapFactoryDefaults -> IterableOps |
| Унаследовано от | MapFactoryDefaults |
Исходный код
Разделяет эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с функцией-дискриминатором.
Примечание: Даже при применении к представлению или ленивой коллекции она всегда принудительно выполнит элементы.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
Карта из ключей к итерируемым коллекциям, такая что выполняется следующее инвариантное свойство: (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 |
Исходный код
def head: A
Выбирает первый элемент этой итерируемой коллекции.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Возвращает | первый элемент этой итерируемой коллекции. |
|---|---|
| Исключения |
|
| Унаследовано от | IterableOps |
Исходный код
def headOption: Option[A]
Возвращает первый элемент в виде Option.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Возвращает | первый элемент этой итерируемой коллекции, если она не пуста, |
|---|---|
| Унаследовано от | IterableOps |
Исходный код
def init: C
Начальная часть коллекции без последнего элемента.
Примечание: Даже при применении к представлению или ленивой коллекции она всегда принудительно выполнит элементы.
| Унаследовано от | IterableOps |
|---|
Исходный код
Итерируется по начальным частям этой итерируемой коллекции. Первое значение — это сама итерируемая коллекция, а последнее — пустая итерируемая коллекция, а промежуточные значения — результат последовательных применений init.
Примечание: Даже при применении к представлению или ленивой коллекции она всегда принудительно выполнит элементы.
| Возвращает | итератор по всем начальным частям этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Исходный код
def isDefinedAt(key: K): Boolean
Проверяет, содержит ли эта карта связывание для ключа. Этот метод, реализующий абстрактный метод трайта PartialFunction, эквивалентен contains.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | MapOps |
Исходный код
override def isTraversableAgain: Boolean
Проверяет, может ли эта итерируемая коллекция быть многократно пройдена. Всегда истинно для Iterables и ложно для Iterators, если не переопределено.
| Возвращает |
|
|---|---|
| Классы определений | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Исходный код
Компаньон-объект этой итерируемой коллекции, предоставляющий различные методы фабрики.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Классы определений | Iterable -> Iterable -> IterableOps |
| Унаследовано от | Iterable |
Исходный код
Собирает все ключи этой карты в множество.
| Возвращает | множество, содержащее все ключи этой карты. |
|---|---|
| Унаследовано от | MapOps |
Источник
Собирает все ключи этой карты в итерируемой коллекции.
| Возвращает | ключи этой карты в виде итерируемого объекта. |
|---|---|
| Унаследовано от | MapOps |
Источник
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 |
Source
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | Значение опции, содержащее наибольший элемент этой коллекции по отношению к упорядочению |
| Унаследовано от | IterableOnceOps |
Source
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | наименьший элемент этой коллекции по отношению к упорядочению |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | первый элемент этой коллекции с наименьшим значением, измеренным функцией f по отношению к упорядочению |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | значение опции, содержащее первый элемент этой коллекции с наименьшим значением, измеренным функцией f по отношению к упорядочению |
| Унаследовано от | IterableOnceOps |
Source
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение опции, содержащее наименьший элемент этого набора по отношению к порядку |
| Унаследовано от | 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 |
Source
Компонует эту частичную функцию с резервной частичной функцией, которая применяется в тех случаях, когда эта частичная функция не определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция, область определения которой является объединением областей определения этой частичной функции и |
| Унаследовано от | PartialFunction |
Source
Пара элементов, во-первых, все элементы, удовлетворяющие предикату p, и, во-вторых, все элементы, которые не удовлетворяют ему. Интересно тем, что разделяет коллекцию на две части.
Реализация по умолчанию, представленная здесь, требует двух проходов по коллекции. Строгие коллекции имеют переопределённую версию partition в StrictOptimizedIterableOps, которая требует только одного прохода.
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Source
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 |
Source
Умножает элементы этой коллекции.
Примечание: не будет завершаться для бесконечных коллекций.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | произведение всех элементов этой коллекции относительно оператора |
| Унаследовано от | IterableOnceOps |
Source
def reduce[B >: (K, V)](op: (B, B) => B): B
Сводит элементы этой коллекции, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определён и может быть недетерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Результат применения оператора reduce |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
def reduceLeft[B >: (K, V)](op: (B, (K, V)) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции слева направо.
Примечание: не будет завершаться для бесконечных коллекций.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
def reduceLeftOption[B >: (K, V)](op: (B, (K, V)) => B): Option[B]
Опционально применяет бинарный оператор ко всем элементам этой коллекции слева направо.
Примечание: не будет завершаться для бесконечных коллекций.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее результат |
| Унаследовано от | IterableOnceOps |
Source
def reduceOption[B >: (K, V)](op: (B, B) => B): Option[B]
Сводит элементы этой коллекции, если таковые имеются, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определён и может быть недетерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Значение типа Option, содержащее результат применения оператора reduce |
| Унаследовано от | IterableOnceOps |
Source
def reduceRight[B >: (K, V)](op: ((K, V), B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции справа налево.
Примечание: не будет завершаться для бесконечных коллекций.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | результат вставки |
| Выбрасывает |
|
| Унаследовано от | IterableOnceOps |
Исходный код
def reduceRightOption[B >: (K, V)](op: ((K, V), B) => B): Option[B]
Применяет бинарный оператор ко всем элементам этого набора, справа налево.
Примечание: не будет завершаться для наборов бесконечной длины.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и не коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение опции, содержащее результат |
| Унаследовано от | IterableOnceOps |
Исходный код
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 |
Исходный код
Сравнивает размер этого итерируемого набора с размером другого Iterable.
| Параметры значений |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < that.size x == 0 if this.size == that.size x > 0 if this.size > that.size Метод, как он реализован здесь, не вызывает |
| Унаследовано от | IterableOps |
Исходный код
Сравнивает размер этого итерируемого набора со значением теста.
| Параметры значений |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < otherSize x == 0 if this.size == otherSize x > 0 if this.size > otherSize Метод, как он реализован здесь, не вызывает |
| См. также | |
| Унаследовано от | IterableOps |
Исходный код
Предполагает, что ожидается, что размер result этого билдера будет таким же, как у заданного набора, плюс некоторая величина. Это предоставит подсказку только если размер набора известен. Некоторые классы билдеров оптимизируют своё представление на основе подсказки. Однако реализации билдеров по-прежнему должны работать корректно, даже если подсказка неверна, то есть добавлено другое количество элементов.
| Параметры значений |
|
|---|---|
| Унаследовано от | Builder |
Source
Указывает предполагаемое количество элементов, которые будут добавлены при следующем вызове result, вместе с верхним пределом, заданным размером некоторой другой коллекции. Некоторые классы билдеров оптимизируют свою структуру на основе подсказки. Однако реализации билдеров по-прежнему должны работать правильно, даже если подсказка неверна, то есть добавлено другое количество элементов.
| Параметры значения |
|
|---|---|
| Унаследовано от | Builder |
Source
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 |
|---|
Source
Выбирает интервал элементов. Возвращаемая итерируемая коллекция состоит из всех элементов x, которые удовлетворяют инварианту:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемая коллекция, содержащая элементы, большие или равные индексу |
| Унаследовано от | IterableOps |
Source
Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» над ними (в отличие от разбиения их, как это делается в grouped.)
Возвращаемый итератор будет пустым, когда вызывается для пустой коллекции. Последний элемент, который создаёт итератор, может быть меньше размера окна, когда исходная коллекция не исчерпывается окном до него и его последний элемент не пропущен шагом перед ним.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые коллекции размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Source
Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» над ними (в отличие от разбиения их, как это делается в grouped.)
Пустая коллекция возвращает пустой итератор, а непустая коллекция, содержащая меньше элементов, чем размер окна, возвращает итератор, который будет генерировать исходную коллекцию как единственный элемент.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые коллекции размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Source
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в соответствии с предикатом.
Примечание: 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 |
Источник
Суммирует элементы этой коллекции.
Примечание: не завершится для бесконечных коллекций.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | сумма всех элементов этой коллекции относительно оператора |
| Унаследовано от | 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 |
Исходный код
Собрать все значения этого отображения в итерируемом наборе.
| Возвращает | значения этого отображения как итерируемый набор. |
|---|---|
| Унаследовано от | 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 |
© 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/HashMap.html