Класс ArrayBuffer.ArrayBuffer
class ArrayBuffer[A] extends AbstractBuffer[A] with IndexedBuffer[A] with IndexedSeqOps[A, ArrayBuffer, ArrayBuffer[A]] with StrictOptimizedSeqOps[A, ArrayBuffer, ArrayBuffer[A]] with IterableFactoryDefaults[A, ArrayBuffer] with DefaultSerializable
Реализация класса Buffer с использованием массива для внутреннего представления последовательности. Добавление, обновление и произвольный доступ занимают постоянное время (амортизированное время). Добавление в начало и удаление элементов линейны по размеру буфера.
| Параметры типа |
|
|---|---|
| См. также | "Обзор библиотеки коллекций Scala" раздел по |
| Супертипы | 35 типов |
Конструкторы
Исходный код
def this()
Исходный код
Конкретные методы
Исходный код
Добавляет все элементы, полученные из IterableOnce, в этот буфер массива.
| Параметры значений |
|
|---|---|
| Возвращает | сам буфер массива. |
| Определяющие классы | Growable |
Исходный код
def addOne(elem: A): ArrayBuffer.this.type
Добавляет один элемент в этот буфер массива.
| Параметры значений |
|
|---|---|
| Возвращает | сам буфер массива |
Исходный код
Получает элемент по указанному индексу. Данная операция предоставлена для удобства в Seq. Не следует предполагать, что она эффективна, если у вас нет IndexedSeq.
Исходный код
Примечание: это не изменяет размер внутреннего представления. См. clearAndShrink, если вы хотите также изменить размер внутреннего представления.
Исходный код
Очищает буфер и уменьшает его до @param size (округляя до ближайшего большего натурального числа)
Исходный код
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет указанный массив xs начиная с индекса start не более чем len элементами этого буфера массива.
Копирование прекратится, как только будут скопированы все элементы этого буфера массива, или будет достигнут конец массива, или len элементов будут скопированы.
| Параметры типа |
|
|---|---|
| Параметры значений |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода необходимо удалить итератор, на котором он был вызван. Использование итератора не определено и может быть изменено. |
| Определяющие классы | IterableOnceOps |
Исходный код
Вставляет новый элемент в указанный индекс в этот буфер.
| Параметры значений |
|
|---|---|
| Исключения |
|
Исходный код
Вставляет новые элементы в индекс idx. В отличие от метода update, этот метод не заменяет элемент новым. Вместо этого он вставит новый элемент в индекс idx.
| Параметры значения |
|
|---|---|
| Исключения |
|
Источник
Объект-компаньон этого массива буферов, предоставляющий различные методы фабрики.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Определяющие классы | IndexedBuffer -> IndexedSeq -> IndexedSeq -> Buffer -> Seq -> Iterable -> Seq -> Iterable -> IterableOps |
Источник
| Возвращает | Количество элементов в этом массиве буферов, если его можно вычислить без особых затрат, в противном случае -1. Без особых затрат обычно означает: не требует обхода коллекции. |
|---|---|
| Определяющие классы | IndexedSeqOps -> Buffer -> Growable -> IterableOnce |
Источник
Длина (количество элементов) массива буфера. size является псевдонимом для length в коллекциях Seq.
Источник
def prepend(elem: A): ArrayBuffer.this.type
Добавляет один элемент в начало этого массива буферов.
| Параметры значения |
|
|---|---|
| Возвращает | сам массив буферов |
Источник
Примечание: это не фактически изменяет размер внутреннего представления. Обратитесь к trimToSize, если вы хотите также изменить размер внутри.
Источник
Примечание: это не фактически изменяет размер внутреннего представления. Обратитесь к trimToSize, если вы хотите также изменить размер внутри.
Источник
Источник
Сортирует этот массив буферов на месте в соответствии с Ordering.
| Параметры значения |
|
|---|---|
| Возвращает | измененный входной массив буферов, отсортированный в соответствии с порядком |
| См. также | |
| Определяющие классы | IndexedSeqOps |
Источник
Возвращает 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. Для Steppers, помеченных scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Steppers могут быть преобразованы только в последовательные потоки.
| Определяющие классы | IndexedSeqOps -> IterableOnce |
|---|
Источник
def trimToSize(): Unit
Усекает ArrayBuffer до подходящего размера для текущего количества элементов (округляя до следующего натурального размера), что может заменить массив более коротким. Это позволяет освободить некоторую неиспользуемую память.
Источник
Заменяет элемент по заданному индексу новым значением.
| Параметры значения |
|
|---|---|
| Исключения |
|
Источник
override def view: ArrayBufferView[A]
Представление элементов этой коллекции.
| Определяющие классы | IndexedSeqOps -> SeqOps -> IterableOps |
|---|
Наследованные методы
Источник
final def ++[B >: A](suffix: IterableOnce[B]): CC[B]
Псевдоним для concat
| Наследуется от | IterableOps |
|---|
Источник
final override def ++:[B >: A](prefix: IterableOnce[B]): CC[B]
Псевдоним для prependedAll
| Определяющие классы | SeqOps -> IterableOps |
|---|---|
| Наследуется от | SeqOps |
Источник
Псевдоним для addAll
| Наследуется от | Growable |
|---|
Источник
Псевдоним для prependAll
| Наследуется от | Buffer |
|---|
Source
final def +:[B >: A](elem: B): CC[B]
Псевдоним для prepended.
Обратите внимание, что операторы, оканчивающиеся на двоеточие, являются правоассоциативными (см. пример). Мнемоника для +: по сравнению с :+: двоеточие ставится со стороны коллекции.
| Унаследовано от | SeqOps |
|---|
Source
Псевдоним для addOne
| Унаследовано от | Growable |
|---|
Source
Псевдоним для prepend
| Унаследовано от | Buffer |
|---|
Source
Псевдоним для subtractAll
| Унаследовано от | Shrinkable |
|---|
Source
final def -=(elem: A): Shrinkable.this.type
Псевдоним для subtractOne
| Унаследовано от | Shrinkable |
|---|
Source
final def :+[B >: A](elem: B): CC[B]
Псевдоним для appended
Обратите внимание, что операторы, оканчивающиеся на двоеточие, являются правоассоциативными (см. пример). Мнемоника для +: по сравнению с :+: двоеточие ставится со стороны коллекции.
| Унаследовано от | SeqOps |
|---|
Source
final def :++[B >: A](suffix: IterableOnce[B]): CC[B]
Псевдоним для appendedAll
| Унаследовано от | SeqOps |
|---|
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)
| Параметры значения |
|
|---|---|
| Возвращает | строка StringBuilder |
| Унаследовано от | IterableOnceOps |
Source
Компонует эту частичную функцию с другой частичной функцией, которая применяется к результатам этой частичной функции.
Обратите внимание, что вызов isDefinedAt для результирующей частичной функции может применить первую частичную функцию и выполнить её побочный эффект. Для повышения эффективности рекомендуется вызывать applyOrElse вместо isDefinedAt или apply.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения этой частичной функции, суженной другой частичной функцией, которая отображает аргументы |
| Унаследовано от | PartialFunction |
Source
override def andThen[C](k: A => C): PartialFunction[A, C]
Компонует эту частичную функцию с функцией преобразования, которая применяется к результатам этой частичной функции.
Если тип функции во время выполнения является PartialFunction, то используется другой метод andThen (обратите внимание на его предостережения).
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения этой частичной функции, возможно, суженной указанной функцией, которая отображает аргументы |
| Классы определений | PartialFunction -> Function1 |
| Унаследовано от | PartialFunction |
Source
Добавляет заданные элементы в этот буфер.
| Параметры значения |
|
|---|---|
| Унаследовано от | Buffer |
Source
Добавляет элементы, содержащиеся в итерируемом объекте, в этот буфер.
| Параметры значения |
|
|---|---|
| Унаследовано от | Buffer |
Source
override def appended[B >: A](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 >: A](suffix: IterableOnce[B]): CC[B]
Возвращает новую последовательность, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элементов последовательности — это самый общий суперкласс, охватывающий типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый набор типа |
| Определяющие классы | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Исходный код
def applyOrElse[A1 <: Int, B1 >: A](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, Глава 28 для обсуждения и проектирования.
| Параметры значения |
|
|---|---|
| Возвращает | true, если этот экземпляр потенциально может быть равен |
| Унаследовано от | Seq |
Исходный код
override def clone(): C
Создает копию объекта-получателя.
Стандартная реализация метода clone зависит от платформы.
| Возвращает | копия объекта-получателя. |
|---|---|
| Примечание | не указано SLS как член AnyRef |
| Определяющие классы | SeqOps -> Cloneable -> Object |
| Унаследовано от | SeqOps |
Исходный код
override def collect[B](pf: PartialFunction[A, 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 >: A](suffix: IterableOnce[B]): CC[B]
Возвращает новую последовательность, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элементов последовательности — это наиболее специфический суперкласс, охватывающий типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, которая содержит все элементы этой последовательности, за которыми следуют все элементы |
| Классы определения | SeqOps -> IterableOps |
| Унаследовано от | SeqOps |
Источник
Проверяет, содержит ли эта последовательность данное значение в качестве элемента.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Источник
Проверяет, содержит ли эта последовательность заданную последовательность в качестве среза.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями этой коллекции.
Копирование остановится, когда будут скопированы все элементы этой коллекции или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода необходимо отказаться от итератора, на котором он был вызван. Использование его неопределено и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями этой коллекции.
Копирование остановится, когда будут скопированы все элементы этой коллекции или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода необходимо отказаться от итератора, на котором он был вызван. Использование его неопределено и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, соответствуют ли каждый элемент итератора этой коллекции соответствующему элементу другой коллекции, удовлетворяя предикату теста.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, соответствуют ли каждый элемент этой последовательности соответствующему элементу другой последовательности, удовлетворяя предикату теста.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Унаследовано от | SeqOps |
Источник
Подсчитывает количество элементов в коллекции, удовлетворяющих предикату.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Источник
Вычисляет разность множеств между этой последовательностью и другой последовательностью.
| Параметры значения |
|
|---|---|
| Возвращает | новая последовательность, содержащая все элементы этой последовательности, за исключением некоторых вхождений элементов, которые также присутствуют в |
| Определяющие классы | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
def distinct: C
Выбирает все элементы этой последовательности, игнорируя дубликаты.
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности без дубликатов. |
|---|---|
| Унаследовано от | SeqOps |
Источник
override def distinctBy[B](f: A => B): C
Выбирает все элементы этой последовательности, игнорируя дубликаты, как определено == после применения преобразующей функции f.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности без дубликатов. |
| Определяющие классы | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
Выбирает все элементы, кроме первых n.
| Параметры значения |
|
|---|---|
| Возвращает | последовательность, состоящая из всех элементов этой последовательности, кроме первых |
| Определяющие классы | IndexedSeqOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | IndexedSeqOps |
Источник
| Унаследовано от | Buffer |
|---|
Источник
Остальная часть коллекции без её n последних элементов. Для линейных неизменяемых коллекций это должно избегать создания копии.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
| Унаследовано от | Buffer |
|---|
Источник
Опускает самую длинную префиксную часть элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | самый длинный суффикс этой итерируемой коллекции, первый элемент которого не удовлетворяет предикату |
| Унаследовано от | IterableOps |
Источник
| Унаследовано от | Buffer |
|---|
Источник
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[A]
Пустая итерируемая коллекция того же типа, что и эта итерируемая коллекция
| Возвращает | пустая итерируемая коллекция типа |
|---|---|
| Определяющие классы | IterableFactoryDefaults -> IterableOps |
| Унаследовано от | IterableFactoryDefaults |
Источник
Проверяет, заканчивается ли эта последовательность заданной последовательностью.
Примечание: не будет завершаться для бесконечно больших коллекций.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Источник
Универсальный метод равенства, определенный в AnyRef.
| Определяющие классы | Seq -> Equals -> Any |
|---|---|
| Унаследовано от | Seq |
Источник
Проверяет, выполняется ли предикат хотя бы для одного элемента этой коллекции.
Примечание: может не завершаться для бесконечно больших коллекций.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Выбирает все элементы этой итерируемой коллекции, удовлетворяющие предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новая итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, удовлетворяющих заданному предикату |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
| Унаследовано от | IndexedBuffer |
|---|
Исходный код
Выбирает все элементы этой итерируемой коллекции, которые не удовлетворяют предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новая итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, которые не удовлетворяют заданному предикату |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
Находит первый элемент коллекции, удовлетворяющий предикату, если таковой существует.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа Option, содержащее первый элемент в коллекции, удовлетворяющий |
| Унаследовано от | IterableOnceOps |
Исходный код
Находит последний элемент последовательности, удовлетворяющий предикату, если таковой существует.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа Option, содержащее последний элемент в последовательности, удовлетворяющий |
| Унаследовано от | SeqOps |
Исходный код
override def flatMap[B](f: A => 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 |
Источник
| Унаследовано от | IndexedBuffer |
|---|
Источник
override def flatten[B](implicit toIterableOnce: A => 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 >: A](z: A1)(op: (A1, A1) => A1): A1
Складывает элементы этого набора, используя указанный ассоциативный бинарный оператор. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективного порядка обхода.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
Примечание: не завершится для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат применения оператора сложения |
| Унаследовано от | IterableOnceOps |
Источник
def foldLeft[B](z: B)(op: (B, A) => B): B
Применяет бинарный оператор к начальному значению и всем элементам этого набора, слева направо.
Примечание: не завершится для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Источник
override def foldRight[B](z: B)(op: (A, B) => B): B
Применяет бинарный оператор ко всем элементам этой последовательности и начальному значению, справа налево.
Примечание: не завершится для наборов бесконечного размера.
END_OF_DOCUMENT_MARKER| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Определяющие классы | IndexedSeqOps -> IterableOnceOps |
| Унаследовано от | IndexedSeqOps |
Источник
Проверяет, выполняется ли предикат для всех элементов этого набора.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Применить f к каждому элементу для его побочных эффектов Примечание: параметр [U] необходим для помощи в выводе типов scalac.
| Унаследовано от | IterableOnceOps |
|---|
Источник
protected def fromSpecific(coll: IterableOnce[A]): CC[A]
Определяет, как преобразовать заданную Iterable[A] в коллекцию типа C.
Этот процесс может быть выполнен жестким или нежестким способом (т. е. без оценки элементов результирующих коллекций). Другими словами, этот метод определяет модель оценки коллекции.
| Примечание |
При реализации пользовательского типа коллекции и уточнении Как видно из аннотации |
|---|---|
| Унаследовано от | IterableFactoryDefaults |
Источник
Разбивает эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с некоторой функцией-дискриминатором.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает |
Карта из ключей в итерируемые коллекции, в которой выполняется следующее инвариантное условие: (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: A => K)(f: A => B)(reduce: (B, B) => B): Map[K, B]
Разделяет эту итерируемую коллекцию на карту согласно функции-дискриминатору key. Все значения, имеющие одинаковый дискриминатор, затем преобразуются функцией f и затем сводятся к одному значению с помощью функции reduce.
Это эквивалентно groupBy(key).mapValues(_.map(f).reduce(reduce)), но более эффективно.
def occurrences[A](as: Seq[A]): Map[A, Int] = as.groupMapReduce(identity)(_ => 1)(_ + _)
Примечание: Даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно вычисляться.
| Унаследовано от | IterableOps |
|---|
Источник
Разделяет элементы на итерируемые коллекции фиксированного размера.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые коллекции размером |
| См. также | scala.collection.Iterator, метод |
| Унаследовано от | IterableOps |
Источник
Вычисляет значение хэш-кода для объекта.
Алгоритм хэширования по умолчанию зависит от платформы.
Обратите внимание, что для двух объектов могут быть идентичны хэш-коды (o1.hashCode.equals(o2.hashCode)), но при этом они могут не быть равны (o1.equals(o2) возвращает false). Вырожденная реализация может всегда возвращать 0. Однако требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true), их хэш-коды были идентичными (o1.hashCode.equals(o2.hashCode)). Поэтому при переопределении этого метода необходимо убедиться, что поведение согласуется с методом equals.
| Возвращает | значение хэш-кода для этого объекта. |
|---|---|
| Классы определения | Seq -> Any |
| Унаследовано от | Seq |
Источник
override def head: A
Выбирает первый элемент этой последовательности.
| Возвращает | первый элемент этой последовательности. |
|---|---|
| Исключения |
|
| Классы определения | IndexedSeqOps -> IterableOps |
| Унаследовано от | IndexedSeqOps |
Источник
override def headOption: Option[A]
Возвращает первый элемент, если он есть.
| Возвращает | первый элемент этой последовательности, если она непустая; |
|---|---|
| Классы определения | IndexedSeqOps -> IterableOps |
| Унаследовано от | IndexedSeqOps |
Source
Находит индекс первого вхождения некоторого значения в эту последовательность.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Source
Находит индекс первого вхождения некоторого значения в эту последовательность после или на определенном начальном индексе.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Source
Находит первый индекс, где эта последовательность содержит заданную последовательность как срез.
Примечание: может не завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | первый индекс |
| Унаследовано от | SeqOps |
Source
Находит первый индекс после или на начальном индексе, где эта последовательность содержит заданную последовательность как срез.
Примечание: может не завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | первый индекс |
| Унаследовано от | SeqOps |
Source
Находит индекс первого элемента, удовлетворяющего некоторому предикату.
Примечание: может не завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Source
Находит индекс первого элемента, удовлетворяющего некоторому предикату после или на определенном начальном индексе.
Примечание: может не завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Source
Возвращает диапазон всех индексов этой последовательности.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычислены.
| Возвращает | значение |
|---|---|
| Унаследовано от | SeqOps |
Источник
def init: C
Начальная часть коллекции без последнего элемента.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычислены.
| Унаследовано от | IterableOps |
|---|
Источник
Итерирует по начальным частям этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения будут результатом последовательных применений init.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычислены.
| Возвращает | итератор по всем начальным частям этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Вычисляет пересечение мультимножеств этой последовательности и другой последовательности.
| Параметры |
|
|---|---|
| Возвращает | новая последовательность, которая содержит все элементы этой последовательности, также присутствующие в |
| Классы определения | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
Проверяет, содержит ли эта последовательность данный индекс.
Реализации методов apply и isDefinedAt преобразуют Seq[A] в PartialFunction[Int, A].
| Параметры |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Источник
Проверяет, является ли последовательность пустой.
Примечание: Реализации в подклассах, которые не являются многократно проходимыми, должны позаботиться о том, чтобы не потреблять какие-либо элементы при вызове isEmpty.
| Возвращает |
|
|---|---|
| Классы определения | SeqOps -> IterableOnceOps |
| Унаследовано от | SeqOps |
Источник
override def isTraversableAgain: Boolean
Проверяет, можно ли многократно пройти по этой итерируемой коллекции. Всегда истинно для итерируемых объектов и ложно для итераторов, если не переопределено.
| Возвращает |
|
|---|---|
| Определяющие классы | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Источник
Итератор может быть использован только один раз
| Унаследовано от | IndexedSeqOps |
|---|
Источник
override def last: A
Выбирает последний элемент.
| Возвращает | Последний элемент этой последовательности. |
|---|---|
| Издает исключение |
|
| Определяющие классы | IndexedSeqOps -> IterableOps |
| Унаследовано от | IndexedSeqOps |
Источник
Находит индекс последнего вхождения некоторого значения в этой последовательности до или на заданном индексе конца.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Источник
Находит последний индекс, где эта последовательность содержит заданную последовательность как срез.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | последний индекс, такой что элементы этой последовательности, начинающиеся с этого индекса, совпадают с элементами последовательности |
| Унаследовано от | 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 Метод в данном случае не вызывает |
| Определяющие классы | IndexedSeqOps -> SeqOps |
| Унаследовано от | IndexedSeqOps |
Источник
Сравнивает длину этой последовательности со значением проверки.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.length < len x == 0 if this.length == len x > 0 if this.length > len Реализованный здесь метод не вызывает |
| См. также | |
| Классы-определения | IndexedSeqOps -> SeqOps |
| Унаследовано от | IndexedSeqOps |
Исходный код
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: A => B): CC[B]
Создаёт новую коллекцию итерируемых объектов, применяя функцию ко всем элементам этой итерируемой коллекции.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, полученная путём применения заданной функции |
| Классы-определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
def mapInPlace(f: A => A): IndexedSeqOps.this.type
Изменяет эту изменяемую последовательность, применяя функцию ко всем элементам этой изменяемой последовательности.
| Параметры значения |
|
|---|---|
| Возвращает | эта изменяемая последовательность, изменённая путём замены всех элементов результатом применения заданной функции |
| Унаследовано от | IndexedSeqOps |
Исходный код
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наибольший элемент этой коллекции относительно порядка |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Исходный код
Находит первый элемент, который возвращает наибольшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно порядка |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который возвращает наибольшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение в виде опции, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение в виде опции, содержащее наибольший элемент этой коллекции относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наименьший элемент этой коллекции относительно порядка |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который возвращает наименьшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно порядка |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который даёт наименьшее значение, измеренное функцией f.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение Option, содержащее первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно порядка |
| Унаследовано от | IterableOnceOps |
Source
Находит наименьший элемент.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение Option, содержащее наименьший элемент этой коллекции относительно порядка |
| Унаследовано от | IterableOnceOps |
Source
Отображает все элементы этой коллекции в строке.
Делегирует addString, который может быть переопределён.
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
|---|---|
| Унаследовано от | IterableOnceOps |
Source
Отображает все элементы этой коллекции в строке с использованием разделительной строки.
Делегирует addString, который может быть переопределён.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
Отображает все элементы этой коллекции в строке с использованием начальной, конечной и разделительных строк.
Делегирует addString, который может быть переопределён.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
protected def newSpecificBuilder: Builder[A, CC[A]]
| Возвращает | строгий билдер для того же типа коллекции. Обратите внимание, что в случае ленивых коллекций (например, scala.collection.View или scala.collection.immutable.LazyList), реализация этого метода возможна, но полученный |
|---|---|
| Примечание |
При реализации пользовательского типа коллекции и уточнении Как показывает аннотация |
| Унаследовано от | IterableFactoryDefaults |
Source
Проверяет, не пуста ли коллекция.
| Возвращает | true, если коллекция содержит хотя бы один элемент, false в противном случае. |
|---|---|
| Унаследовано от | IterableOnceOps |
Source
Соединяет эту частичную функцию с резервной частичной функцией, которая применяется, когда эта частичная функция не определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция, область определения которой является объединением областей определения этой частичной функции и |
| Унаследовано от | PartialFunction |
Source
Копия этой последовательности с добавленными элементами-значениями до достижения заданной целевой длины.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности, за которыми следуют минимальное количество вхождений |
| Классы определений | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Source
| Унаследовано от | Buffer |
|---|
Source
Пара, состоящая из, во-первых, всех элементов, которые удовлетворяют предикату p, и, во-вторых, всех элементов, которые не удовлетворяют. Интересно, так как разделяет коллекцию на две части.
Умолчательная реализация, предоставленная здесь, требует дважды пройтись по коллекции. Строгие коллекции имеют переопределённую версию partition в StrictOptimizedIterableOps, которая требует только одного прохода.
| Definition Classes | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Inherited from | StrictOptimizedIterableOps |
Source
override def partitionMap[A1, A2](f: A => 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))
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | пара итерируемых наборов: первый набор состоит из значений, возвращённых |
| Definition Classes | StrictOptimizedIterableOps -> IterableOps |
| Inherited from | StrictOptimizedIterableOps |
Source
Создаёт новую последовательность, где часть элементов этой последовательности заменяется другой последовательностью.
Замена по отрицательным индексам эквивалентна замене с началом с 0. Замена по индексам, равным или превышающим длину исходной последовательности, добавляет вставку в конец. Если заменяется больше элементов, чем существует, избыток игнорируется.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | новая последовательность, состоящая из всех элементов этой последовательности, за исключением того, что |
| Inherited from | SeqOps |
Source
| Inherited from | IndexedBuffer |
|---|
Source
def permutations: Iterator[C]
Перебирает все возможные перестановки.
Примечание: даже при применении к представлению или ленивому набору элементы всегда будут принудительно вычислены.
| Returns | Итератор, перебирающий все возможные перестановки этой последовательности. |
|---|---|
| Пример |
|
| Inherited from | SeqOps |
Source
| Inherited from | Buffer |
|---|
Source
override def prepended[B >: A](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)
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | новая последовательность, состоящая из |
| Definition Classes | StrictOptimizedSeqOps -> SeqOps |
| Inherited from | StrictOptimizedSeqOps |
Source
override def prependedAll[B >: A](prefix: IterableOnce[B]): CC[B]
Как и :++, возвращает новый набор, содержащий элементы левого операнда, за которыми следуют элементы правого операнда.
Разница с :++ в том, что тип результирующего набора определяется правым операндом, а не левым. Мnemonic: двоеточие стоит со стороны типа нового набора.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | новая последовательность, содержащая все элементы |
| Definition Classes | StrictOptimizedSeqOps -> SeqOps |
| Inherited from | StrictOptimizedSeqOps |
Source
Вычисляет произведение элементов этого набора.
Примечание: не завершится для наборов бесконечной длины.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | произведение всех элементов этого набора относительно операции |
| Inherited from | IterableOnceOps |
Source
def reduce[B >: A](op: (B, B) => B): B
Вычисляет редукцию элементов этого набора с помощью указанной ассоциативной бинарной операции.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | результат применения бинарной операции |
| Throws |
|
| Inherited from | IterableOnceOps |
Source
def reduceLeft[B >: A](op: (B, A) => B): B
Применяет бинарную операцию ко всем элементам этого набора слева направо.
Примечание: не завершится для наборов бесконечной длины.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не является ассоциативным и коммутативным.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | результат вставки |
| Выбрасывает |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceLeftOption[B >: A](op: (B, A) => B): Option[B]
Необязательное применение бинарной операции ко всем элементам этого набора, слева направо.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип основного набора не упорядочен, или оператор не ассоциативен и не коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение опции, содержащее результат |
| Унаследовано от | IterableOnceOps |
Источник
def reduceOption[B >: A](op: (B, B) => B): Option[B]
Сводит элементы этого набора, если таковые имеются, с использованием указанной ассоциативной бинарной операции.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | Значение опции, содержащее результат применения оператора сводки |
| Унаследовано от | IterableOnceOps |
Источник
def reduceRight[B >: A](op: (A, B) => B): B
Применяет бинарную операцию ко всем элементам этого набора, справа налево.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип основного набора упорядочен или оператор ассоциативен и коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | результат вставки |
| Выбрасывает |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceRightOption[B >: A](op: (A, B) => B): Option[B]
Необязательно применяет бинарную операцию ко всем элементам этого набора, справа налево.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип основного набора упорядочен или оператор ассоциативен и коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение опции, содержащее результат |
| Унаследовано от | IterableOnceOps |
Источник
override def reverse: C
Возвращает новую последовательность с элементами в обратном порядке.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Возвращает | Новая последовательность со всеми элементами этой последовательности в обратном порядке. |
|---|---|
| Классы определений | IndexedSeqOps -> SeqOps |
| Унаследовано от | IndexedSeqOps |
Источник
override def reverseIterator: Iterator[A]
Итератор, возвращающий элементы в обратном порядке.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: xs.reverseIterator эквивалентно xs.reverse.iterator, но может быть более эффективным.
| Возвращает | итератор, возвращающий элементы этой последовательности в обратном порядке |
|---|---|
| Классы определений | IndexedSeqOps -> SeqOps |
| Унаследовано от | IndexedSeqOps |
Источник
| Классы определений | IndexedSeqOps -> IterableOnceOps |
|---|---|
| Унаследовано от | IndexedSeqOps |
Источник
Компонует эту частичную функцию с функцией действия, которая применяется к результатам этой частичной функции. Функция действия вызывается только для побочных эффектов; её результат игнорируется.
Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно
if(pf isDefinedAt x) { action(pf(x)); true } else false
за исключением того, что runWith реализована через applyOrElse и, следовательно, потенциально более эффективна. Использование runWith позволяет избежать двойного вычисления обработчиков шаблонов и условий для частичных функций-литералов.
| Параметры значений |
|
|---|---|
| Возвращает | функция, которая отображает аргументы |
| См. также |
|
| Унаследовано от | PartialFunction |
Источник
Являются ли элементы этого набора такими же (и в том же порядке), как у that?
| Унаследовано от | SeqOps |
|---|
Источник
def scan[B >: A](z: B)(op: (B, B) => B): CC[B]
Вычисляет префиксное сканирование элементов набора.
Примечание: нейтральный элемент z может применяться более одного раза.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | новая итерируемая коллекция, содержащая префиксное сканирование элементов в этой итерируемой коллекции |
| Унаследовано от | IterableOps |
Источник
override def scanLeft[B](z: B)(op: (B, A) => B): CC[B]
Производит итерируемую коллекцию, содержащую кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не завершается для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции не упорядочен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | коллекция с промежуточными результатами |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
def scanRight[B](z: B)(op: (A, B) => B): CC[B]
Производит коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Головка коллекции — это последний кумулятивный результат.
Примечание: не завершается для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции не упорядочен.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | коллекция с промежуточными результатами |
| Унаследовано от | IterableOps |
Источник
Поиск в заданном интервале в этой отсортированной последовательности заданного элемента. Если эта последовательность является IndexedSeq, используется двоичный поиск. В противном случае используется линейный поиск.
Последовательность должна быть отсортирована с использованием того же Ordering перед вызовом; в противном случае результаты не определены.
| Параметры значения |
|
|---|---|
| Возвращает | значение |
| См. также |
scala.collection.SeqOps, метод |
| Примечание | если |
| Классы определений | IndexedSeqOps -> SeqOps |
| Унаследовано от | IndexedSeqOps |
Источник
Поиск заданного элемента в этой отсортированной последовательности. Если последовательность является IndexedSeq, используется двоичный поиск. В противном случае используется линейный поиск.
Последовательность должна быть отсортирована с использованием того же Ordering перед вызовом; в противном случае результаты не определены.
| Параметры значения |
|
|---|---|
| Возвращает | значение |
| См. также |
scala.collection.SeqOps, метод |
| Классы определений | IndexedSeqOps -> SeqOps |
| Унаследовано от | IndexedSeqOps |
Источник
Вычисляет длину самой длинной последовательности, начинающейся с определенного индекса, элементы которой удовлетворяют определенному предикату.
Примечание: может не завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | длину самой длинной последовательности в этой последовательности, начинающейся с индекса |
| Унаследовано от | 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 |
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
| Параметры значений |
|
|---|---|
| Возвращает | последовательность, содержащую элементы, большие или равные индексу |
| Классы определений | IndexedSeqOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | IndexedSeqOps |
Source
| Унаследовано от | Buffer |
|---|
Source
Группирует элементы в блоки фиксированного размера, передавая «скользящее окно» по ним (в отличие от разбиения их, как это делается в grouped.)
Возвращаемый итератор будет пустым, когда вызывается на пустом наборе. Последний элемент, который итератор генерирует, может быть меньше размера окна, если исходный набор не исчерпан окном до того, как он и его последний элемент не пропущены шагом перед ним.
| Параметры значений |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые наборы размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Source
Группирует элементы в блоки фиксированного размера, передавая «скользящее окно» по ним (в отличие от разбиения их, как это делается в grouped.)
Пустой набор возвращает пустой итератор, а непустой набор, содержащий меньше элементов, чем размер окна, возвращает итератор, который сгенерирует исходный набор в качестве единственного элемента.
| Параметры значений |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые наборы размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Source
Сортирует эту последовательность согласно порядку, полученному из преобразования неявно заданного порядка с помощью функции преобразования.
Примечание: не завершится для последовательностей бесконечного размера.
Примечание: даже когда применяется к представлению или ленивому набору, элементы всегда будут принудительно использоваться.
Сортировка стабильна. То есть элементы, которые равны (как определено 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 |
Source
Сортирует этот изменяемый набор на месте в соответствии с порядком, полученным из преобразования неявно заданного порядка с помощью функции преобразования.
| См. также | |
|---|---|
| Унаследовано от | IndexedSeqOps |
Source
Сортирует этот изменяемый набор на месте в соответствии с функцией сравнения.
| См. также | |
|---|---|
| Унаследовано от | IndexedSeqOps |
Source
Сортирует эту последовательность в соответствии с функцией сравнения.
Примечание: не завершится для последовательностей бесконечного размера.
Примечание: даже когда применяется к представлению или ленивому набору, элементы всегда будут принудительно использоваться.
Сортировка стабильна. То есть элементы, которые равны (как определено lt ), появляются в отсортированной последовательности в том же порядке, что и в исходной.
| Параметры значений |
|
|---|---|
| Возвращает | последовательность, состоящую из элементов этой последовательности, отсортированных в соответствии с функцией сравнения |
| Пример |
List("Steve", "Tom", "John", "Bob").sortWith(_.compareTo(_) < 0) =
List("Bob", "John", "Steve", "Tom")
|
| Унаследовано от | SeqOps |
Source
Сортирует эту последовательность в соответствии с порядком.
Сортировка стабильна. То есть элементы, которые равны (как определено ord.compare ), появляются в отсортированной последовательности в том же порядке, что и в исходной.
| Параметры значений |
|
|---|---|
| Возвращает | последовательность, состоящую из элементов этой последовательности, отсортированных в соответствии с порядком |
| См. также | scala.math.Ordering Примечание: даже когда применяется к представлению или ленивому набору, элементы всегда будут принудительно использоваться. |
| Унаследовано от | SeqOps |
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 |
Исходный код
Проверяет, содержит ли эта последовательность заданную последовательность в заданном индексе.
Примечание: Если и получаемый объект this и аргумент that являются бесконечными последовательностями, этот метод может не завершиться.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Исходный код
Удаляет все элементы, сгенерированные итератором, из этой сжимаемой коллекции.
| Параметры значения |
|
|---|---|
| Возвращает | сама сжимаемая коллекция |
| Унаследовано от | Shrinkable |
Исходный код
def subtractOne(x: A): Buffer.this.type
Удаляет один элемент из этого буфера в его первом появлении. Если буфер не содержит этот элемент, он остается без изменений.
| Параметры значения |
|
|---|---|
| Возвращает | сам буфер |
| Унаследовано от | Buffer |
Исходный код
Суммирует элементы этой коллекции.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | сумма всех элементов этой коллекции относительно оператора |
| Унаследовано от | IterableOnceOps |
Исходный код
def tail: C
Остальная часть коллекции без ее первого элемента.
| Унаследовано от | IterableOps |
|---|
Исходный код
Итерируется по хвостам этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения — результатами последовательных применений tail.
| Возвращает | итератор по всем хвостам этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Исходный код
Выбирает первые n элементов.
| Параметры значения |
|
|---|---|
| Возвращает | последовательность, содержащую только первые |
| Определяющие классы | IndexedSeqOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | IndexedSeqOps |
Исходный код
| Унаследовано от | Buffer |
|---|
Исходный код
Коллекция, содержащая последние n элементы этой коллекции.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычислены.
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
| Унаследовано от | Buffer |
|---|
Исходный код
Берет самый длинный префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | самый длинный префикс этой итерируемой коллекции, элементы которой удовлетворяют предикату |
| Унаследовано от | IterableOps |
Исходный код
| Унаследовано от | Buffer |
|---|
Источник
override def tapEach[U](f: A => 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 |
|---|
Источник
Возвращает строковое представление объекта.
По умолчанию представление зависит от платформы.
| Возвращаемое значение | строковое представление объекта. |
|---|---|
| Классы определений | Seq -> Function1 -> Iterable -> Any |
| Унаследовано от | Seq |
Источник
| Унаследовано от | 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: A => (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: A => (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 |
Исходный код
Копия этого последовательности с заменой одного элемента.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, являющаяся копией этой последовательности с элементом на позиции |
| Исключения |
|
| Унаследовано от | SeqOps |
Исходный код
Создаёт нестрогий фильтр этой итерируемой коллекции.
Примечание: разница между c filter p и c withFilter p заключается в том, что первый создаёт новую коллекцию, а второй только ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | объект класса |
| Унаследовано от | IterableOps |
Исходный код
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/ArrayBuffer.html