Класс ArraySeq.ArraySeq
sealed abstract class ArraySeq[T] extends AbstractSeq[T] with IndexedSeq[T] with IndexedSeqOps[T, ArraySeq, ArraySeq[T]] with StrictOptimizedSeqOps[T, ArraySeq, ArraySeq[T]] with Serializable
Коллекция, представляющая Array[T]. В отличие от ArrayBuffer, она всегда использует один и тот же базовый Array, поэтому она не может увеличиваться или уменьшаться.
| Параметры типа |
|
|---|---|
| Надтипы | 28 типов |
| Известные подтипы |
Абстрактные методы
Исходный код
Базовый массив. Его тип элементов необязательно должен совпадать с типом элементов этого ArraySeq. Примитивный ArraySeq может опираться на массив упакованных значений, а ссылочный ArraySeq может опираться на массив супертипа или подтипа типа элементов.
Исходный код
Тег типа элементов. Он необязательно должен совпадать с типом элементов этого ArraySeq. Примитивный ArraySeq может опираться на массив упакованных значений, а ссылочный ArraySeq может опираться на массив супертипа или подтипа типа элементов.
Исходный код
Возвращает 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 могут быть преобразованы только в последовательные потоки.
| Классы определения | IndexedSeqOps -> IterableOnce |
|---|
Исходный код
Обновление элемента по заданному индексу
Конкретные методы
Исходный код
Создает копию этого объекта, включая базовый массив.
| Классы определения | SeqOps -> Cloneable -> Object |
|---|
Исходный код
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет указанный массив xs начиная с индекса start не более чем len элементами этого обернутого массива.
Копирование прекратится, когда будут скопированы все элементы этого обернутого массива, или будет достигнут конец массива, или len элементов.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращаемое значение | Количество элементов, записанных в массив |
| Примечание | Повторное использование: После вызова этого метода следует отказаться от итератора, на котором он был вызван. Использование его неопределено и может измениться. |
| Классы определения | IterableOnceOps |
Исходный код
Пустая итерируемая коллекция того же типа, что и эта итерируемая коллекция
| Возвращаемое значение | пустая итерируемая коллекция типа |
|---|---|
| Классы определения | IterableFactoryDefaults -> IterableOps |
Source
Универсальный метод сравнения на равенство, определённый в AnyRef.
| Definition Classes | Seq -> Equals -> Any |
|---|
Source
Компаньон-объект этого обернутого массива, предоставляющий различные методы фабрики.
| Note | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Definition Classes | IndexedSeq -> IndexedSeq -> Seq -> Iterable -> Seq -> Iterable -> IterableOps |
Source
Сортирует этот обернутый массив на месте в соответствии с Ordering.
| Value parameters |
|
|---|---|
| Returns | изменённый входной обернутый массив, отсортированный в соответствии с порядком |
| See also | |
| Definition Classes | IndexedSeqOps |
Source
Сортирует этот обернутый массив в соответствии с Ordering.
Сортировка стабильна. То есть, элементы, которые равны (как определяется ord.compare), появляются в том же порядке в отсортированной последовательности, что и в оригинале.
| Value parameters |
|
|---|---|
| Returns | обернутый массив, состоящий из элементов этого обернутого массива, отсортированных в соответствии с порядком |
| See also | scala.math.Ordering Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться. |
| Definition Classes | SeqOps |
Наследованные методы
Source
final def ++[B >: T](suffix: IterableOnce[B]): CC[B]
Псевдоним для concat
| Inherited from | IterableOps |
|---|
Source
final override def ++:[B >: T](prefix: IterableOnce[B]): CC[B]
Псевдоним для prependedAll
| Definition Classes | SeqOps -> IterableOps |
|---|---|
| Inherited from | SeqOps |
Source
final def +:[B >: T](elem: B): CC[B]
Псевдоним для prepended.
Обратите внимание, что операторы с окончанием :- являются правоассоциативными (см. пример). Мемоническая подсказка для +: vs. :+: двоеточие ставится со стороны коллекции.
| Inherited from | SeqOps |
|---|
Source
final def :+[B >: T](elem: B): CC[B]
Псевдоним для appended
Обратите внимание, что операторы с окончанием :- являются правоассоциативными (см. пример). Мемоническая подсказка для +: vs. :+: двоеточие ставится со стороны коллекции.
| Inherited from | SeqOps |
|---|
Source
final def :++[B >: T](suffix: IterableOnce[B]): CC[B]
Псевдоним для appendedAll
| Inherited from | SeqOps |
|---|
Source
Добавляет все элементы этой коллекции в буфер строк. Записанный текст состоит из строковых представлений (с помощью метода 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
| Value parameters |
|
|---|---|
| Returns | буфер строк |
| Inherited from | IterableOnceOps |
Source
Добавляет все элементы этой коллекции в буфер строк с помощью разделительной строки. Записанный текст состоит из строковых представлений (с помощью метода 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
| Value parameters |
|
|---|---|
| Returns | буфер строк |
| Inherited from | IterableOnceOps |
Source
Добавляет все элементы этой коллекции в буфер строк, используя начальную, конечную и разделительные строки. Записанный текст начинается со строки 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)
| Value parameters |
|
|---|---|
| Returns | буфер строк |
| Inherited from | IterableOnceOps |
Source
Компонует эту частичную функцию с другой частичной функцией, которая применяется к результатам этой частичной функции.
Обратите внимание, что вызов isDefinedAt для результирующей частичной функции может применить первую частичную функцию и выполнить её побочный эффект. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | частичная функция с областью определения этой частичной функции, суженной другой частичной функцией, которая отображает аргументы |
| Inherited from | PartialFunction |
Source
override def andThen[C](k: T => C): PartialFunction[A, C]
Компонует эту частичную функцию с функцией преобразования, которая применяется к результатам этой частичной функции.
Если тип выполнения функции является PartialFunction, то используется другой метод andThen (обратите внимание на его предосторожности).
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения этой частичной функции, возможно суженной указанной функцией, которая отображает аргументы |
| Классы определений | PartialFunction -> Function1 |
| Унаследовано от | PartialFunction |
Source
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 |
Source
override def appendedAll[B >: T](suffix: IterableOnce[B]): CC[B]
Возвращает новую последовательность, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элементов последовательности — самый общий суперкласс, охватывающий типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая коллекция типа |
| Классы определений | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Source
Получение элемента по указанному индексу. Эта операция предоставляется для удобства в Seq. Не следует предполагать её эффективность, если у вас нет IndexedSeq.
| Унаследовано от | SeqOps |
|---|
Source
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 |
Source
Метод, который следует вызывать из каждой хорошо спроектированной функции equals, которая может быть переопределена в подклассе. См. Programming in Scala, Глава 28 для обсуждения и проектирования.
| Параметры значения |
|
|---|---|
| Возвращает | true, если этот экземпляр потенциально равен |
| Унаследовано от | Seq |
Source
override def collect[B](pf: PartialFunction[T, B]): CC[B]
Строит новую итерируемую коллекцию, применяя частичную функцию ко всем элементам этой итерируемой коллекции, для которых функция определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, полученная в результате применения данной частичной функции |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Source
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет к нему частичную функцию.
Примечание: может не завершиться для бесконечно больших коллекций.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | значение Option, содержащее результат применения pf к первому значению, для которого она определена, или |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
Итерирует по комбинациям. _Комбинация_ длины 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 |
Источник
Проверяет, содержит ли эта последовательность заданное значение как элемент.
Примечание: может не завершиться для бесконечных коллекций.
| Параметры значения |
|
|---|---|
| Возвращаемое значение |
|
| Наследуется от | SeqOps |
Источник
Проверяет, содержит ли эта последовательность заданную последовательность как срез.
Примечание: может не завершиться для бесконечных коллекций.
| Параметры значения |
|
|---|---|
| Возвращаемое значение |
|
| Наследуется от | SeqOps |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями из этого набора.
Копирование прекращается, как только скопированы все элементы этого набора или достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода итератор, на котором он был вызван, должен быть удален. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями из этого набора.
Копирование прекращается, как только скопированы все элементы этого набора или достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода итератор, на котором он был вызван, должен быть удален. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, соответствует ли каждый элемент итератора этого набора соответствующему элементу другого набора, удовлетворяя условию предиката.
Примечание: не будет завершаться для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, соответствует ли каждый элемент этой последовательности соответствующему элементу другой последовательности, удовлетворяя условию предиката.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Унаследовано от | SeqOps |
Источник
Подсчитывает количество элементов в наборе, удовлетворяющих предикату.
Примечание: не будет завершаться для наборов бесконечного размера.
END_OF_DOCUMENT_MARKER| Параметры значения |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Источник
Вычисляет разность мультимножеств между этой последовательностью и другой последовательностью.
| Параметры значения |
|
|---|---|
| Возвращает | новая последовательность, которая содержит все элементы этой последовательности за исключением некоторых вхождений элементов, которые также встречаются в |
| Классы определения | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
def distinct: C
Выбирает все элементы этой последовательности, игнорируя дубликаты.
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности без дубликатов. |
|---|---|
| Унаследовано от | SeqOps |
Источник
override def distinctBy[B](f: T => B): C
Выбирает все элементы этой последовательности, игнорируя дубликаты, определяемые по ==, после применения преобразовательной функции f.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности без дубликатов. |
| Классы определения | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
Выбирает все элементы, кроме первых n.
| Параметры значения |
|
|---|---|
| Возвращает | последовательность, состоящая из всех элементов этой последовательности, кроме первых |
| Классы определения | IndexedSeqOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | IndexedSeqOps |
Источник
Остальная часть коллекции без ее n последних элементов. Для линейных неизменяемых коллекций это должно предотвратить создание копии.
Примечание: Даже когда применяется к представлению или ленивой коллекции, он всегда принуждает элементы.
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Удаляет самую длинную префиксную часть элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | самый длинный суффикс этой итерационной коллекции, первый элемент которой не удовлетворяет предикату |
| Унаследовано от | IterableOps |
Source
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 |
Source
Проверяет, заканчивается ли эта последовательность заданной последовательностью.
Примечание: не завершится для бесконечных коллекций.
| Параметры |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Source
Проверяет, выполняется ли предикат хотя бы для одного элемента этой коллекции.
Примечание: может не завершиться для бесконечных коллекций.
| Параметры |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Source
Выбирает все элементы этой итерируемой коллекции, удовлетворяющие предикату.
| Параметры |
|
|---|---|
| Возвращает | новая итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, удовлетворяющих заданному предикату |
| Классы-предки | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Source
Выбирает все элементы этой итерируемой коллекции, не удовлетворяющие предикату.
| Параметры |
|
|---|---|
| Возвращает | новая итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, не удовлетворяющих заданному предикату |
| Классы-предки | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Source
Находит первый элемент коллекции, удовлетворяющий предикату, если таковой есть.
Примечание: может не завершиться для бесконечных коллекций.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение опции, содержащее первый элемент в коллекции, удовлетворяющий |
| Унаследовано от | IterableOnceOps |
Исходный код
Находит последний элемент последовательности, удовлетворяющий предикату, если таковой есть.
Примечание: не завершается для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | значение опции, содержащее последний элемент в последовательности, удовлетворяющий |
| Унаследовано от | SeqOps |
Исходный код
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 |
Исходный код
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 |
Исходный код
def fold[A1 >: T](z: A1)(op: (A1, A1) => A1): A1
Выполняет свертку элементов этой коллекции с помощью указанного ассоциативного бинарного оператора. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективных порядков обхода.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
Примечание: не завершается для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат применения оператора свертки |
| Унаследовано от | IterableOnceOps |
Исходный код
def foldLeft[B](z: B)(op: (B, T) => B): B
Применяет бинарный оператор к начальному значению и всем элементам этой коллекции слева направо.
Примечание: не завершается для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип основной коллекции не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Исходный код
override def foldRight[B](z: B)(op: (T, B) => B): B
Применяет бинарный оператор ко всем элементам этой последовательности и начальному значению, двигаясь справа налево.
Примечание: не завершается для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Классы определения | IndexedSeqOps -> IterableOnceOps |
| Унаследовано от | IndexedSeqOps |
Исходный код
Проверяет, выполняется ли предикат для всех элементов этой коллекции.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Исходный код
Применяет f к каждому элементу для получения побочных эффектов. Примечание: параметр [U] необходим для помощи в выводе типов scalac.
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
Разделяет эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с функцией-дискриминатором.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
Карту из ключей к итерируемым коллекциям, в которой выполняется следующее инвариантное условие: (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: 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)(_ + _)
Примечание: Даже при применении к представлению или ленивой коллекции, элементы будут всегда принудительно вычисляться.
| Унаследовано от | 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 |
Исходный код
Находит индекс первого вхождения некоторого значения в этой последовательности.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Исходный код
Находит индекс первого вхождения некоторого значения в этой последовательности после или на определенном стартовом индексе.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Исходный код
Находит первый индекс, где эта последовательность содержит заданную последовательность в виде среза.
Примечание: может не завершаться для последовательностей бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | первый индекс |
| Унаследовано от | SeqOps |
Исходный код
Находит первый индекс после или на стартовом индексе, где эта последовательность содержит заданную последовательность в виде среза.
Примечание: может не завершаться для последовательностей бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | первый индекс |
| Унаследовано от | SeqOps |
Исходный код
Находит индекс первого элемента, удовлетворяющего некоторому предикату.
Примечание: может не завершаться для последовательностей бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Источник
Находит индекс первого элемента, удовлетворяющего некоторому предикату после или на некотором начальном индексе.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Источник
Создает диапазон всех индексов этой последовательности.
Примечание: даже при применении к представлению или ленивой коллекции она всегда принудительно вычисляет элементы.
| Возвращает | значение |
|---|---|
| Унаследовано от | SeqOps |
Источник
def init: C
Начальная часть коллекции без последнего элемента.
Примечание: даже при применении к представлению или ленивой коллекции она всегда принудительно вычисляет элементы.
| Унаследовано от | IterableOps |
|---|
Источник
Итерируется по начальным частям (inits) этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения — результатом последовательных применений init.
Примечание: даже при применении к представлению или ленивой коллекции она всегда принудительно вычисляет элементы.
| Возвращает | итератор по всем начальным частям (inits) этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Вычисляет пересечение множеств (multiset intersection) между этой последовательностью и другой последовательностью.
| Параметры значения |
|
|---|---|
| Возвращает | новая последовательность, содержащая все элементы этой последовательности, которые также появляются в |
| Классы определений | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
Проверяет, содержит ли эта последовательность заданный индекс.
Реализации методов apply и isDefinedAt преобразуют Seq[A] в PartialFunction[Int, A].
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Источник
Проверяет, пуста ли последовательность.
Примечание: Реализации в подклассах, которые не являются многократно проходимыми, должны позаботиться о том, чтобы не потреблять элементы, когда вызывается isEmpty.
| Возвращает |
|
|---|---|
| Классы определений | SeqOps -> IterableOnceOps |
| Унаследовано от | SeqOps |
Источник
override def isTraversableAgain: Boolean
Проверяет, может ли эта итерируемая коллекция быть многократно пройдена. Всегда истинно для Iterables и ложно для Iterators, если не переопределено.
| Возвращает |
|
|---|---|
| Классы определений | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Источник
Итератор может быть использован только один раз
| Унаследовано от | IndexedSeqOps |
|---|
Источник
| Возвращает | Количество элементов в этой последовательности, если оно может быть вычислено с малой стоимостью, -1 в противном случае. Низкая стоимость обычно означает: не требует перебора коллекции. |
|---|---|
| Классы определений | IndexedSeqOps -> IterableOnce |
| Унаследовано от | IndexedSeqOps |
Источник
override def last: A
Выбирает последний элемент.
| Возвращает | Последний элемент этой последовательности. |
|---|---|
| Исключения |
|
| Классы определений | IndexedSeqOps -> IterableOps |
| Унаследовано от | IndexedSeqOps |
Источник
Находит индекс последнего появления некоторого значения в этой последовательности перед или на заданном конечном индексе.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Источник
Находит последний индекс, где эта последовательность содержит заданную последовательность как срез.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | последний индекс, такой что элементы этой последовательности, начиная с этого индекса, соответствуют элементам последовательности |
| Унаследовано от | SeqOps |
Source
Находит последний индекс перед или на заданном индексе окончания, где эта последовательность содержит заданную последовательность как срез.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | последний индекс |
| Унаследовано от | SeqOps |
Source
Находит индекс последнего элемента, удовлетворяющего некоторому предикату.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс последнего элемента этой последовательности, удовлетворяющего предикату |
| Унаследовано от | SeqOps |
Source
Находит индекс последнего элемента, удовлетворяющего некоторому предикату перед или на заданном индексе окончания.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Source
def lastOption: Option[A]
Возвращает опционально последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Возвращает | последний элемент этой коллекции итерируемых объектов, если она не пуста, |
|---|---|
| Унаследовано от | IterableOps |
Source
Аналогично 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 |
Source
Длина (количество элементов) последовательности. size является псевдонимом для length в коллекциях Seq.
| Унаследовано от | SeqOps |
|---|
Source
Сравнивает длину этой последовательности с размером другого 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 |
Source
Сравнивает длину этой последовательности со значением для проверки.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.length < len x == 0 if this.length == len x > 0 if this.length > len Метод, реализованный здесь, не вызывает |
| См. также | |
| Классы определения | IndexedSeqOps -> SeqOps |
| Унаследовано от | IndexedSeqOps |
Source
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 |
|---|
Source
Преобразует эту частичную функцию в обычную функцию, возвращающую опциональное значение.
| Возвращает | функцию, которая принимает аргумент |
|---|---|
| См. также | Function.unlift |
| Унаследовано от | PartialFunction |
Source
override def map[B](f: T => B): CC[B]
Создаёт новую коллекцию итерируемых объектов, применяя функцию ко всем элементам этой коллекции итерируемых объектов.
| Параметры типов |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая коллекция итерируемых объектов, полученная в результате применения данной функции |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Source
def mapInPlace(f: T => T): IndexedSeqOps.this.type
Изменяет эту изменяемую последовательность, применяя функцию ко всем элементам этой изменяемой последовательности.
| Параметры значения |
|
|---|---|
| Возвращает | эта изменяемая последовательность, изменённая путём замены всех элементов результатом применения данной функции |
| Унаследовано от | IndexedSeqOps |
Источник
Находит максимальный элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наибольший элемент этой коллекции относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение варианта, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Источник
Находит максимальный элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | вариантное значение, содержащее наибольший элемент этой коллекции относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Источник
Находит минимальный элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наименьший элемент этой коллекции относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который даёт наименьшее значение, измеряемое функцией f.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наименьшим значением, измеряемым функцией f по отношению к порядку |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который даёт наименьшее значение, измеряемое функцией f.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее первый элемент этой коллекции с наименьшим значением, измеряемым функцией f по отношению к порядку |
| Унаследовано от | IterableOnceOps |
Source
Находит наименьший элемент.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее наименьший элемент этой коллекции по отношению к порядку |
| Унаследовано от | IterableOnceOps |
Source
Отображает все элементы этой коллекции в строке.
Делегирует addString, который может быть переопределён.
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
|---|---|
| Унаследовано от | IterableOnceOps |
Source
Отображает все элементы этой коллекции в строке с использованием разделителя.
Делегирует addString, который может быть переопределён.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
Отображает все элементы этой коллекции в строке, используя строки start, end и разделитель.
Делегирует вызов addString, который может быть переопределён.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
Проверяет, не пуста ли коллекция.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Source
Компонует эту частичную функцию с резервной частичной функцией, которая применяется там, где эта частичная функция не определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция, областью определения которой является объединение областей определения этой частичной функции и |
| Унаследовано от | PartialFunction |
Source
Копия этой последовательности с добавленными элементами-значениями до тех пор, пока не будет достигнута заданная целевая длина.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности, за которыми следуют минимальное количество вхождений |
| Классы определения | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Source
Пара из, во-первых, всех элементов, удовлетворяющих предикату p, и, во-вторых, всех элементов, которые не удовлетворяют. Интересно, потому что разделяет коллекцию на две части.
Предоставленная здесь реализация по умолчанию требует два прохода по коллекции. Строгие коллекции имеют переопределённую версию partition в StrictOptimizedIterableOps, которая требует только одного прохода.
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Source
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 |
Источник
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]
Как и :++, возвращает новый набор, содержащий элементы из левого операнда, за которыми следуют элементы из правого операнда.
В отличие от :++, тип результирующего набора определяется правым операндом, а не левым. Мnemonic: знак COLon находится на стороне нового типа COLlection.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | новая последовательность, содержащая все элементы |
| Определяющие классы | 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]
Сводит элементы этого набора, если таковые имеются, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | Значение опционального типа, содержащее результат применения оператора reduce |
| Унаследовано от | IterableOnceOps |
Источник
def reduceRight[B >: T](op: (T, B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции, двигаясь справа налево.
Примечание: не будет завершаться для коллекций бесконечной размерности.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор не ассоциативен и не коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceRightOption[B >: T](op: (T, 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 >: 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, метод |
| Примечание | если |
| Классы-определения | 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 |
Исходный код
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
| Параметры значения |
|
|---|---|
| Возвращает | последовательность, содержащую элементы, большие или равные индексу |
| Классы определения | IndexedSeqOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | IndexedSeqOps |
Исходный код
Группирует элементы в блоки фиксированного размера, передавая «скользящее окно» по ним (в отличие от разбиения, как в grouped.)
Возвращаемый итератор будет пустым при вызове на пустой коллекции. Последний элемент, который итератор производит, может быть меньше размера окна, если исходная коллекция не исчерпана окном до него и его последний элемент не пропущен шагом перед ним.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые коллекции размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Исходный код
Группирует элементы в блоки фиксированного размера, передавая «скользящее окно» по ним (в отличие от разбиения, как в grouped.)
Пустая коллекция возвращает пустой итератор, а непустая коллекция, содержащая меньше элементов, чем размер окна, возвращает итератор, который произведёт исходную коллекцию как единственный элемент.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые коллекции размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Исходный код
Сортирует эту последовательность в соответствии с Ordering, полученным из неявно заданного Ordering с помощью функции преобразования.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
Сортировка стабильна. То есть элементы, которые равны (как определяется 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 |
Исходный код
Сортирует эту изменяемую последовательность на месте в соответствии с Ordering, полученным из неявно заданного Ordering с помощью функции преобразования.
| См. также | |
|---|---|
| Унаследовано от | IndexedSeqOps |
Source
Сортирует эту изменяемую последовательность на месте в соответствии с функцией сравнения.
| См. также | |
|---|---|
| Унаследовано от | IndexedSeqOps |
Source
Сортирует эту последовательность в соответствии с функцией сравнения.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
Сортировка устойчива. То есть элементы, которые равны (как определено lt), появляются в отсортированной последовательности в том же порядке, что и в исходной.
| Параметры значения |
|
|---|---|
| Возвращает | последовательность, состоящую из элементов этой последовательности, отсортированных в соответствии с функцией сравнения |
| Пример |
List("Steve", "Tom", "John", "Bob").sortWith(_.compareTo(_) < 0) =
List("Bob", "John", "Steve", "Tom")
|
| Унаследовано от | SeqOps |
Source
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | пара, состоящая из самого длинного префикса этой итерируемой коллекции, элементы которой все удовлетворяют |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Source
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в заданной позиции.
Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | пара итерируемых коллекций, состоящая из первых |
| Классы определений | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Source
Проверяет, содержит ли эта последовательность данную последовательность в заданном индексе.
Примечание: Если и получаемый объект this и аргумент that являются бесконечными последовательностями, этот метод может не завершиться.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Source
Суммирует элементы этой коллекции.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | сумма всех элементов этой коллекции относительно оператора |
| Унаследовано от | IterableOnceOps |
Source
def tail: C
Остальная часть коллекции без первого элемента.
| Унаследовано от | IterableOps |
|---|
Source
Итерируется по хвостам этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения — результаты последовательных применений tail.
| Возвращает | итератор по всем хвостам этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Source
Выбирает первые n элементов.
| Параметры значения |
|
|---|---|
| Возвращает | последовательность, содержащую только первые |
| Классы определений | IndexedSeqOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | IndexedSeqOps |
Source
Коллекция, содержащая последние n элементы этой коллекции.
Примечание: даже при применении к представлению или ленивой коллекции она всегда принудительно применяет элементы.
| Классы определений | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Source
Берет самую длинную префиксную часть элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | самый длинный префикс этой итерируемой коллекции, элементы которого удовлетворяют предикату |
| Унаследовано от | IterableOps |
Source
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 |
|---|
Источник
Преобразовать набор в массив.
Примечание к реализации: НЕ вызывайте 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: 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 |
Источник
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 |
Источник
Копия этого последовательности с одним замененным элементом.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | новая последовательность, являющаяся копией этой последовательности, с элементом в позиции |
| Выбрасывает |
|
| Унаследовано от | SeqOps |
Источник
override def view: IndexedSeqView[A]
Представление над элементами этой коллекции.
| Классы определения | IndexedSeqOps -> SeqOps -> IterableOps |
|---|---|
| Унаследовано от | IndexedSeqOps |
Источник
Создаёт нестрогий фильтр этой итерируемой коллекции.
Примечание: Разница между 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/ArraySeq.html