Трейт StrictOptimizedLinearSeqOps.StrictOptimizedLinearSeqOps
трейт StrictOptimizedLinearSeqOps[+A, +CC <: (LinearSeq), +C <: LinearSeq[A] & StrictOptimizedLinearSeqOps[A, CC, C]] extends LinearSeqOps[A, CC, C] with StrictOptimizedSeqOps[A, CC, C]
| Супертипы | |
|---|---|
| Известные подтипы |
Конкретные методы
Исходный код
Выбирает все элементы, кроме первых n.
| Параметры значения |
|
|---|---|
| Возвращает | последовательность, состоящую из всех элементов этой последовательности, кроме первых |
| Классы определений | IterableOps -> IterableOnceOps |
Исходный код
Удаляет наибольший префикс элементов, удовлетворяющих предикату.
| Параметры значения |
|
|---|---|
| Возвращает | наибольший суффикс этой последовательности, первый элемент которого не удовлетворяет предикату |
| Классы определений | IterableOps -> IterableOnceOps |
Исходный код
Итератор может быть использован только один раз
| Классы определений | LinearSeqOps -> IterableOnce |
|---|
Унаследованные методы
Исходный код
финальное def ++[B >: A](suffix: IterableOnce[B]): CC[B]
Псевдоним для concat
| Унаследованное от | IterableOps |
|---|
Исходный код
финальное переопределение def ++:[B >: A](prefix: IterableOnce[B]): CC[B]
Псевдоним для prependedAll
| Классы определений | SeqOps -> IterableOps |
|---|---|
| Унаследованное от | SeqOps |
Исходный код
финальное def +:[B >: A](elem: B): CC[B]
Псевдоним для prepended.
Обратите внимание, что операторы с окончанием :- являются правоассоциативными (см. пример). Мемонический приём для +: по сравнению с :+ заключается в том, что двоеточие ставится со стороны коллекции.
| Унаследованное от | SeqOps |
|---|
Исходный код
финальное def :+[B >: A](elem: B): CC[B]
Псевдоним для appended
Обратите внимание, что операторы с окончанием :- являются правоассоциативными (см. пример). Мемонический приём для +: по сравнению с :+ заключается в том, что двоеточие ставится со стороны коллекции.
| Унаследованное от | SeqOps |
|---|
Исходный код
финальное def :++[B >: A](suffix: IterableOnce[B]): CC[B]
Псевдоним для appendedAll
| Унаследованное от | SeqOps |
|---|
Исходный код
Добавляет все элементы этой коллекции в строковый буфер. Записанный текст состоит из строковых представлений (в соответствии с методом toString) всех элементов этой коллекции без разделительной строки.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> val h = a.addString(b) h: StringBuilder = 1234
| Параметры значения |
|
|---|---|
| Возвращает | строковый буфер |
| Унаследованное от | IterableOnceOps |
Исходный код
Добавляет все элементы этой коллекции в строковый буфер с использованием разделительной строки. Записанный текст состоит из строковых представлений (в соответствии с методом toString) всех элементов этой коллекции, разделенных строкой sep.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> a.addString(b, ", ") res0: StringBuilder = 1, 2, 3, 4
| Параметры значения |
|
|---|---|
| Возвращает | строковый буфер |
| Унаследованное от | IterableOnceOps |
Исходный код
Добавляет все элементы этой коллекции в строковый буфер с использованием начальной, конечной и разделительных строк. Записанный текст начинается со строки start и заканчивается строкой end. Внутри строковые представления (в соответствии с методом toString) всех элементов этой коллекции разделены строкой sep.
Пример:
scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)
scala> val b = new StringBuilder()
b: StringBuilder =
scala> a.addString(b , "List(" , ", " , ")")
res5: StringBuilder = List(1, 2, 3, 4)
| Параметры значения |
|
|---|---|
| Возвращает | строковый буфер |
| Унаследованное от | IterableOnceOps |
Исходный код
переопределение 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 |
Источник
Получение элемента по указанному индексу. Данная операция предоставляется для удобства в Seq. Не следует предполагать её эффективность, если у вас нет IndexedSeq.
| Классы определений | LinearSeqOps -> SeqOps |
|---|---|
| Унаследовано от | LinearSeqOps |
Источник
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 |
Source
final override def concat[B >: A](suffix: IterableOnce[B]): CC[B]
Возвращает новую последовательность, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элементов последовательности — наиболее общий суперкласс, охватывающий типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, содержащая все элементы этой последовательности, за которыми следуют все элементы |
| Классы определения | SeqOps -> IterableOps |
| Унаследовано от | SeqOps |
Source
Проверяет, содержит ли эта последовательность данное значение в качестве элемента.
Примечание: может не завершаться для бесконечных коллекций.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Классы определения | LinearSeqOps -> SeqOps |
| Унаследовано от | LinearSeqOps |
Source
Проверяет, содержит ли эта последовательность заданную последовательность как фрагмент.
Примечание: может не завершаться для бесконечных коллекций.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Source
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start не более чем len элементами этой коллекции.
Копирование прекратится, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива, или len элементов будут скопированы.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван. Его использование не определено и может быть изменено. |
| Унаследовано от | IterableOnceOps |
Source
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями этой коллекции.
Копирование прекратится, когда будут скопированы все элементы этого набора или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Повторное использование: После вызова этого метода необходимо избавиться от итератора, на котором он был вызван. Использование итератора в этом случае неопределённо и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет указанный массив xs начиная с индекса start значениями из этого набора.
Копирование прекратится, когда будут скопированы все элементы этого набора или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Повторное использование: После вызова этого метода необходимо избавиться от итератора, на котором он был вызван. Использование итератора в этом случае неопределённо и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, соответствует ли каждый элемент итератора этого набора соответствующему элементу другого набора, удовлетворяя условию предиката.
Примечание: не завершится для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, соответствует ли каждый элемент этой последовательности соответствующему элементу другой последовательности, удовлетворяя условию предиката.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Унаследовано от | SeqOps |
Источник
Подсчитывает количество элементов в наборе, которые удовлетворяют предикату.
Примечание: не завершится для наборов бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Источник
Вычисляет разность множеств между этой последовательностью и другой последовательностью.
| Параметры значения |
|
|---|---|
| Возвращает | новая последовательность, содержащая все элементы этой последовательности, за исключением некоторых вхождений элементов, которые также присутствуют в |
| Классы-определения | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Source
def distinct: C
Выбирает все элементы этой последовательности, игнорируя дубликаты.
| Возвращает | новую последовательность, состоящую из всех элементов этой последовательности без дубликатов. |
|---|---|
| Унаследовано от | SeqOps |
Source
override def distinctBy[B](f: A => B): C
Выбирает все элементы этой последовательности, игнорируя дубликаты, определяемые по результату == после применения преобразующей функции f.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новую последовательность, состоящую из всех элементов этой последовательности без дубликатов. |
| Классы определений | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Source
Остаток коллекции без её n последних элементов. Для линейных неизменяемых коллекций это должно предотвратить создание копии.
Примечание: Даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно вычисляться.
| Классы определений | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Source
def empty: C
Пустая итерация того же типа, что и эта итерация
| Возвращает | пустая итерация типа |
|---|---|
| Унаследовано от | IterableOps |
Source
Проверяет, заканчивается ли эта последовательность заданной последовательностью.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Source
Проверяет, выполняется ли предикат хотя бы для одного элемента этой последовательности.
Примечание: может не завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Классы определения | LinearSeqOps -> IterableOnceOps |
| Унаследовано от | LinearSeqOps |
Источник
Выбирает все элементы этой итерируемой коллекции, которые удовлетворяют предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новая итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, удовлетворяющих заданному предикату |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Выбирает все элементы этой итерируемой коллекции, которые не удовлетворяют предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новая итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, которые не удовлетворяют заданному предикату |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Находит первый элемент последовательности, удовлетворяющий предикату, если таковой существует.
Примечание: может не завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа option, содержащее первый элемент в последовательности, который удовлетворяет |
| Классы определения | LinearSeqOps -> IterableOnceOps |
| Унаследовано от | LinearSeqOps |
Источник
Находит последний элемент последовательности, удовлетворяющий предикату, если таковой существует.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа option, содержащее последний элемент в последовательности, который удовлетворяет |
| Классы определения | LinearSeqOps -> SeqOps |
| Унаследовано от | LinearSeqOps |
Источник
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 |
Источник
override def flatten[B](implicit toIterableOnce: A => IterableOnce[B]): CC[B]
Преобразует этот итерируемый набор наборов Traversable в итерируемый набор, образованный элементами этих наборов Traversable.
Тип результирующего набора будет определяться типом итерируемого набора. Например:
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 |
Источник
override def foldLeft[B](z: B)(op: (B, A) => B): B
Применяет бинарный оператор к начальному значению и всем элементам этой последовательности слева направо.
Примечание: не завершится для последовательностей бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Определяющие классы | LinearSeqOps -> IterableOnceOps |
| Унаследовано от | LinearSeqOps |
Источник
def foldRight[B](z: B)(op: (A, B) => B): B
Применяет бинарный оператор ко всем элементам этого набора и начальному значению, двигаясь справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, выполняется ли предикат для всех элементов этой последовательности.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Классы определения | LinearSeqOps -> IterableOnceOps |
| Унаследовано от | LinearSeqOps |
Источник
Применяет f к каждому элементу для его побочных эффектов. Примечание: параметр [U] необходим для помощи в выводе типов scalac.
| Классы определения | LinearSeqOps -> IterableOnceOps |
|---|---|
| Унаследовано от | LinearSeqOps |
Источник
Разбивает эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с некоторой функцией-дискриминатором.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
Карта из ключей к итерируемым коллекциям, для которой выполняется следующее инвариантное свойство: (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 |
Источник
def head: A
Выбирает первый элемент этого итерируемого набора.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не является упорядоченным.
| Возвращает | первый элемент этого итерируемого набора. |
|---|---|
| Имеет исключения |
|
| Унаследовано от | IterableOps |
Источник
override def headOption: Option[A]
Возможный выбор первого элемента.
| Возвращает | первый элемент этой последовательности, если она непустая, |
|---|---|
| Определяющие классы | LinearSeqOps -> IterableOps |
| Унаследовано от | LinearSeqOps |
Источник
Находит индекс первого вхождения некоторого значения в эту последовательность.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Источник
Находит индекс первого вхождения некоторого значения в эту последовательность после или на определенном стартовом индексе.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Источник
Находит первый индекс, где эта последовательность содержит заданную последовательность как срез.
Примечание: может не завершаться для бесконечных коллекций.
| Параметры значения |
|
|---|---|
| Возвращает | первый индекс |
| Унаследовано от | SeqOps |
Источник
Находит первый индекс после или на начальном индексе, где эта последовательность содержит заданную последовательность как срез.
Примечание: может не завершаться для бесконечных коллекций.
| Параметры значения |
|
|---|---|
| Возвращает | первый индекс |
| Унаследовано от | SeqOps |
Источник
Находит индекс первого элемента, удовлетворяющего некоторому предикату.
Примечание: может не завершаться для бесконечных коллекций.
| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Источник
Находит индекс первого элемента, удовлетворяющего некоторому предикату после или на определенном начальном индексе.
Примечание: может не завершаться для бесконечных коллекций.
| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Классы определений | LinearSeqOps -> SeqOps |
| Унаследовано от | LinearSeqOps |
Источник
Создает диапазон всех индексов этой последовательности.
Примечание: даже при применении к представлению или ленивой коллекции она всегда принудительно вычисляет элементы.
| Возвращает | значение |
|---|---|
| Унаследовано от | SeqOps |
Источник
def init: C
Начальная часть коллекции без последнего элемента.
Примечание: даже при применении к представлению или ленивой коллекции она всегда принудительно вычисляет элементы.
| Унаследовано от | IterableOps |
|---|
Источник
Итерирует по начальным частям (inits) этой коллекции. Первое значение будет этой коллекцией, а последнее — пустой коллекцией, а промежуточные значения — результатами последовательных применений init.
Примечание: даже при применении к представлению или ленивой коллекции она всегда принудительно вычисляет элементы.
| Возвращает | итератор по всем начальным частям (inits) этой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Вычисляет пересечение мультимножеств между этой последовательностью и другой последовательностью.
| Параметры значения |
|
|---|---|
| Возвращает | новая последовательность, содержащая все элементы этой последовательности, которые также появляются в |
| Классы определений | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
Проверяет, содержит ли эта последовательность заданный индекс.
Реализации методов apply и isDefinedAt преобразуют Seq[A] в PartialFunction[Int, A].
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Классы определений | LinearSeqOps -> SeqOps |
| Унаследовано от | LinearSeqOps |
Источник
Проверяет, пуста ли последовательность.
Примечание: реализации в подклассах, которые не являются многократно проходимыми, должны следить за тем, чтобы не потреблять никакие элементы, когда isEmpty вызывается.
| Возвращает |
|
|---|---|
| Классы определений | SeqOps -> IterableOnceOps |
| Унаследовано от | SeqOps |
Источник
override def isTraversableAgain: Boolean
Проверяет, можно ли многократно пройти по этой коллекции. Всегда истинно для Iterables и ложно для Iterators, если не переопределено.
| Возвращает |
|
|---|---|
| Классы определений | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Источник
def iterableFactory: IterableFactory[CC]
Объект-компаньон этой коллекции, предоставляющий различные методы фабрики.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Унаследовано от | IterableOps |
Источник
| Возвращает | Количество элементов в этой коллекции, если его можно вычислить с низкими затратами, -1 в противном случае. Низкие затраты обычно означают: не требуют обхода коллекции. |
|---|---|
| Унаследовано от | IterableOnce |
Источник
override def last: A
Выбирает последний элемент.
| Возвращает | Последний элемент этой последовательности. |
|---|---|
| Исключения |
|
| Определяющие классы | LinearSeqOps -> IterableOps |
| Унаследовано от | LinearSeqOps |
Источник
Находит индекс последнего вхождения некоторого значения в этой последовательности до или в заданном конечном индексе.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Источник
Находит последний индекс, где эта последовательность содержит заданную последовательность как срез.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | последний индекс, такой, что элементы этой последовательности, начиная с этого индекса, соответствуют элементам последовательности |
| Унаследовано от | SeqOps |
Источник
Находит последний индекс до или в заданном конечном индексе, где эта последовательность содержит заданную последовательность как срез.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | последний индекс |
| Унаследовано от | SeqOps |
Источник
Находит индекс последнего элемента, удовлетворяющего некоторому предикату.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс последнего элемента этой последовательности, удовлетворяющего предикату |
| Унаследовано от | SeqOps |
Источник
Находит индекс последнего элемента, удовлетворяющего некоторому предикату до или в заданном конечном индексе.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Определяющие классы | LinearSeqOps -> SeqOps |
| Унаследовано от | LinearSeqOps |
Source
def lastOption: Option[A]
Возвращает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен.
| Возвращает | последний элемент этой итерируемой коллекции$ в случае, если она не пуста, |
|---|---|
| Унаследовано от | IterableOps |
Source
Длина (количество элементов) последовательности. size является псевдонимом для length в Seq коллекциях.
| Унаследовано от | LinearSeqOps |
|---|
Source
Сравнивает длину этой последовательности с размером другой Iterable.
| Параметры |
|
|---|---|
| Возвращает |
Значение x < 0 if this.length < that.size x == 0 if this.length == that.size x > 0 if this.length > that.size Этот метод, как реализован здесь, не вызывает |
| Классы-предки | LinearSeqOps -> SeqOps |
| Унаследовано от | LinearSeqOps |
Source
Сравнивает длину этой последовательности со значением-тестом.
| Параметры |
|
|---|---|
| Возвращает |
Значение x < 0 if this.length < len x == 0 if this.length == len x > 0 if this.length > len Этот метод, как реализован здесь, не вызывает |
| См. также | |
| Классы-предки | LinearSeqOps -> SeqOps |
| Унаследовано от | LinearSeqOps |
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
override def map[B](f: A => B): CC[B]
Создает новую итерируемую коллекцию, применяя функцию ко всем элементам этой итерируемой коллекции.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | новый итерируемый набор, полученный в результате применения данной функции |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Находит наибольший элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | наибольший элемент этой коллекции относительно порядка |
| Исключение |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | первый элемент этой коллекции с наибольшим значением, измеренным функцией f, относительно порядка |
| Исключение |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение типа option, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f, относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наибольший элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение типа option, содержащее наибольший элемент этой коллекции относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | наименьший элемент этого набора относительно упорядочения |
| Издаёт исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который даёт наименьшее значение, измеренное функцией f.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наименьшим значением, измеренным функцией f, относительно упорядочения |
| Издаёт исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который даёт наименьшее значение, измеренное функцией f.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение опции, содержащей первый элемент этой коллекции с наименьшим значением, измеренным функцией f, относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение опции, содержащей наименьший элемент этой коллекции относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этой коллекции в строке.
Делегирует addString, который может быть переопределен.
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (с точки зрения метода |
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этой коллекции в строке с использованием разделительной строки.
Делегирует addString, который может быть переопределен.
END_OF_DOCUMENT_MARKER| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этой коллекции в строке, используя строки start, end и разделитель.
Делегирует addString, который может быть переопределен.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, не является ли коллекция пустой.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Копия этого последовательности со значением элемента, добавленным до тех пор, пока не будет достигнута заданная целевая длина.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности, за которыми следует минимальное количество вхождений |
| Классы определений | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
Пара, во-первых, всех элементов, удовлетворяющих предикату p, и, во-вторых, всех элементов, которые не удовлетворяют. Интересно, потому что это разделяет коллекцию на две части.
Реализация по умолчанию, представленная здесь, должна пройтись по коллекции дважды. Строгие коллекции имеют переопределенную версию partition в StrictOptimizedIterableOps, которая требует только одного прохода.
| Классы определений | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
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))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | пара итерируемых коллекций: первая состоит из тех значений, возвращаемых |
| Классы определений | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Создаёт новую последовательность, где фрагмент элементов в этой последовательности заменяется другой последовательностью.
Замена по отрицательным индексам эквивалентна замене, начинающейся с 0. Замена по индексам, равным или большим длины исходной последовательности, добавляет замену в конец. Если заменяемых значений больше, чем фактически существует, избыток игнорируется.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности, за исключением того, что |
| Унаследовано от | SeqOps |
Источник
def permutations: Iterator[C]
Итерирует по различным перестановкам.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Возвращает | Итератор, который проходит по различным перестановкам этой последовательности. |
|---|---|
| Пример |
|
| Унаследовано от | SeqOps |
Источник
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)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, состоящая из |
| Классы определений | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
override def prependedAll[B >: A](prefix: IterableOnce[B]): CC[B]
Как и в :++, возвращает новую коллекцию, содержащую элементы левого операнда, за которыми следуют элементы правого операнда.
Отличается от :++ тем, что правый операнд определяет тип результирующей коллекции, а не левый. Мемоистическое правило: двоеточие стоит с той стороны, которая относится к типу новой коллекции.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | новая последовательность, содержащая все элементы |
| Определяющие классы | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Исходный код
Перемножает элементы этого набора.
Примечание: не завершится для наборов бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | произведение всех элементов этого набора относительно оператора |
| Унаследовано от | IterableOnceOps |
Исходный код
def reduce[B >: A](op: (B, B) => B): B
Сводит элементы этого набора к одному значению, используя заданный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | результат применения оператора reduce |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Исходный код
def reduceLeft[B >: A](op: (B, A) => B): B
Применяет бинарный оператор ко всем элементам этого набора слева направо.
Примечание: не завершится для наборов бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип основного набора не упорядочен или оператор не ассоциативен и коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Исходный код
def reduceLeftOption[B >: A](op: (B, A) => B): Option[B]
Применяет бинарный оператор ко всем элементам этого набора слева направо (по необходимости).
Примечание: не завершится для наборов бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип основного набора не упорядочен или оператор не ассоциативен и коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение option, содержащее результат |
| Унаследовано от | IterableOnceOps |
Исходный код
def reduceOption[B >: A](op: (B, B) => B): Option[B]
Сводит элементы этого набора (если есть) к одному, используя заданный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение option, содержащее результат применения оператора reduce |
| Унаследовано от | IterableOnceOps |
Source
def reduceRight[B >: A](op: (A, B) => B): B
Применяет бинарный оператор ко всем элементам этого набора, идя справа налево.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип основного набора не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
def reduceRightOption[B >: A](op: (A, B) => B): Option[B]
Применяет бинарный оператор ко всем элементам этого набора необязательно, идя справа налево.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип основного набора не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение Option, содержащее результат |
| Унаследовано от | IterableOnceOps |
Source
def reverse: C
Возвращает новый набор с элементами в обратном порядке.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: Даже при применении к представлению или ленивому набору, он всегда будет принуждать элементы.
| Возвращает | Новый набор со всеми элементами этого набора в обратном порядке. |
|---|---|
| Унаследовано от | SeqOps |
Source
def reverseIterator: Iterator[A]
Итератор, возвращающий элементы в обратном порядке.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: xs.reverseIterator эквивалентно xs.reverse.iterator, но может быть более эффективным.
| Возвращает | итератор, возвращающий элементы этого набора в обратном порядке |
|---|---|
| Унаследовано от | SeqOps |
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
Являются ли элементы этой коллекции такими же (и в том же порядке), что и элементы that?
| Definition Classes | LinearSeqOps -> SeqOps |
|---|---|
| Inherited from | LinearSeqOps |
Source
def scan[B >: A](z: B)(op: (B, B) => B): CC[B]
Вычисляет префиксную сканирование элементов коллекции.
Примечание: Нейтральный элемент z может применяться более одного раза.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | новая итерабельная коллекция, содержащая префиксное сканирование элементов в этой итерабельной коллекции |
| Inherited from | IterableOps |
Source
override def scanLeft[B](z: B)(op: (B, A) => B): CC[B]
Создает итерабельную коллекцию, содержащую кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | коллекция с промежуточными результатами |
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Inherited from | StrictOptimizedIterableOps |
Source
def scanRight[B](z: B)(op: (A, B) => B): CC[B]
Создает коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Головной элемент коллекции — последний кумулятивный результат.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции упорядочен.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут форсироваться.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | коллекция с промежуточными результатами |
| Inherited from | IterableOps |
Source
Поиск в заданном интервале в этой отсортированной последовательности определенного элемента. Если эта последовательность является IndexedSeq, используется двоичный поиск. В противном случае используется линейный поиск.
Последовательность должна быть отсортирована с использованием того же Ordering перед вызовом; в противном случае результаты не определены.
| Value parameters |
|
|---|---|
| Returns | значение |
| See also |
scala.collection.SeqOps, метод |
| Note | если |
| Inherited from | SeqOps |
Source
Поиск в этой отсортированной последовательности определенного элемента. Если последовательность является IndexedSeq, используется двоичный поиск. В противном случае используется линейный поиск.
Последовательность должна быть отсортирована с использованием того же Ordering перед вызовом; в противном случае результаты не определены.
| Value parameters |
|
|---|---|
| Returns | значение |
| See also |
scala.collection.SeqOps, метод |
| Inherited from | SeqOps |
Source
Вычисляет длину самой длинной последовательности, начинающейся с определенного индекса, элементы которой удовлетворяют определенному предикату.
Примечание: может не завершаться для коллекций бесконечного размера.
| Value parameters |
|
|---|---|
| Returns | длина самой длинной последовательности этой последовательности, начинающейся с индекса |
| Definition Classes | LinearSeqOps -> SeqOps |
| Inherited from | LinearSeqOps |
Source
Вычисляет длину самой длинной последовательности, начинающейся с первого элемента, элементы которой удовлетворяют определенному предикату.
Примечание: может не завершаться для коллекций бесконечного размера.
| Value parameters |
|
|---|---|
| Returns | длина самой длинной последовательности этой последовательности, начинающейся с первого элемента, такая, что каждый элемент последовательности удовлетворяет предикату |
| Inherited from | SeqOps |
Source
Размер этой последовательности.
Примечание: не завершится для коллекций бесконечного размера.
| Returns | количество элементов в этой последовательности. |
|---|---|
| Definition Classes | SeqOps -> IterableOnceOps |
| Inherited from | SeqOps |
Source
Сравнивает размер этой последовательности с размером другой 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
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемая коллекция, содержащая элементы, большие или равные индексу |
| Унаследовано от | IterableOps |
Источник
Группирует элементы в блоки фиксированного размера, пропуская "скользящее окно" по ним (в отличие от разбиения их, как это делается в grouped.)
Возвращаемый итератор будет пустым, когда вызывается на пустой коллекции. Последний элемент, который производит итератор, может быть меньше размера окна, если исходная коллекция не исчерпана окном до него, и его последний элемент не пропущен шагом перед ним.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, производящий итерируемые коллекции размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Группирует элементы в блоки фиксированного размера, пропуская "скользящее окно" по ним (в отличие от разбиения их, как это делается в grouped.)
Пустая коллекция возвращает пустой итератор, а непустая коллекция, содержащая меньше элементов, чем размер окна, возвращает итератор, который будет производить исходную коллекцию как единственный элемент.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, производящий итерируемые коллекции размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Сортирует эту последовательность в соответствии с упорядочением, которое получается из преобразования неявного упорядочения с помощью функции преобразования.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: Даже при применении к представлению или ленивой коллекции она всегда будет принуждать элементы.
Сортировка стабильна. То есть, элементы, которые равны (как определяется ord.compare ), появляются в том же порядке в отсортированной последовательности, что и в оригинальной.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | последовательность, состоящая из элементов этой последовательности, отсортированных в соответствии с упорядочением, где |
| См. также | |
| Пример |
val words = "The quick brown fox jumped over the lazy dog".split(' ')
// this works because scala.Ordering will implicitly provide an Ordering[Tuple2[Int, Char]]
words.sortBy(x => (x.length, x.head))
res0: Array[String] = Array(The, dog, fox, the, lazy, over, brown, quick, jumped)
|
| Унаследовано от | SeqOps |
Источник
Сортирует эту последовательность в соответствии с функцией сравнения.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: Даже при применении к представлению или ленивой коллекции она всегда будет принуждать элементы.
Сортировка стабильна. То есть, элементы, которые равны (как определяется lt ), появляются в том же порядке в отсортированной последовательности, что и в оригинальной.
| Параметры значения |
|
|---|---|
| Возвращает | последовательность, состоящая из элементов этой последовательности, отсортированных в соответствии с функцией сравнения |
| Пример |
List("Steve", "Tom", "John", "Bob").sortWith(_.compareTo(_) < 0) =
List("Bob", "John", "Steve", "Tom")
|
| Унаследовано от | SeqOps |
Источник
Сортирует эту последовательность в соответствии с упорядочением.
Сортировка стабильна. То есть, элементы, которые равны (как определяется ord.compare ), появляются в том же порядке в отсортированной последовательности, что и в оригинальной.
| Параметры значения |
|
|---|---|
| Возвращает | последовательность, состоящая из элементов этой последовательности, отсортированных в соответствии с упорядочением |
| См. также | scala.math.Ordering Примечание: Даже при применении к представлению или ленивой коллекции она всегда будет принуждать элементы. |
| Унаследовано от | 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
Возвращает scala.collection.Stepper для элементов этой коллекции.
Stepper позволяет создавать Java-поток для работы с коллекцией, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, Stepper может использоваться как итератор, который не упаковывает элементы.
Неявный параметр scala.collection.StepperShape определяет тип возвращаемого Stepper в соответствии с типом элементов этой коллекции.
Для коллекций
Int,Short,ByteилиChar, возвращается scala.collection.IntStepperДля коллекций
DoubleилиFloat, возвращается scala.collection.DoubleStepperДля коллекций
Longвозвращается scala.collection.LongStepperДля любого другого типа элементов возвращается scala.collection.AnyStepper
Обратите внимание, что этот метод переопределяется в подклассах, а тип возвращаемого значения уточняется до S with EfficientSplit, например, scala.collection.IndexedSeqOps.stepper. Для Stepper, помеченных scala.collection.Stepper.EfficientSplit, преобразователи в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Stepper могут быть преобразованы только в последовательные потоки.
| Унаследовано от | IterableOnce |
|---|
Source
Суммирует элементы этой коллекции.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | сумма всех элементов этой коллекции относительно оператора |
| Унаследовано от | IterableOnceOps |
Source
def tail: C
Остальная часть коллекции без первого элемента.
| Унаследовано от | IterableOps |
|---|
Source
Итерируется по хвостам этой последовательности. Первое значение будет этой последовательностью, а последнее — пустой последовательностью, а промежуточные значения — результатами последовательных применений tail.
| Возвращает | итератор по всем хвостам этой последовательности |
|---|---|
| Пример |
|
| Классы определений | LinearSeqOps -> IterableOps |
| Унаследовано от | LinearSeqOps |
Source
Выбирает первые n элементов.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемая коллекция, содержащая только первые |
| Унаследовано от | IterableOps |
Source
Коллекция, содержащая последние n элементы этой коллекции.
Примечание: даже при применении к представлению или ленивой коллекции она всегда будет принуждать элементы.
| Классы определений | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Source
Берет самый длинный префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | самый длинный префикс этой итерируемой коллекции, элементы которого удовлетворяют предикату |
| Унаследовано от | IterableOps |
Source
override def tapEach[U](f: A => U): C
Применяет функцию со побочным эффектом к каждому элементу в этом наборе. Строгие наборы применят f к своим элементам немедленно, тогда как ленивые наборы, такие как Views и 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 |
|---|
Источник
| Унаследовано от | 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 |
Источник
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 |
Источник
Обзор элементов этого набора.
| Классы определений | SeqOps -> IterableOps |
|---|---|
| Унаследовано от | 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/StrictOptimizedLinearSeqOps.html