Класс UnrolledBuffer.UnrolledBuffer
sealed class UnrolledBuffer[T](implicit val tag: ClassTag[T]) extends AbstractBuffer[T] with Buffer[T] with Seq[T] with SeqOps[T, UnrolledBuffer, UnrolledBuffer[T]] with StrictOptimizedSeqOps[T, UnrolledBuffer, UnrolledBuffer[T]] with EvidenceIterableFactoryDefaults[T, UnrolledBuffer, ClassTag] with Builder[T, UnrolledBuffer[T]] with DefaultSerializable
Буфер, хранящий элементы в неразвернутом связанном списке.
Неразвёрнутые связанные списки хранят элементы в связанных массивах фиксированного размера.
Неразвернутые буферы сохраняют локальность и низкую нагрузку на память массивов-буферов, но предлагают гораздо более эффективное добавление элементов, так как они никогда не перевыделяют и не копируют внутренний массив.
Однако они предоставляют сложность случайного доступа O(n/m), где n — количество элементов, а m — размер внутренних блоков массивов.
Идеально подходит для использования, когда: - элементы добавляются в буфер, а затем все элементы просматриваются последовательно - два неразвернутых буфера необходимо конкатенировать (см. concat).
Лучше, чем односвязные списки для случайного доступа, но всё же следует избегать для таких целей.
| Суперадресаты | 32 типа |
|---|
Конкретные методы
Исходный код
def addOne(elem: T): UnrolledBuffer.this.type
Добавляет один элемент в этот неразвернутый буфер.
| Параметры значения |
|
|---|---|
| Возвращает | сам неразвернутый буфер |
Исходный код
Получает элемент по указанному индексу. Эта операция предоставляется для удобства в Seq. Не следует предполагать, что она эффективна, если у вас нет IndexedSeq.
Исходный код
def classTagCompanion: UnrolledBuffer.type
Исходный код
Очищает содержимое этого билдера. После выполнения этого метода билдер не будет содержать элементов.
Исходный код
override def clone(): UnrolledBuffer[T]
Создаёт копию объекта-приёмника.
По умолчанию реализация метода clone зависит от платформы.
| Возвращает | копию объекта-приёмника. |
|---|---|
| Примечание | не указан SLS как член AnyRef |
| Классы определения | SeqOps -> Cloneable -> Object |
Исходный код
Конкатенирует целевой неразвернутый буфер с этим неразвернутым буфером.
Указанный буфер that очищается после этой операции. Это операция O(1).
| Параметры значения |
|
|---|
Исходный код
Применяет f к каждому элементу для его побочных эффектов Примечание: параметр [U] необходим для помощи в выводе типов scalac.
| Классы определения | IterableOnceOps |
|---|
Исходный код
Вставляет новый элемент по заданному индексу в этот буфер.
| Параметры значения |
|
|---|---|
| Исключения |
|
Исходный код
Вставляет новые элементы по индексу idx. В отличие от метода update, этот метод не заменит элемент новым. Вместо этого он вставит новый элемент по индексу idx.
| Параметры значения |
|
|---|---|
| Исключения |
|
Исходный код
Объект-компаньон этого неразвернутого буфера, предоставляющий различные методы фабрики.
END_OF_DOCUMENT_MARKER| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Определяющие классы | Буфер -> Последовательность -> Итерируемый -> Последовательность -> Итерируемый -> Операции с итерируемыми |
Источник
Итератор может быть использован только один раз
Источник
override def knownSize: Целое число
| Возвращаемое значение | Количество элементов в коллекции в процессе построения, если его можно вычислить без больших затрат, иначе -1. Стандартная реализация всегда возвращает -1. |
|---|---|
| Определяющие классы | Буфер -> Растущий -> Однократно итерируемый |
Источник
def length: Целое число
Длина (количество элементов) буфера с развёрнутым массивом. size является псевдонимом для length в коллекциях типа Seq.
Источник
def mapInPlace(f: T => T): UnrolledBuffer.this.type
Источник
def patchInPlace(from: Целое число, patch: Однократно итерируемый[T], replaced: Целое число): UnrolledBuffer.this.type
Источник
def prepend(elem: T): UnrolledBuffer.this.type
Добавляет элемент в начало буфера с развёрнутым массивом.
| Параметры |
|
|---|---|
| Возвращаемое значение | сам буфер с развёрнутым массивом |
Источник
def remove(idx: Целое число): T
Удаляет элемент по заданному индексу.
| Параметры |
|
|---|---|
| Возвращаемое значение | элемент, который ранее находился по индексу |
Источник
Удаляет элементы по заданному индексу. Время выполнения линейно относительно размера буфера.
| Параметры |
|
|---|---|
| Исключения |
|
Источник
def result(): UnrolledBuffer[T]
Результирующая коллекция, состоящая из всех элементов, добавленных до этого момента.
Источник
override def subtractOne(elem: T): UnrolledBuffer.this.type
Удаляет первый встретившийся элемент из буфера. Если элемент в буфере отсутствует, буфер остаётся неизменным.
| Параметры |
|
|---|---|
| Возвращаемое значение | сам буфер |
| Определяющие классы | Буфер -> Уменьшаемый |
Источник
Заменяет элемент по заданному индексу новым значением.
| Параметры |
|
|---|---|
| Исключения |
|
Наследованные методы
Источник
final def ++[B >: T](suffix: Однократно итерируемый[B]): CC[B]
Псевдоним для concat
| Наследованно от | Операции с итерируемыми |
|---|
Источник
final override def ++:[B >: T](prefix: Однократно итерируемый[B]): CC[B]
Псевдоним для prependedAll
| Определяющие классы | SeqOps -> Операции с итерируемыми |
|---|---|
| Наследованно от | SeqOps |
Источник
Псевдоним для addAll
| Наследованно от | Растущий |
|---|
Источник
Псевдоним для prependAll
| Наследованно от | Буфер |
|---|
Источник
final def +:[B >: T](elem: B): CC[B]
Псевдоним для prepended.
Обратите внимание, что операторы с суффиксом `:` являются правоассоциативными (см. пример). Мнемоника для +: vs. :+: двоеточие ставится со стороны коллекции.
| Наследованно от | SeqOps |
|---|
Источник
Псевдоним для addOne
| Наследованно от | Растущий |
|---|
Источник
Псевдоним для prepend
| Наследованно от | Буфер |
|---|
Источник
Псевдоним для subtractAll
| Наследованно от | Уменьшаемый |
|---|
Источник
final def -=(elem: T): Уменьшаемый.this.type
Псевдоним для subtractOne
| Наследованно от | Уменьшаемый |
|---|
Source
final def :+[B >: T](elem: B): CC[B]
Псевдоним для appended
Обратите внимание, что операторы с окончанием «:-» являются правоассоциативными (см. пример). Мемоническое правило для +: по сравнению с :+: двоеточие ставится со стороны коллекции.
| Унаследовано от | SeqOps |
|---|
Source
final def :++[B >: T](suffix: IterableOnce[B]): CC[B]
Псевдоним для appendedAll
| Унаследовано от | SeqOps |
|---|
Source
Добавляет все элементы, полученные из IterableOnce, в эту коллекцию с возможностью роста.
| Параметры значения |
|
|---|---|
| Возвращает | Саму коллекцию с возможностью роста. |
| Унаследовано от | Growable |
Source
Добавляет все элементы этой коллекции в StringBuilder. Записываемый текст состоит из строковых представлений (в соответствии с методом toString) всех элементов этой коллекции без разделительной строки.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> val h = a.addString(b) h: StringBuilder = 1234
| Параметры значения |
|
|---|---|
| Возвращает | StringBuilder |
| Унаследовано от | IterableOnceOps |
Source
Добавляет все элементы этой коллекции в StringBuilder с использованием разделительной строки. Записываемый текст состоит из строковых представлений (в соответствии с методом toString) всех элементов этой коллекции, разделенных строкой sep.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> a.addString(b, ", ") res0: StringBuilder = 1, 2, 3, 4
| Параметры значения |
|
|---|---|
| Возвращает | StringBuilder |
| Унаследовано от | IterableOnceOps |
Source
Добавляет все элементы этой коллекции в StringBuilder с использованием начальной, конечной и разделительной строк. Записываемый текст начинается со строки 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)
| Параметры значения |
|
|---|---|
| Возвращает | строка-построитель |
| Унаследовано от | IterableOnceOps |
Исходный код
Компонует эту частичную функцию с другой частичной функцией, которая применяется к результатам этой частичной функции.
Обратите внимание, что вызов isDefinedAt для полученной частичной функции может применить первую частичную функцию и выполнить её побочное действие. Для повышения эффективности рекомендуется вызывать applyOrElse вместо isDefinedAt или apply.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения этой частичной функции, суженной другой частичной функцией, которая отображает аргументы |
| Унаследовано от | PartialFunction |
Исходный код
override def andThen[C](k: T => C): PartialFunction[A, C]
Компонует эту частичную функцию с функцией преобразования, которая применяется к результатам этой частичной функции.
Если тип функции во время выполнения является PartialFunction, то используется другой метод andThen (обратите внимание на его предостережения).
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения этой частичной функции, возможно, суженной указанной функцией, которая отображает аргументы |
| Классы определения | PartialFunction -> Function1 |
| Унаследовано от | PartialFunction |
Исходный код
Добавляет указанные элементы в этот буфер.
| Параметры значения |
|
|---|---|
| Унаследовано от | Buffer |
Исходный код
Добавляет элементы, содержащиеся в итерируемом объекте, в этот буфер.
| Параметры значения |
|
|---|---|
| Унаследовано от | Buffer |
Исходный код
override def appended[B >: T](elem: B): CC[B]
Копия этой последовательности с добавленным элементом.
Примечание: не будет завершаться для последовательностей бесконечного размера.
Пример:
scala> val a = List(1) a: List[Int] = List(1) scala> val b = a :+ 2 b: List[Int] = List(1, 2) scala> println(a) List(1)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности, после которых следует |
| Классы определения | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Исходный код
override def appendedAll[B >: T](suffix: IterableOnce[B]): CC[B]
Возвращает новую последовательность, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элемента последовательности — это наиболее специфический суперкласс, охватывающий типы элементов двух операндов.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | новый набор типа |
| Определяющие классы | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
def applyOrElse[A1 <: Int, B1 >: T](x: A1, default: A1 => B1): B1
Применяет эту частичную функцию к заданному аргументу, если он содержится в области определения функции. Применяет функцию по умолчанию, если эта частичная функция не определена.
Обратите внимание, что выражение 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. Это может привести к лучшей производительности и более предсказуемому поведению с точки зрения побочных эффектов.
| Параметры значений |
|
|---|---|
| Возвращает | результат применения этой функции или функции по умолчанию. |
| Унаследовано от | PartialFunction |
Источник
Метод, который должен вызываться из каждой хорошо спроектированной функции equals, которая может быть переопределена в подклассе. См. Programming in Scala, Chapter 28 для обсуждения и проектирования.
| Параметры значений |
|
|---|---|
| Возвращает | true, если этот экземпляр потенциально может быть равен |
| Унаследовано от | Seq |
Источник
override def collect[B](pf: PartialFunction[T, B]): CC[B]
Создает новый итерируемый набор, применяя частичную функцию ко всем элементам этого итерируемого набора, для которых функция определена.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | новый итерируемый набор, полученный путем применения заданной частичной функции |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Находит первый элемент набора, для которого заданная частичная функция определена, и применяет к нему частичную функцию.
Примечание: может не завершиться для наборов бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры значений |
|
|---|---|
| Возвращает | значение типа Option, содержащее результат применения pf к первому значению, для которого она определена, или |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Перебирает сочетания. _Сочетание_ длины n — это подпоследовательность исходной последовательности, элементы которой взяты в порядке. Таким образом, "xy" и "yy" — это сочетания длины 2 последовательности "xyy", но "yx" — нет. Если существует более одного способа сгенерировать одну и ту же подпоследовательность, будет возвращена только одна. Какой из трёх способов будет выбран, является деталью реализации и не определён.
Например, "xyyy" имеет три способа генерации "xy", в зависимости от того, какой первый, второй или третий "y" выбран. Однако, поскольку все они идентичны, будет выбран только один. Какой из трёх будет выбран, является реализационной деталью и не определен.
Примечание: даже при применении к представлению или ленивому набору элементы всегда будут принудительно вычислены.
| Возвращает | Итератор, который проходит по возможным сочетаниям n элементов этой последовательности. |
|---|---|
| Пример |
|
| Унаследовано от | SeqOps |
Источник
Компонует другую частичную функцию k с этой частичной функцией таким образом, что эта частичная функция применяется к результатам k.
Обратите внимание, что вызов isDefinedAt на результирующей частичной функции может применить первую частичную функцию и выполнить её побочный эффект. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | частичная функция с областью определения другой частичной функции, суженной этой частичной функцией, которая отображает аргументы |
| Унаследовано от | PartialFunction |
Источник
Компонует две экземпляры Function1 в новую Function1, при этом эта функция применяется последней.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | новая функция |
| Унаследовано от | Function1 |
Источник
final override def concat[B >: T](suffix: IterableOnce[B]): CC[B]
Возвращает новую последовательность, содержащую элементы левого операнда, за которыми следуют элементы правого операнда. Тип элементов последовательности — это наиболее специфический надкласс, охватывающий типы элементов двух операндов.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | новая последовательность, содержащая все элементы этой последовательности, за которыми следуют все элементы |
| Определяющие классы | SeqOps -> IterableOps |
| Унаследовано от | SeqOps |
Source
Проверяет, содержит ли эта последовательность заданное значение в качестве элемента.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Source
Проверяет, содержит ли эта последовательность заданную последовательность в качестве фрагмента.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Source
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start не более чем len элементами этой коллекции.
Копирование прекратится, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива, или len элементов будут скопированы.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Повторное использование: после вызова этого метода итератор, на котором он был вызван, следует удалить. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Source
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями этой коллекции.
Копирование прекратится, как только будут скопированы все элементы этой коллекции или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Повторное использование: после вызова этого метода итератор, на котором он был вызван, следует удалить. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Source
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями из этого набора.
Копирование прекращается, как только скопированы все элементы этого набора или достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Повторное использование: после вызова этого метода итератор, на котором он был вызван, следует удалить. Использование его является неопределённым и может измениться. |
| Наследуется от | IterableOnceOps |
Источник
Проверяет, соответствует ли каждый элемент итератора этого набора соответствующему элементу другого набора, удовлетворяя условию предиката.
Примечание: не завершится для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Наследуется от | IterableOnceOps |
Источник
Проверяет, соответствует ли каждый элемент этой последовательности соответствующему элементу другой последовательности, удовлетворяя условию предиката.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Наследуется от | SeqOps |
Источник
Подсчитывает количество элементов в наборе, удовлетворяющих предикату.
Примечание: не завершится для наборов бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Наследуется от | IterableOnceOps |
Источник
Вычисляет разность мультимножеств этой последовательности и другой последовательности.
| Параметры значения |
|
|---|---|
| Возвращает | новая последовательность, которая содержит все элементы этой последовательности, за исключением некоторых вхождений элементов, также присутствующих в |
| Классы-предки | StrictOptimizedSeqOps -> SeqOps |
| Наследуется от | StrictOptimizedSeqOps |
Источник
def distinct: C
Выбирает все элементы этой последовательности, игнорируя дубликаты.
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности без дубликатов. |
|---|---|
| Наследуется от | SeqOps |
Source
override def distinctBy[B](f: T => B): C
Выбирает все элементы этой последовательности, игнорируя дубликаты, как определяется ==, после применения функции преобразования f.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | новая последовательность, состоящая из всех элементов этой последовательности без дубликатов. |
| Definition Classes | StrictOptimizedSeqOps -> SeqOps |
| Inherited from | StrictOptimizedSeqOps |
Source
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Value parameters |
|
|---|---|
| Returns | итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, кроме первых |
| Inherited from | IterableOps |
Source
| Inherited from | Buffer |
|---|
Source
Остаток коллекции без её n последних элементов. Для линейных неизменяемых коллекций это должно предотвратить создание копии.
Примечание: даже когда применяется к представлению или ленивой коллекции, это всегда будет принудительно вычислять элементы.
| Definition Classes | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Inherited from | StrictOptimizedIterableOps |
Source
| Inherited from | Buffer |
|---|
Source
Удаляет самую длинную префиксную часть элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Value parameters |
|
|---|---|
| Returns | самое длинное суффиксное подмножество этой итерируемой коллекции, первый элемент которого не удовлетворяет предикату |
| Inherited from | IterableOps |
Source
| Inherited from | Buffer |
|---|
Source
def elementWise: ElementWiseExtractor[A, B]
Возвращает объект экстрактора с методом unapplySeq, который извлекает каждый элемент данных последовательности.
| Example |
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
}
|
|---|---|
| Inherited from | PartialFunction |
Source
override def empty: CC[A]
Пустая итерируемая коллекция того же типа, что и эта итерируемая коллекция
| Returns | пустая итерируемая коллекция типа |
|---|---|
| Definition Classes | EvidenceIterableFactoryDefaults -> IterableOps |
| Inherited from | EvidenceIterableFactoryDefaults |
Source
Проверяет, заканчивается ли эта последовательность заданной последовательностью.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Value parameters |
|
|---|---|
| Returns |
|
| Inherited from | SeqOps |
Source
Метод универсального равенства, определенный в AnyRef.
| Definition Classes | Seq -> Equals -> Any |
|---|---|
| Inherited from | Seq |
Source
Проверяет, выполняется ли предикат хотя бы для одного элемента этой коллекции.
Примечание: может не завершаться для коллекций бесконечного размера.
| Value parameters |
|
|---|---|
| Returns |
|
| Inherited from | IterableOnceOps |
Source
Выбирает все элементы этой итерируемой коллекции, удовлетворяющие предикату.
| Value parameters |
|
|---|---|
| Returns | новая итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, удовлетворяющих заданному предикату |
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Inherited from | StrictOptimizedIterableOps |
Source
Выбирает все элементы этой итерируемой коллекции, которые не удовлетворяют предикату.
| Value parameters |
|
|---|---|
| Returns | новая итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, которые не удовлетворяют заданному предикату |
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Inherited from | StrictOptimizedIterableOps |
Source
Находит первый элемент в коллекции, удовлетворяющий предикату, если такой есть.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа Option, содержащее первый элемент в коллекции, удовлетворяющий |
| Унаследовано от | IterableOnceOps |
Source
Находит последний элемент последовательности, удовлетворяющий предикату, если такой есть.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа Option, содержащее последний элемент в последовательности, удовлетворяющий |
| Унаследовано от | SeqOps |
Source
override def flatMap[B](f: T => 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 |
Source
override def flatten[B](implicit toIterableOnce: T => 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 |
Source
def fold[A1 >: T](z: A1)(op: (A1, A1) => A1): A1
Складывает элементы этого набора, используя заданный ассоциативный бинарный оператор. По умолчанию в IterableOnce реализация эквивалентна foldLeft, но может быть переопределена для более эффективных порядков обхода.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Примечание: не завершится для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат применения оператора сложения |
| Унаследовано от | IterableOnceOps |
Source
def foldLeft[B](z: B)(op: (B, T) => B): B
Применяет бинарный оператор к начальному значению и всем элементам этого набора, слева направо.
Примечание: не завершится для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и не коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Source
def foldRight[B](z: B)(op: (T, B) => B): B
Применяет бинарный оператор ко всем элементам этого набора и начальному значению, справа налево.
Примечание: не завершится для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен или оператор ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Source
Проверяет, выполняется ли предикат для всех элементов этого набора.
Примечание: может не завершиться для наборов бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Source
override protected def fromSpecific(coll: IterableOnce[T]): CC[A]
Определяет, как преобразовать заданный Iterable[A] в набор типа C.
Этот процесс может быть выполнен строго или нестрого (т. е. без вычисления элементов результирующих наборов). Другими словами, этот метод определяет модель вычисления набора.
| Note |
When implementing a custom collection type and refining As witnessed by the |
|---|---|
| Definition Classes | EvidenceIterableFactoryDefaults -> IterableOps |
| Inherited from | EvidenceIterableFactoryDefaults |
Source
Разделяет эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с некоторой функцией-дискриминатором.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns |
Карта, отображающая ключи на итерируемые коллекции, удовлетворяющие следующему инварианту: (xs groupBy f)(k) = xs filter (x => f(x) == k) То есть каждый ключ |
| Inherited from | IterableOps |
Source
Разделяет эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с функцией-дискриминатором key. Каждый элемент в группе преобразуется в значение типа B с помощью функции value.
Эквивалентно groupBy(key).mapValues(_.map(f)), но более эффективно.
case class User(name: String, age: Int) def namesByAge(users: Seq[User]): Map[Int, Seq[String]] = users.groupMap(_.age)(_.name)
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Inherited from | IterableOps |
Source
def groupMapReduce[K, B](key: T => K)(f: T => 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)(_ + _)
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Inherited from | IterableOps |
|---|
Source
Разделяет элементы на итерируемые коллекции фиксированного размера.
| Value parameters |
|
|---|---|
| Returns | Итератор, генерирующий итерируемые коллекции размером |
| See also | scala.collection.Iterator, метод |
| Inherited from | IterableOps |
Source
Вычисляет значение хэш-кода для объекта.
Алгоритм хэширования по умолчанию зависит от платформы.
Обратите внимание, что для двух объектов могут быть идентичные хэш-коды (o1.hashCode.equals(o2.hashCode)), но они могут быть не равны (o1.equals(o2) возвращает false). Вырожденная реализация может всегда возвращать 0. Однако, требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true), у них были идентичные хэш-коды (o1.hashCode.equals(o2.hashCode)). Поэтому, при переопределении этого метода, убедитесь, что поведение согласовано с методом equals.
| Returns | значение хэш-кода для этого объекта. |
|---|---|
| Definition Classes | Seq -> Any |
| Inherited from | Seq |
Source
def head: A
Выбирает первый элемент этой итерируемой коллекции.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Returns | первый элемент этой итерируемой коллекции. |
|---|---|
| Throws |
|
| Inherited from | IterableOps |
Source
def headOption: Option[A]
Возвращает первый элемент, если он существует.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Returns | первый элемент этой итерируемой коллекции, если она не пуста, |
|---|---|
| Inherited from | IterableOps |
Source
Находит индекс первого вхождения некоторого значения в этой последовательности.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | индекс |
| Inherited from | SeqOps |
Source
Находит индекс первого вхождения некоторого значения в этой последовательности после или на указанном начальном индексе.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | индекс |
| Inherited from | SeqOps |
Source
Находит первый индекс, где эта последовательность содержит заданную последовательность в качестве среза.
Примечание: может не завершиться для бесконечных коллекций.
| Value parameters |
|
|---|---|
| Returns | первый индекс |
| Inherited from | SeqOps |
Source
Находит первый индекс после или на начальном индексе, где эта последовательность содержит заданную последовательность как срез.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | первый индекс |
| Унаследовано от | SeqOps |
Source
Находит индекс первого элемента, удовлетворяющего некоторому предикату.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Source
Находит индекс первого элемента, удовлетворяющего некоторому предикату после или на некотором начальном индексе.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Source
Производит диапазон всех индексов этой последовательности.
Примечание: даже при применении к представлению или ленивой коллекции она всегда будет принудительно использовать элементы.
| Возвращает | значение |
|---|---|
| Унаследовано от | SeqOps |
Source
def init: C
Начальная часть коллекции без последнего элемента.
Примечание: даже при применении к представлению или ленивой коллекции она всегда будет принудительно использовать элементы.
| Унаследовано от | IterableOps |
|---|
Source
Итерируется по начальным частям этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения — результаты последовательных применений init.
Примечание: даже при применении к представлению или ленивой коллекции она всегда будет принудительно использовать элементы.
| Возвращает | итератор по всем начальным частям этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Source
Вычисляет пересечение мультимножеств между этой последовательностью и другой последовательностью.
| Параметры значения |
|
|---|---|
| Возвращает | новая последовательность, которая содержит все элементы этой последовательности, которые также присутствуют в |
| Классы определения | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Source
Проверяет, содержит ли эта последовательность заданный индекс.
Реализации методов apply и isDefinedAt преобразуют Seq[A] в PartialFunction[Int, A].
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Source
Проверяет, пуста ли последовательность.
Примечание: Реализации в дочерних классах, которые не являются многократно проходимыми, должны позаботиться о том, чтобы не потреблять элементы, когда вызывается isEmpty.
| Возвращает |
|
|---|---|
| Классы определения | SeqOps -> IterableOnceOps |
| Унаследовано от | SeqOps |
Source
override def isTraversableAgain: Boolean
Проверяет, может ли эта итерируемая коллекция быть многократно пройдена. Всегда истинно для итерируемых и ложно для итераторов, если не переопределено.
| Возвращает |
|
|---|---|
| Классы определения | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Source
def last: A
Выбирает последний элемент.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не является упорядоченным.
| Возвращает | Последний элемент этой итерируемой коллекции. |
|---|---|
| Исключения |
|
| Унаследовано от | IterableOps |
Source
Находит индекс последнего вхождения некоторого значения в этой последовательности до или на заданном конечном индексе.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Source
Находит последний индекс, где эта последовательность содержит заданную последовательность как срез.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | последний индекс, такой что элементы этой последовательности, начиная с этого индекса, совпадают с элементами последовательности |
| Унаследовано от | SeqOps |
Источник
Находит последний индекс перед или на заданном индексе конца, где эта последовательность содержит заданную последовательность как срез.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | последний индекс |
| Унаследовано от | SeqOps |
Источник
Находит индекс последнего элемента, удовлетворяющего некоторому предикату.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс последнего элемента этой последовательности, удовлетворяющего предикату |
| Унаследовано от | SeqOps |
Источник
Находит индекс последнего элемента, удовлетворяющего некоторому предикату перед или на заданном индексе конца.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Источник
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 |
Источник
Сравнивает длину этой последовательности с размером другого Iterable.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.length < that.size x == 0 if this.length == that.size x > 0 if this.length > that.size Метод, как реализован здесь, не вызывает |
| Унаследовано от | SeqOps |
Источник
Сравнивает длину этой последовательности со значением проверки.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.length < len x == 0 if this.length == len x > 0 if this.length > len Метод, как реализован здесь, не вызывает |
| См. также | |
| Унаследовано от | SeqOps |
Источник
final def lengthIs: SizeCompareOps
Возвращает объект класса со значениями, содержащими операции сравнения длины этой последовательности со значением проверки.
Эти операции реализованы на основе lengthCompare(Int) и позволяют следующие более читаемые способы использования:
this.lengthIs < len // this.lengthCompare(len) < 0 this.lengthIs <= len // this.lengthCompare(len) <= 0 this.lengthIs == len // this.lengthCompare(len) == 0 this.lengthIs != len // this.lengthCompare(len) != 0 this.lengthIs >= len // this.lengthCompare(len) >= 0 this.lengthIs > len // this.lengthCompare(len) > 0
| Унаследовано от | SeqOps |
|---|
Источник
Преобразует эту частичную функцию в обычную функцию, возвращающую Option результат.
| Возвращает | функция, которая принимает аргумент |
|---|---|
| См. также | Function.unlift |
| Унаследовано от | PartialFunction |
Источник
override def map[B](f: T => B): CC[B]
Создаёт новую итерируемую коллекцию, применяя функцию ко всем элементам этой итерируемой коллекции.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, полученная в результате применения заданной функции |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Библиотека, полученная из этой библиотеки, отображает результат с использованием f.
| Унаследовано от | Builder |
|---|
Source
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наибольший элемент этой коллекции относительно порядка |
| Выбрасывает |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который дает наибольшее значение, измеряемое функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наибольшим значением, измеренным функцией f, относительно порядка |
| Выбрасывает |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который дает наибольшее значение, измеряемое функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение опции, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f, относительно порядка |
| Унаследовано от | IterableOnceOps |
Source
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение опции, содержащее наибольший элемент этой коллекции относительно порядка |
| Унаследовано от | IterableOnceOps |
Source
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наименьший элемент этой коллекции относительно порядка |
| Выбрасывает |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наименьшим значением, измеренным функцией f по отношению к порядку |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение опции, содержащее первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение опции, содержащее наименьший элемент этой коллекции по отношению к порядку |
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этой коллекции в строке.
Делегирует addString, который можно переопределить.
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (с помощью метода |
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этой коллекции в строке с использованием разделительной строки.
Делегирует addString, который можно переопределить.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (с помощью метода |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этого набора в строке, используя начальную, конечную и разделительные строки.
Делегирует вызов методу addString, который можно переопределить.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этого набора. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
override protected def newSpecificBuilder: Builder[A, CC[A]]
| Возвращает | строгий билдер для того же типа коллекции. Обратите внимание, что в случае ленивых коллекций (например, scala.collection.View или scala.collection.immutable.LazyList) этот метод можно реализовать, но полученный |
|---|---|
| Примечание |
При реализации пользовательского типа коллекции и уточнении Как свидетельствует аннотация |
| Классы-предки | EvidenceIterableFactoryDefaults -> IterableOps |
| Унаследовано от | EvidenceIterableFactoryDefaults |
Источник
Проверяет, не является ли коллекция пустой.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Компонует эту частичную функцию с резервной частичной функцией, которая применяется в тех случаях, когда эта частичная функция не определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция, область определения которой является объединением областей определения этой частичной функции и |
| Унаследовано от | PartialFunction |
Источник
Копия этой последовательности с добавленными элементами до достижения заданной целевой длины.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности, дополненная минимальным количеством вхождений |
| Классы-предки | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
| Унаследовано от | Buffer |
|---|
Источник
Пара, состоящая, во-первых, из всех элементов, удовлетворяющих предикату p, и, во-вторых, из всех элементов, которые не удовлетворяют ему. Интересно, потому что разделяет коллекцию на две части.
По умолчанию реализация здесь требует два прохода по коллекции. Строгие коллекции имеют переопределённую версию partition в StrictOptimizedIterableOps, которая требует только одного прохода.
| Классы-предки | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
override def partitionMap[A1, A2](f: T => 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 |
Источник
Создаёт новую последовательность, где фрагмент элементов этой последовательности заменяется другой последовательностью.
Замена по отрицательным индексам эквивалентна замене с началом с 0. Замена по индексам, равным или большим длины исходной последовательности, добавляет замену в конец. Если заменяемых значений больше, чем фактически существует, избыток игнорируется.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности, за исключением того, что |
| Унаследовано от | SeqOps |
Источник
def permutations: Iterator[C]
Итерирует по различным перестановкам.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Возвращает | Итератор, который проходит по различным перестановкам этой последовательности. |
|---|---|
| Пример |
|
| Унаследовано от | SeqOps |
Источник
| Унаследовано от | Buffer |
|---|
Источник
override def prepended[B >: T](elem: B): CC[B]
Копия последовательности с добавленным элементом в начало.
Также, исходная последовательность не изменяется, поэтому вам следует сохранить результат.
Пример:
scala> val x = List(1) x: List[Int] = List(1) scala> val y = 2 +: x y: List[Int] = List(2, 1) scala> println(x) List(1)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, состоящая из |
| Классы определения | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
override def prependedAll[B >: T](prefix: IterableOnce[B]): CC[B]
Как и в случае с :++, возвращает новую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда.
Отличается от :++ тем, что тип результирующей коллекции определяется правым операндом, а не левым. Мемоническая подсказка: символ Двоеточие находится со стороны нового типа КОЛлекции.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, которая содержит все элементы |
| Классы определения | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
Перемножает элементы этой коллекции.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | произведение всех элементов этой коллекции относительно оператора |
| Унаследовано от | IterableOnceOps |
Источник
def reduce[B >: T](op: (B, B) => B): B
Приводит элементы этой коллекции к одному значению, используя заданный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат применения оператора reduce |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceLeft[B >: T](op: (B, T) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceLeftOption[B >: T](op: (B, T) => B): Option[B]
Опционально применяет бинарный оператор ко всем элементам этой коллекции слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | объект Option, содержащий результат |
| Унаследовано от | IterableOnceOps |
Источник
def reduceOption[B >: T](op: (B, B) => B): Option[B]
Приводит элементы этой коллекции, если они есть, к одному значению, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | объект Option, содержащий результат применения оператора reduce |
| Унаследовано от | IterableOnceOps |
Источник
def reduceRight[B >: T](op: (T, B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceRightOption[B >: T](op: (T, B) => B): Option[B]
Опционально применяет бинарный оператор ко всем элементам этой коллекции справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение опции, содержащей результат |
| Унаследовано от | IterableOnceOps |
Источник
def reverse: C
Возвращает новый набор с элементами в обратном порядке.
Примечание: не завершится для наборов бесконечного размера.
Примечание: Даже при применении к представлению или ленивому набору он всегда будет принудительно вычислять элементы.
| Возвращает | Новый набор со всеми элементами этого набора в обратном порядке. |
|---|---|
| Унаследовано от | SeqOps |
Источник
def reverseIterator: Iterator[A]
Итератор, возвращающий элементы в обратном порядке.
Примечание: не завершится для наборов бесконечного размера.
Примечание: xs.reverseIterator эквивалентно xs.reverse.iterator, но может быть более эффективным.
| Возвращает | итератор, возвращающий элементы этого набора в обратном порядке |
|---|---|
| Унаследовано от | SeqOps |
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
Комбинирует эту частичную функцию с функцией действия, которая применяется к результатам этой частичной функции. Функция действия вызывается только для побочных эффектов; ее результат игнорируется.
Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно
if(pf isDefinedAt x) { action(pf(x)); true } else false
за исключением того, что runWith реализовано через applyOrElse и, следовательно, потенциально более эффективно. Использование runWith позволяет избежать двойной оценки согласующих значений и условий для частичных функций-литералов.
| Параметры значения |
|
|---|---|
| Возвращает | функция, которая отображает аргументы |
| См. также |
|
| Унаследовано от | PartialFunction |
Источник
Являются ли элементы этого набора такими же (и в том же порядке), как элементы that?
| Унаследовано от | SeqOps |
|---|
Источник
def scan[B >: T](z: B)(op: (B, B) => B): CC[B]
Вычисляет префиксное сканирование элементов набора.
Примечание: нейтральный элемент z может применяться более одного раза.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый итерируемый набор, содержащий префиксное сканирование элементов в этом итерируемом наборе |
| Унаследовано от | IterableOps |
Источник
override def scanLeft[B](z: B)(op: (B, T) => B): CC[B]
Создаёт набор, содержащий кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не завершится для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | набор с промежуточными результатами |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
def scanRight[B](z: B)(op: (T, B) => B): CC[B]
Создаёт набор, содержащий кумулятивные результаты применения оператора справа налево. Голова набора — последний кумулятивный результат.
Примечание: не завершится для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен.
Примечание: Даже при применении к представлению или ленивому набору он всегда будет принудительно вычислять элементы.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | набор с промежуточными результатами |
| Унаследовано от | IterableOps |
Источник
Поиск в интервале в этом отсортированном наборе определенного элемента. Если этот набор является IndexedSeq, используется двоичный поиск. В противном случае используется линейный поиск.
Набор должен быть отсортирован с использованием того же Ordering перед вызовом; в противном случае результаты неопределены.
| Параметры значения |
|
|---|---|
| Возвращает | значение |
| См. также |
scala.collection.SeqOps, метод |
| Примечание | если |
| Унаследовано от | SeqOps |
Источник
Поиск в этом отсортированном наборе определенного элемента. Если набор является IndexedSeq, используется двоичный поиск. В противном случае используется линейный поиск.
Набор должен быть отсортирован с использованием того же Ordering перед вызовом; в противном случае результаты неопределены.
| Параметры значения |
|
|---|---|
| Возвращает | значение |
| См. также |
scala.collection.SeqOps, метод |
| Унаследовано от | SeqOps |
Исходный код
Вычисляет длину самой длинной последовательности, начинающейся с определенного индекса, элементы которой удовлетворяют некоторому предикату.
Примечание: может не завершиться для бесконечных коллекций.
| Параметры значения |
|
|---|---|
| Возвращает | длину самой длинной последовательности этой последовательности, начинающейся с индекса |
| Унаследовано от | SeqOps |
Исходный код
Вычисляет длину самой длинной последовательности, начинающейся с первого элемента, элементы которой удовлетворяют некоторому предикату.
Примечание: может не завершиться для бесконечных коллекций.
| Параметры значения |
|
|---|---|
| Возвращает | длину самой длинной последовательности этой последовательности, начинающейся с первого элемента, в которой каждый элемент удовлетворяет предикату |
| Унаследовано от | SeqOps |
Исходный код
Размер этой последовательности.
Примечание: не завершится для бесконечных коллекций.
| Возвращает | количество элементов в этой последовательности. |
|---|---|
| Классы определения | SeqOps -> IterableOnceOps |
| Унаследовано от | SeqOps |
Исходный код
Сравнивает размер этой последовательности с размером другой Iterable.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < that.size x == 0 if this.size == that.size x > 0 if this.size > that.size Реализация этого метода не вызывает |
| Классы определения | SeqOps -> IterableOps |
| Унаследовано от | SeqOps |
Исходный код
Сравнивает размер этой последовательности со значением теста.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < otherSize x == 0 if this.size == otherSize x > 0 if this.size > otherSize Реализация этого метода не вызывает |
| См. также | |
| Классы определения | SeqOps -> IterableOps |
| Унаследовано от | SeqOps |
Исходный код
Дает подсказку о том, что ожидается, что result этого билдера будет иметь такой же размер, как у заданной коллекции, плюс некоторая величина. Это предоставит подсказку только в том случае, если размер коллекции известен. Некоторые классы билдеров оптимизируют свое представление на основе подсказки. Однако реализации билдера все равно должны работать правильно, даже если подсказка неверна, то есть добавлено другое количество элементов.
| Параметры значения |
|
|---|---|
| Унаследовано от | Builder |
Исходный код
Дает подсказку о том, сколько элементов ожидается добавить, когда вызов result вызывается. Некоторые классы билдеров оптимизируют свое представление на основе подсказки. Однако реализации билдера все равно должны работать правильно, даже если подсказка неверна, то есть добавлено другое количество элементов.
| Параметры значения |
|
|---|---|
| Унаследовано от | Builder |
Исходный код
Дает подсказку о том, сколько элементов ожидается добавить при вызове следующего result вместе с верхним пределом, задаваемым размером другой коллекции. Некоторые классы билдеров оптимизируют свое представление на основе подсказки. Однако реализации билдера все равно должны работать правильно, даже если подсказка неверна, то есть добавлено другое количество элементов.
| Параметры значения |
|
|---|---|
| Унаследовано от | 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 |
|---|
Исходный код
Выбирает интервал элементов. Возвращаемая коллекция элементов состоит из всех элементов x, которые удовлетворяют инварианту:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | коллекция элементов, содержащая элементы, большие или равные индексу |
| Унаследовано от | IterableOps |
Источник
| Наследуется от | Buffer |
|---|
Источник
Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» по ним (в отличие от разбиения, как в grouped).
Возвращаемый итератор будет пустым при вызове на пустом наборе. Последний элемент, который производит итератор, может быть меньше размера окна, если исходная коллекция не исчерпана окном до его конца и его последний элемент не пропущен шагом перед ним.
| Параметры |
|
|---|---|
| Возвращает | Итератор, производящий итерируемые коллекции размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Наследуется от | IterableOps |
Источник
Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» по ним (в отличие от разбиения, как в grouped).
Пустая коллекция возвращает пустой итератор, а непустая коллекция, содержащая меньше элементов, чем размер окна, возвращает итератор, который произведёт исходную коллекцию как единственный элемент.
| Параметры |
|
|---|---|
| Возвращает | Итератор, производящий итерируемые коллекции размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Наследуется от | IterableOps |
Источник
Сортирует эту последовательность в соответствии с упорядочиванием, полученным из преобразования неявно заданного упорядочивания с помощью функции преобразования.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: даже при применении к представлению или ленивой коллекции всегда будет принудительно принуждаться к элементам.
Сортировка устойчива. То есть элементы, которые равны (как определяется ord.compare), появляются в отсортированной последовательности в том же порядке, что и в исходной.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращает | последовательность, состоящую из элементов этой последовательности, отсортированных в соответствии с порядком, где |
| См. также | |
| Пример |
val words = "The quick brown fox jumped over the lazy dog".split(' ')
// this works because scala.Ordering will implicitly provide an Ordering[Tuple2[Int, Char]]
words.sortBy(x => (x.length, x.head))
res0: Array[String] = Array(The, dog, fox, the, lazy, over, brown, quick, jumped)
|
| Наследуется от | SeqOps |
Источник
Сортирует эту последовательность в соответствии с функцией сравнения.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: даже при применении к представлению или ленивой коллекции всегда будет принудительно принуждаться к элементам.
Сортировка является устойчивой. То есть элементы, которые равны (как определено lt), появляются в отсортированной последовательности в том же порядке, что и в исходной.
| Параметры значения |
|
|---|---|
| Возвращает | последовательность, состоящая из элементов этой последовательности, отсортированных в соответствии с функцией сравнения |
| Пример |
List("Steve", "Tom", "John", "Bob").sortWith(_.compareTo(_) < 0) =
List("Bob", "John", "Steve", "Tom")
|
| Унаследовано от | SeqOps |
Источник
Сортирует эту последовательность в соответствии с Ordering.
Сортировка является устойчивой. То есть элементы, которые равны (как определено ord.compare), появляются в отсортированной последовательности в том же порядке, что и в исходной.
| Параметры значения |
|
|---|---|
| Возвращает | последовательность, состоящая из элементов этой последовательности, отсортированных в соответствии с упорядочением |
| См. также | scala.math.Ordering Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться. |
| Унаследовано от | SeqOps |
Источник
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в соответствии с предикатом.
Примечание: 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 |
Источник
Проверяет, содержит ли эта последовательность заданную последовательность в заданном индексе.
Примечание: Если и объект-получатель this и аргумент that являются бесконечными последовательностями, этот метод может не завершиться.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Источник
Возвращает 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 |
Источник
Суммирует элементы этой коллекции.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращает | сумма всех элементов этой коллекции с учётом оператора |
| Наследован от | IterableOnceOps |
Источник
def tail: C
Остальная часть коллекции без её первого элемента.
| Наследован от | IterableOps |
|---|
Источник
Перебирает хвосты этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения — результаты последовательного применения tail.
| Возвращает | итератор по всем хвостам этой итерируемой коллекции |
|---|---|
| Пример |
|
| Наследован от | IterableOps |
Источник
Выбирает первые n элементов.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.
| Параметры |
|
|---|---|
| Возвращает | итерируемая коллекция, содержащая только первые |
| Наследован от | IterableOps |
Источник
| Наследован от | Buffer |
|---|
Источник
Коллекция, содержащая последние n элементов этой коллекции.
Примечание: даже при применении к представлению или ленивой коллекции элементы будут всегда форсироваться.
| Определения классов | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Наследован от | StrictOptimizedIterableOps |
Источник
| Наследован от | Buffer |
|---|
Источник
Берет самую длинную префиксную последовательность элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.
| Параметры |
|
|---|---|
| Возвращает | самый длинный префикс этой итерируемой коллекции, элементы которого удовлетворяют предикату |
| Наследован от | IterableOps |
Источник
| Наследован от | Buffer |
|---|
Источник
override def tapEach[U](f: T => U): C
Применяет функцию с побочным эффектом к каждому элементу в этой коллекции. Строгие коллекции сразу же применяют f к своим элементам, в то время как ленивые коллекции, такие как представления и LazyLists, применяют f к каждому элементу только при оценке этого элемента и каждый раз, когда этот элемент оценивается.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращает | такая же логическая коллекция, как и эта |
| Определения классов | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Наследован от | StrictOptimizedIterableOps |
Источник
Принимая во внимание фабрику коллекций factory, преобразовать эту коллекцию в соответствующее представление для текущего типа элементов A. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
| Наследован от | IterableOnceOps |
|---|
Source
Преобразовать коллекцию в массив.
Примечание к реализации: НЕ вызывать Array.from из этого метода.
| Унаследовано от | IterableOnceOps |
|---|
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
def toIndexedSeq: IndexedSeq[A]
| Унаследовано от | IterableOnceOps |
|---|
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
| Возвращает | Эта коллекция в виде |
|---|---|
| Унаследовано от | IterableOnceOps |
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
Возвращает строковое представление объекта.
По умолчанию представление зависит от платформы.
| Возвращает | строковое представление объекта. |
|---|---|
| Классы определений | Seq -> Function1 -> Iterable -> Any |
| Унаследовано от | Seq |
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
Транспонирует эту итерируемую коллекцию итерируемых коллекций в итерируемую коллекцию итерируемых коллекций.
Тип результирующей коллекции будет определяться статическим типом итерируемой коллекции. Например:
val xs = List(
Set(1, 2, 3),
Set(4, 5, 6)).transpose
// xs == List(
// List(1, 4),
// List(2, 5),
// List(3, 6))
val ys = Vector(
List(1, 2, 3),
List(4, 5, 6)).transpose
// ys == Vector(
// Vector(1, 4),
// Vector(2, 5),
// Vector(3, 6))
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | двумерная итерируемая коллекция итерируемых коллекций, в которой n-я строка является n-м столбцом этой итерируемой коллекции. |
| Исключения |
|
| Унаследовано от | IterableOps |
Source
Попытка извлечь B из A в выражении сопоставления с образцом.
| Унаследовано от | PartialFunction |
|---|
Source
override def unzip[A1, A2](implicit asPair: T => (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 |
Source
override def unzip3[A1, A2, A3](implicit asTriple: T => (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 |
Source
Копия этого последовательности с заменой одного элемента.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, которая является копией этой последовательности с элементом в позиции |
| Исключения |
|
| Унаследовано от | SeqOps |
Source
Представление над элементами этой коллекции.
| Классы определений | SeqOps -> IterableOps |
|---|---|
| Унаследовано от | SeqOps |
Source
Создаёт нестрогий фильтр этого итерируемого набора.
Примечание: разница между c filter p и c withFilter p заключается в том, что первый создаёт новый набор, тогда как второй только ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.
Примечание: может возвращать разные результаты при разных запусках, если только тип базового набора не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | объект класса |
| Унаследовано от | IterableOps |
Source
override def zip[B](that: IterableOnce[B]): CC[(A, B)]
Возвращает итерируемый набор, сформированный из этого итерируемого набора и другого итерируемого набора, объединяя соответствующие элементы в пары. Если один из двух наборов длиннее другого, его оставшиеся элементы игнорируются.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый итерируемый набор, содержащий пары, состоящие из соответствующих элементов этого итерируемого набора и |
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Source
Возвращает итерируемый набор, сформированный из этого итерируемого набора и другого итерируемого набора, объединяя соответствующие элементы в пары. Если один из двух наборов короче другого, элементы-заполнители используются для расширения более короткого набора до длины более длинного.
| Параметры значения |
|
|---|---|
| Возвращает | новый набор типа |
| Унаследовано от | IterableOps |
Source
override def zipWithIndex: CC[(A, Int)]
Объединяет этот итерируемый набор с его индексами.
| Возвращает | Новый итерируемый набор, содержащий пары, состоящие из всех элементов этого итерируемого набора, спаренных с их индексом. Индексы начинаются с |
|---|---|
| Пример | |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Неявные
Source
© 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/UnrolledBuffer.html