Тракт StrictOptimizedSeqOps.StrictOptimizedSeqOps
тракт StrictOptimizedSeqOps[+A, +CC[_], +C] extends SeqOps[A, CC, C] with StrictOptimizedIterableOps[A, CC, C]
Тракт, переопределяющий операции над последовательностями, чтобы использовать преимущества строгих билдеров.
| Надтипы | |
|---|---|
| Известные подтипы | 42 типа |
Конкретные методы
Исходный код
override def appended[B >: A](elem: B): CC[B]
Копия этой последовательности с добавленным элементом.
Примечание: не завершится для бесконечных коллекций.
Пример:
scala> val a = List(1) a: List[Int] = List(1) scala> val b = a :+ 2 b: List[Int] = List(1, 2) scala> println(a) List(1)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности, за которыми следует |
| Классы определения | SeqOps |
Исходный код
override def appendedAll[B >: A](suffix: IterableOnce[B]): CC[B]
Возвращает новую последовательность, содержащую элементы левого операнда, за которыми следуют элементы правого операнда. Тип элемента последовательности — это наиболее общий суперкласс, охватывающий типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая коллекция типа |
| Классы определения | SeqOps |
Исходный код
Вычисляет разность множеств между этой последовательностью и другой последовательностью.
| Параметры значения |
|
|---|---|
| Возвращает | новая последовательность, которая содержит все элементы этой последовательности, за исключением некоторых вхождений элементов, которые также появляются в |
| Классы определения | SeqOps |
Исходный код
override def distinctBy[B](f: A => B): C
Выбирает все элементы этой последовательности, игнорируя дубликаты, как определено == после применения преобразовательной функции f.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, содержащая все элементы этой последовательности без дубликатов. |
| Классы определения | SeqOps |
Исходный код
Вычисляет пересечение множеств между этой последовательностью и другой последовательностью.
| Параметры значения |
|
|---|---|
| Возвращает | новая последовательность, содержащая все элементы этой последовательности, которые также присутствуют в |
| Классы определения | SeqOps |
Исходный код
Копия этой последовательности с добавленным элементом, пока не будет достигнута заданная целевая длина.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности, за которыми следует минимальное количество вхождений |
| Классы определения | 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)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, состоящая из |
| Определяющие классы | SeqOps |
Источник
override def prependedAll[B >: A](prefix: IterableOnce[B]): CC[B]
Как и :++, возвращает новую коллекцию, содержащую элементы левого операнда, за которыми следуют элементы правого операнда.
Она отличается от :++ тем, что правый операнд определяет тип результирующей коллекции, а не левый. Мнемоника: знак COLon стоит со стороны нового типа COLлекции.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, содержащая все элементы |
| Определяющие классы | SeqOps |
Наследуемые методы
Источник
final def ++[B >: A](suffix: IterableOnce[B]): CC[B]
Псевдоним для concat
| Наследуется из | IterableOps |
|---|
Источник
final override def ++:[B >: A](prefix: IterableOnce[B]): CC[B]
Псевдоним для prependedAll
| Определяющие классы | SeqOps -> IterableOps |
|---|---|
| Наследуется из | SeqOps |
Источник
final def +:[B >: A](elem: B): CC[B]
Псевдоним для prepended.
Обратите внимание, что операторы с окончанием :- являются правоассоциативными (см. пример). Мнемоника для +: и :+: знак COLon ставится со стороны COLлекции.
| Наследуется из | SeqOps |
|---|
Источник
final def :+[B >: A](elem: B): CC[B]
Псевдоним для appended
Обратите внимание, что операторы с окончанием :- являются правоассоциативными (см. пример). Мнемоника для +: и :+: знак COLon ставится со стороны COLлекции.
| Наследуется из | SeqOps |
|---|
Источник
final 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 |
Источник
Получение элемента по указанному индексу. Эта операция предоставляется для удобства в Seq. Не следует предполагать, что она будет эффективной, если у вас нет IndexedSeq.
| Наследуется из | SeqOps |
|---|
Источник
override def collect[B](pf: PartialFunction[A, B]): CC[B]
Создает новую итерируемую коллекцию, применяя частичную функцию ко всем элементам этой итерируемой коллекции, для которых функция определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, полученная путем применения заданной частичной функции |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Наследуется из | StrictOptimizedIterableOps |
Источник
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа Option, содержащее результат применения pf к первому элементу, для которого она определена, или |
| Пример |
|
| Наследуется из | IterableOnceOps |
Источник
Итерирует по комбинациям. _Комбинация_ длины n — это подпоследовательность исходной последовательности, с элементами, взятыми в порядке. Таким образом, "xy" и "yy" — это обе комбинации длины 2 для "xyy", но "yx" — нет. Если существует более одного способа сгенерировать одну и ту же подпоследовательность, будет возвращена только одна.
Например, "xyyy" имеет три различных способа сгенерировать "xy" в зависимости от того, какой первый, второй или третий "y" выбран. Однако, поскольку все они идентичны, будет выбран только один. Какой из трёх будет выбран, является деталью реализации, которая не определена.
Примечание: Даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно вычислены.
| Возвращает | Итератор, который перебирает все возможные n-элементные комбинации этой последовательности. |
|---|---|
| Пример |
|
| Унаследовано от | SeqOps |
Источник
final override def concat[B >: A](suffix: IterableOnce[B]): CC[B]
Возвращает новую последовательность, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элементов последовательности — это наиболее специфический суперкласс, охватывающий типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, которая содержит все элементы этой последовательности, за которыми следуют все элементы |
| Классы определения | SeqOps -> IterableOps |
| Унаследовано от | SeqOps |
Источник
Проверяет, содержит ли эта последовательность заданное значение в качестве элемента.
Примечание: может не завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Источник
Проверяет, содержит ли эта последовательность заданную последовательность в качестве среза.
Примечание: может не завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start не более чем len элементами этой коллекции.
Копирование прекратится, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива, или len элементов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Использование: после вызова этого метода итератор, на котором он был вызван, следует удалить. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Source
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями из этого набора.
Копирование прекращается, как только скопированы все элементы этого набора или достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван. Использование его не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Source
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями из этого набора.
Копирование прекращается, как только скопированы все элементы этого набора или достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван. Использование его не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Source
Проверяет, удовлетворяет ли каждый элемент итератора этого набора условию предиката по отношению к соответствующему элементу другого набора.
Примечание: не будет завершаться для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение |
|
| Унаследовано от | IterableOnceOps |
Source
Проверяет, удовлетворяет ли каждый элемент этой последовательности условию предиката по отношению к соответствующему элементу другой последовательности.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение |
|
| Унаследовано от | SeqOps |
Source
Подсчитывает количество элементов в наборе, удовлетворяющих предикату.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Источник
def distinct: C
Выбирает все элементы этой последовательности, игнорируя дубликаты.
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности без дубликатов. |
|---|---|
| Унаследовано от | SeqOps |
Источник
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, кроме первых |
| Унаследовано от | IterableOps |
Источник
Остальная часть коллекции без n последних элементов. Для линейных неизменяемых коллекций это должно избежать создания копии.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно загружаться.
| Классы определений | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Удаляет самую длинную префиксную часть элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | самый длинный суффикс этой итерируемой коллекции, первый элемент которого не удовлетворяет предикату |
| Унаследовано от | IterableOps |
Источник
def empty: C
Пустая итерируемая коллекция того же типа, что и эта итерируемая коллекция
| Возвращает | пустая итерируемая коллекция типа |
|---|---|
| Унаследовано от | IterableOps |
Источник
Проверяет, заканчивается ли эта последовательность заданной последовательностью.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Источник
Проверяет, выполняется ли предикат для хотя бы одного элемента в этом наборе.
Примечание: может не завершиться для наборов бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Выбирает все элементы этого итерируемого набора, которые удовлетворяют предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новый итерируемый набор, состоящий из всех элементов этого итерируемого набора, удовлетворяющих заданному предикату |
| Классы-предки | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Выбирает все элементы этого итерируемого набора, которые не удовлетворяют предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новый итерируемый набор, состоящий из всех элементов этого итерируемого набора, не удовлетворяющих заданному предикату |
| Классы-предки | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Находит первый элемент набора, удовлетворяющий предикату (если он есть).
Примечание: может не завершиться для наборов бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа Option, содержащее первый элемент в наборе, удовлетворяющий |
| Унаследовано от | IterableOnceOps |
Источник
Находит последний элемент последовательности, удовлетворяющий предикату (если он есть).
Примечание: не завершится для последовательностей бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа Option, содержащее последний элемент в последовательности, удовлетворяющий |
| Унаследовано от | SeqOps |
Источник
override def flatMap[B](f: A => IterableOnce[B]): CC[B]
Создаёт новый итерируемый набор, применяя функцию ко всем элементам этого итерируемого набора и используя элементы полученных наборов.
Например:
def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")
Тип результирующего набора определяется статическим типом итерируемого набора. Это может иногда приводить к неожиданным результатам. Например:
// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)
// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap ((word: String) => word.toSeq)
// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)
// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | новый итерируемый набор, полученный в результате применения заданной функции, принимающей наборы в качестве значений (% измененный |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
override def flatten[B](implicit toIterableOnce: A => IterableOnce[B]): CC[B]
Преобразует этот итерируемый набор наборов-проходов в итерируемый набор, образованный элементами этих наборов-проходов.
Тип результирующего набора будет определяться типом итерируемого набора. Например:
val xs = List(
Set(1, 2, 3),
Set(1, 2, 3)
).flatten
// xs == List(1, 2, 3, 1, 2, 3)
val ys = Set(
List(1, 2, 3),
List(3, 2, 1)
).flatten
// ys == Set(1, 2, 3)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | новый итерируемый набор, полученный в результате конкатенации всех итерируемых наборов элементов. |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
def fold[A1 >: A](z: A1)(op: (A1, A1) => A1): A1
Складывает элементы этого набора, используя указанный ассоциативный бинарный оператор. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективных порядков обхода.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
Примечание: не будет завершаться для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | результат применения оператора сложения |
| Унаследовано от | IterableOnceOps |
Источник
def foldLeft[B](z: B)(op: (B, A) => B): B
Применяет бинарный оператор к начальному значению и всем элементам этого набора слева направо.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип основного набора не упорядочен, или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | результат вставки |
| Унаследовано от | IterableOnceOps |
Источник
def foldRight[B](z: B)(op: (A, B) => B): B
Применяет бинарный оператор ко всем элементам этого набора и начальному значению, справа налево.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип основного набора не упорядочен, или оператор не является ассоциативным и коммутативным.
END_OF_DOCUMENT_MARKER| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, выполняется ли предикат для всех элементов этого набора.
Примечание: может не завершиться для наборов бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | 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: 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 |
Исходный код
def headOption: Option[A]
Возвращает опционально первый элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Возвращает | первый элемент этой итерируемой коллекции, если она не пуста, |
|---|---|
| Унаследовано от | IterableOps |
Исходный код
Находит индекс первого вхождения некоторого значения в этой последовательности.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Исходный код
Находит индекс первого вхождения некоторого значения в этой последовательности после или на определенном начальном индексе.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Исходный код
Находит первый индекс, где эта последовательность содержит заданную последовательность как срез.
Примечание: может не завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | первый индекс |
| Унаследовано от | SeqOps |
Исходный код
Находит первый индекс после или на стартовом индексе, где эта последовательность содержит заданную последовательность как срез.
Примечание: может не завершиться для бесконечно больших коллекций.
| Параметры значения |
|
|---|---|
| Возвращает | первый индекс |
| Унаследовано от | SeqOps |
Исходный код
Находит индекс первого элемента, удовлетворяющего некоторому предикату.
Примечание: может не завершиться для бесконечно больших коллекций.
| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Исходный код
Находит индекс первого элемента, удовлетворяющего некоторому предикату после или на некотором стартовом индексе.
Примечание: может не завершиться для бесконечно больших коллекций.
| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Исходный код
Создаёт диапазон всех индексов этой последовательности.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Возвращает | значение |
|---|---|
| Унаследовано от | SeqOps |
Исходный код
def init: C
Начальная часть коллекции без её последнего элемента.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Унаследовано от | IterableOps |
|---|
Исходный код
Итерируется по начальным частям (inits) этой коллекции. Первое значение будет этой коллекцией, а последнее — пустой коллекцией, при этом промежуточные значения — результат последовательных применений init.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Возвращает | итератор по всем начальным частям (inits) этой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Source
Проверяет, содержит ли эта последовательность заданный индекс.
Реализации методов apply и isDefinedAt преобразуют Seq[A] в PartialFunction[Int, A].
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Source
Проверяет, пуста ли последовательность.
Примечание: Реализации в подклассах, которые не являются многократно проходимыми, должны следить за тем, чтобы не использовать никаких элементов при вызове isEmpty.
| Возвращает |
|
|---|---|
| Классы определения | SeqOps -> IterableOnceOps |
| Унаследовано от | SeqOps |
Source
override def isTraversableAgain: Boolean
Проверяет, можно ли многократно пройтись по этому итерируемому набору. Всегда истинно для Iterables и ложно для Iterators, если не переопределено.
| Возвращает |
|
|---|---|
| Классы определения | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Source
def iterableFactory: IterableFactory[CC]
Компаньон-объект этого итерируемого набора, предоставляющий различные методы фабрики.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Унаследовано от | IterableOps |
Source
Итератор можно использовать только один раз
| Унаследовано от | IterableOnce |
|---|
Source
| Возвращает | Количество элементов в этом наборе, если его можно вычислить недорого, -1 в противном случае. Дешево обычно означает: не требует обхода коллекции. |
|---|---|
| Унаследовано от | IterableOnce |
Source
def last: A
Выбирает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции, лежащий в основе, не является упорядоченным.
| Возвращает | Последний элемент этого итерируемого набора. |
|---|---|
| Выбрасывает |
|
| Унаследовано от | IterableOps |
Source
Находит индекс последнего вхождения некоторого значения в этой последовательности до или в заданном конечном индексе.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | индекс |
| Унаследовано от | SeqOps |
Источник
Находит последний индекс, где эта последовательность содержит заданную последовательность как срез.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | последний индекс, такой что элементы этой последовательности, начиная с этого индекса, совпадают с элементами последовательности |
| Унаследовано от | SeqOps |
Источник
Находит последний индекс перед или на заданном конечном индексе, где эта последовательность содержит заданную последовательность как срез.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | последний индекс |
| Унаследовано от | SeqOps |
Источник
Находит индекс последнего элемента, удовлетворяющего некоторому предикату.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | индекс последнего элемента этой последовательности, удовлетворяющего предикату |
| Унаследовано от | SeqOps |
Источник
Находит индекс последнего элемента, удовлетворяющего некоторому предикату до или на заданном конечном индексе.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | индекс |
| Унаследовано от | SeqOps |
Источник
def lastOption: Option[A]
Возможный выбор последнего элемента.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции, лежащий в основе, не упорядочен.
| Возвращаемое значение | последний элемент этой итерационной коллекции$, если она непуста, |
|---|---|
| Унаследовано от | IterableOps |
Источник
Длина (количество элементов) последовательности. 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 Реализация метода не вызывает |
| Унаследовано от | SeqOps |
Source
Сравнивает длину этой последовательности со значением-тестом.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.length < len x == 0 if this.length == len x > 0 if this.length > len Реализация метода не вызывает |
| См. также | |
| Унаследовано от | SeqOps |
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 |
Source
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наибольший элемент этой коллекции относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который возвращает наибольшее значение, измеренное функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно порядка |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который возвращает наибольшее значение, измеренное функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа option, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наибольший элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа option, содержащее наибольший элемент этой коллекции относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наименьший элемент этой коллекции относительно порядка |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который возвращает наименьшее значение, измеренное функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно порядка |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Значение опции, содержащее первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно порядка |
| Унаследовано от | IterableOnceOps |
Source
Находит наименьший элемент.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Значение опции, содержащее наименьший элемент этой коллекции относительно порядка |
| Унаследовано от | IterableOnceOps |
Source
Отображает все элементы этой коллекции в строке.
Делегирует addString, который может быть переопределен.
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (с точки зрения метода |
|---|---|
| Унаследовано от | IterableOnceOps |
Source
Отображает все элементы этой коллекции в строке, используя разделительную строку.
Делегирует addString, который может быть переопределен.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (с точки зрения метода |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
Отображает все элементы этой коллекции в строке, используя начальную, конечную и разделительную строки.
Делегирует addString, который может быть переопределен.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
Проверяет, не является ли коллекция пустой.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Пара, во-первых, всех элементов, удовлетворяющих предикату 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 |
Источник
Умножает элементы этой коллекции.
Примечание: не завершается для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | произведение всех элементов этой коллекции относительно оператора |
| Унаследовано от | IterableOnceOps |
Источник
def reduce[B >: A](op: (B, B) => B): B
Сводит элементы этой коллекции с использованием указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определён и может быть недетерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Результат применения оператора сводки |
| Исключения |
|
| Унаследовано от | 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, содержащее результат применения оператора сводки |
| Унаследовано от | IterableOnceOps |
Источник
def reduceRight[B >: A](op: (A, B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции справа налево.
Примечание: не завершается для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и не коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | результат вставки |
| Выбрасывает |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceRightOption[B >: A](op: (A, B) => B): Option[B]
Применяет бинарный оператор ко всем элементам этого набора, справа налево.
Примечание: не будет завершаться для бесконечных наборов.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение option, содержащее результат |
| Унаследовано от | IterableOnceOps |
Источник
def reverse: C
Возвращает новую последовательность с элементами в обратном порядке.
Примечание: не будет завершаться для бесконечных наборов.
Примечание: Даже при применении к представлению или ленивому набору, элементы всегда будут принудительно вычисляться.
| Возвращает | Новая последовательность со всеми элементами этой последовательности в обратном порядке. |
|---|---|
| Унаследовано от | SeqOps |
Источник
def reverseIterator: Iterator[A]
Итератор, возвращающий элементы в обратном порядке.
Примечание: не будет завершаться для бесконечных наборов.
Примечание: xs.reverseIterator эквивалентно xs.reverse.iterator, но может быть более эффективным.
| Возвращает | итератор, возвращающий элементы этой последовательности в обратном порядке |
|---|---|
| Унаследовано от | SeqOps |
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
Являются ли элементы этого набора одинаковыми (и в том же порядке) что и элементы that?
| Унаследовано от | SeqOps |
|---|
Источник
def scan[B >: A](z: B)(op: (B, B) => B): CC[B]
Вычисляет префиксный скан элементов коллекции.
Примечание: нейтральный элемент z может применяться более одного раза.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый итерируемый набор, содержащий префиксное сканирование элементов в этом итерируемом наборе |
| Унаследовано от | IterableOps |
Исходный код
override def scanLeft[B](z: B)(op: (B, A) => B): CC[B]
Создаёт итерируемый набор, содержащий кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не завершится для наборов бесконечной длины.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | набор с промежуточными результатами |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
def scanRight[B](z: B)(op: (A, B) => B): CC[B]
Создаёт набор, содержащий кумулятивные результаты применения оператора справа налево. Голова набора — последний кумулятивный результат.
Примечание: не завершится для наборов бесконечной длины.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
Примечание: даже при применении к представлению или ленивому набору он всегда заставляет элементы.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | набор с промежуточными результатами |
| Унаследовано от | IterableOps |
Исходный код
Поиск в заданном интервале в этом отсортированном наборе для конкретного элемента. Если этот набор является IndexedSeq, используется двоичный поиск. В противном случае используется линейный поиск.
Набор должен быть отсортирован с использованием того же Ordering перед вызовом; в противном случае результаты не определены.
| Параметры значения |
|
|---|---|
| Возвращает | значение |
| См. также |
scala.collection.SeqOps, метод |
| Примечание | если |
| Унаследовано от | SeqOps |
Исходный код
Поиск этого отсортированного набора для конкретного элемента. Если набор является IndexedSeq, используется двоичный поиск. В противном случае используется линейный поиск.
Набор должен быть отсортирован с использованием того же Ordering перед вызовом; в противном случае результаты не определены.
| Параметры значения |
|
|---|---|
| Возвращает | значение |
| См. также |
scala.collection.SeqOps, метод |
| Унаследовано от | SeqOps |
Исходный код
Вычисляет длину самого длинного сегмента, начинающегося с определённого индекса, элементы которого удовлетворяют некоторому предикату.
Примечание: может не завершиться для наборов бесконечной длины.
| Параметры значения |
|
|---|---|
| Возвращает | длину самого длинного сегмента этого набора, начинающегося с индекса |
| Унаследовано от | SeqOps |
Исходный код
Вычисляет длину самого длинного сегмента, начинающегося с первого элемента, элементы которого удовлетворяют некоторому предикату.
Примечание: может не завершиться для наборов бесконечной длины.
| Параметры значения |
|
|---|---|
| Возвращает | длину самого длинного сегмента этого набора, начинающегося с первого элемента, элементы которого удовлетворяют предикату |
| Унаследовано от | SeqOps |
Исходный код
Размер этого набора.
Примечание: не завершится для наборов бесконечной длины.
| Возвращает | количество элементов в этом наборе. |
|---|---|
| Классы определения | SeqOps -> IterableOnceOps |
| Унаследовано от | SeqOps |
Исходный код
Сравнивает размер этого набора с размером другого набора.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение 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 |
Источник
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в соответствии с предикатом.
Примечание: 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.
| Возвращаемое значение | итератор по всем хвостам этого итерируемого множества |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Source
Выбирает первые n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип базового множества не упорядочен.
| Параметры значений |
|
|---|---|
| Возвращаемое значение | итерируемое множество, содержащее только первые |
| Унаследовано от | IterableOps |
Source
Множество, содержащее последние n элементы этого множества.
Примечание: даже при применении к представлению или ленивому множеству все элементы будут принудительно взяты.
| Классы определений | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Source
Выбирает наибольший префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базового множества не упорядочен.
| Параметры значений |
|
|---|---|
| Возвращаемое значение | наибольший префикс этого итерируемого множества, элементы которого удовлетворяют предикату |
| Унаследовано от | IterableOps |
Source
override def tapEach[U](f: A => U): C
Применяет функцию с побочным эффектом к каждому элементу в этом множестве. Строгие множества немедленно применяют f к своим элементам, а ленивые множества, такие как представления и LazyList, применяют f к каждому элементу только тогда, когда этот элемент вычисляется, и каждый раз, когда этот элемент вычисляется.
| Параметры типов |
|
|---|---|
| Параметры значений |
|
| Возвращаемое значение | то же логическое множество, что и это |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Source
При заданном фабричном методе множества factory, преобразовать это множество в соответствующее представление для текущего типа элемента A. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
| Унаследовано от | IterableOnceOps |
|---|
Source
Преобразовать коллекцию в массив.
Примечание к реализации: НЕ вызывайте Array.from из этого метода.
| Унаследовано от | IterableOnceOps |
|---|
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
def toIndexedSeq: IndexedSeq[A]
| Унаследовано от | IterableOnceOps |
|---|
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
| Возвращает | Данную коллекцию в виде |
|---|---|
| Унаследовано от | IterableOnceOps |
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
Транспонирует эту итерируемую коллекцию итерируемых коллекций в итерируемую коллекцию итерируемых коллекций.
Тип результирующей коллекции будет определяться статическим типом итерируемой коллекции. Например:
val xs = List(
Set(1, 2, 3),
Set(4, 5, 6)).transpose
// xs == List(
// List(1, 4),
// List(2, 5),
// List(3, 6))
val ys = Vector(
List(1, 2, 3),
List(4, 5, 6)).transpose
// ys == Vector(
// Vector(1, 4),
// Vector(2, 5),
// Vector(3, 6))
Примечание: Даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно вычисляться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | двумерная итерируемая коллекция итерируемых коллекций, в которой n-я строка соответствует n-му столбцу этой итерируемой коллекции. |
| Исключения |
|
| Унаследовано от | IterableOps |
Source
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 |
Source
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 |
Source
Копия этой последовательности с одним замененным элементом.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, являющаяся копией этой последовательности с элементом в позиции |
| Исключения |
|
| Унаследовано от | SeqOps |
Source
Представление над элементами этой коллекции.
| Классы определения | SeqOps -> IterableOps |
|---|---|
| Унаследовано от | SeqOps |
Source
Создает нестрогий фильтр этой итерируемой коллекции.
Примечание: Разница между c filter p и c withFilter p заключается в том, что первый создаёт новую коллекцию, а второй только ограничивает область применения последующих map, flatMap, foreach, и withFilter операций.
Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | объект класса |
| Унаследовано от | IterableOps |
Source
override def zip[B](that: IterableOnce[B]): CC[(A, B)]
Возвращает итерируемое множество, образованное из этого итерируемого множества и другого итерируемого множества, комбинируя соответствующие элементы парами. Если одно из двух множеств длиннее другого, оставшиеся элементы игнорируются.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | новое итерируемое множество, содержащее пары, состоящие из соответствующих элементов этого итерируемого множества и |
| Классы определений | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Source
Возвращает итерируемое множество, образованное из этого итерируемого множества и другого итерируемого множества, комбинируя соответствующие элементы парами. Если одно из двух множеств короче другого, для дополнения более короткого множества до длины более длинного используются элементы-заполнители.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | новый коллекция типа |
| Унаследовано от | IterableOps |
Source
override def zipWithIndex: CC[(A, Int)]
Комбинирует это итерируемое множество со своими индексами.
| Возвращаемое значение | Новое итерируемое множество, содержащее пары, состоящие из всех элементов этого итерируемого множества, соединенных с их индексом. Индексы начинаются с |
|---|---|
| Пример | |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
© 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/StrictOptimizedSeqOps.html