Класс View.Zip
Представление, объединяющее элементы базовой коллекции с элементами другой коллекции.
| Надтипы |
|---|
Конкретные методы
Исходный код
Проверяет, пусто ли представление.
Примечание: Реализации в подклассах, которые не являются многократно проходимыми, должны позаботиться о том, чтобы не потреблять какие-либо элементы при вызове isEmpty.
| Возвращает |
|
|---|---|
| Определяющие классы | IterableOnceOps |
Исходный код
Итератор может быть использован только один раз.
Исходный код
| Возвращает | Количество элементов в этом представлении, если оно может быть вычислено без больших затрат, -1 в противном случае. Без больших затрат обычно означает: не требующее обхода коллекции. |
|---|---|
| Определяющие классы | IterableOnce |
Наследованные методы
Исходный код
final def ++[B >: (A, B)](suffix: IterableOnce[B]): CC[B]
Псевдоним для concat
| Наследованно из | IterableOps |
|---|
Исходный код
Добавляет все элементы этой коллекции в строковый буфер. Записанный текст состоит из строковых представлений (с помощью метода 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 collect[B](pf: PartialFunction[(A, B), B]): CC[B]
Создает новый набор элементов, применяя частичную функцию ко всем элементам этого итерируемого набора, для которых функция определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый итерируемый набор, полученный путем применения заданной частичной функции |
| Унаследовано от | IterableOps |
Исходный код
Находит первый элемент в наборе, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершиться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип основного набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа Option, содержащее результат применения pf к первому элементу, для которого функция определена, или |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Исходный код
def concat[B >: (A, B)](suffix: IterableOnce[B]): CC[B]
Возвращает новый итерируемый набор, содержащий элементы левого операнда, за которыми следуют элементы правого операнда. Тип элементов итерируемого набора — это наиболее специфический суперкласс, охватывающий типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый итерируемый набор, содержащий все элементы этого итерируемого набора, за которыми следуют все элементы |
| Унаследовано от | IterableOps |
Исходный код
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start не более чем len элементами этого набора.
Копирование прекратится, как только будут скопированы все элементы этого набора, или будет достигнут конец массива, или будет скопировано len элементов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван. Использование его не определено и может быть изменено. |
| Унаследовано от | IterableOnceOps |
Источник
Копирование элементов в массив, возвращающее количество скопированных элементов.
Заполняет данный массив xs начиная с индекса start значениями этого набора.
Копирование прекратится, как только будут скопированы все элементы этого набора или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван. Использование его не определено и может быть изменено. |
| Унаследовано от | IterableOnceOps |
Источник
Копирование элементов в массив, возвращающее количество скопированных элементов.
Заполняет данный массив xs начиная с индекса start значениями этого набора.
Копирование прекратится, как только будут скопированы все элементы этого набора или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван. Использование его не определено и может быть изменено. |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, соответствует ли каждый элемент итератора этого набора соответствующему элементу другого набора, удовлетворяя условию предиката.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение |
|
| Унаследовано от | IterableOnceOps |
Источник
Подсчитывает количество элементов в коллекции, удовлетворяющих предикату.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Источник
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, кроме первых |
| Унаследовано от | IterableOps |
Исходный код
Выбирает все элементы, кроме последних n.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, кроме последних |
| Унаследовано от | IterableOps |
Исходный код
Удаляет самую длинную префиксную часть элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | самый длинный суффикс этой итерируемой коллекции, первый элемент которого не удовлетворяет предикату |
| Унаследовано от | IterableOps |
Исходный код
Пустая итерируемая коллекция того же типа, что и эта итерируемая коллекция
| Возвращает | пустая итерируемая коллекция типа |
|---|---|
| Классы определения | View -> IterableFactoryDefaults -> IterableOps |
| Унаследовано от | View |
Исходный код
Проверяет, удовлетворяет ли предикату хотя бы один элемент этой коллекции.
Примечание: может не завершиться для бесконечных коллекций.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Исходный код
Выбирает все элементы этой итерируемой коллекции, удовлетворяющие предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новая итерируемая коллекция, содержащая все элементы этой итерируемой коллекции, которые удовлетворяют заданному предикату |
| Унаследовано от | IterableOps |
Source
Выбирает все элементы этого итерируемого набора коллекций, которые не удовлетворяют предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новый итерируемый набор, состоящий из всех элементов этого итерируемого набора коллекций, которые не удовлетворяют заданному предикату |
| Унаследовано от | IterableOps |
Source
Находит первый элемент коллекции, удовлетворяющий предикату, если таковой имеется.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение Option, содержащее первый элемент в коллекции, который удовлетворяет |
| Унаследовано от | IterableOnceOps |
Source
def flatMap[B](f: ((A, B)) => 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)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый итерируемый набор, полученный путём применения заданной функции, возвращающей коллекцию |
| Унаследовано от | IterableOps |
Source
def flatten[B](implicit asIterable: ((A, B)) => 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)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый итерируемый набор, полученный путём конкатенации всех итерируемых коллекций элементов. |
| Унаследовано от | IterableOps |
Source
def fold[A1 >: (A, B)](z: A1)(op: (A1, A1) => A1): A1
Складывает элементы этой коллекции, используя указанный ассоциативный бинарный оператор. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективных порядков обхода.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат применения оператора сворачивания |
| Унаследовано от | IterableOnceOps |
Источник
def foldLeft[B](z: B)(op: (B, (A, B)) => B): B
Применяет бинарный оператор к начальному значению и всем элементам этой коллекции, слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Источник
def foldRight[B](z: B)(op: ((A, B), B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции и начальному значению, справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, выполняется ли предикат для всех элементов этой коллекции.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Применяет f к каждому элементу для его побочных эффектов. Примечание: параметр [U] необходим для улучшения вывода типов scalac.
| Унаследовано от | IterableOnceOps |
|---|
Источник
protected def fromSpecific(coll: IterableOnce[(A, B)]): CC[A]
Определяет, как преобразовать заданную Iterable[A] в коллекцию типа C.
Этот процесс может быть выполнен строго или нестрого (т.е. без вычисления элементов результирующих коллекций). Другими словами, этот метод определяет модель вычисления коллекции.
| Примечание |
При реализации пользовательского типа коллекции и уточнении Как видно из аннотации |
|---|---|
| Унаследовано от | IterableFactoryDefaults |
Источник
Разделяет эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с функцией-дискриминатором.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
Карта, сопоставляющая ключи итерируемым коллекциям, при этом выполняется следующее инвариантное условие: (xs groupBy f)(k) = xs filter (x => f(x) == k) То есть каждый ключ |
| Унаследовано от | IterableOps |
Источник
Разделяет эту итерируемую коллекцию на карту итерируемых коллекций согласно функции-дискриминатору key. Каждый элемент в группе преобразуется в значение типа B с помощью функции value.
Эквивалентно groupBy(key).mapValues(_.map(f)), но более эффективно.
case class User(name: String, age: Int) def namesByAge(users: Seq[User]): Map[Int, Seq[String]] = users.groupMap(_.age)(_.name)
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Унаследовано от | IterableOps |
Источник
def groupMapReduce[K, B](key: ((A, B)) => K)(f: ((A, B)) => 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 |
Источник
def init: C
Начальная часть коллекции без последнего элемента.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Унаследовано от | IterableOps |
|---|
Источник
Итерируется по начальным частям этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения будут результатами последовательных применений init.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Возвращает | итератор по всем начальным частям этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Источник
override def isTraversableAgain: Boolean
Проверяет, можно ли эту итерируемую коллекцию многократно перебирать. Всегда true для Iterables и false для Iterators, если не переопределено.
| Возвращает |
|
|---|---|
| Классы определения | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Источник
Объект-компаньон этого представления, предоставляющий различные методы фабрики.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Классы определения | View -> Iterable -> IterableOps |
| Унаследовано от | View |
Источник
def last: A
Выбирает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.
| Возвращает | Последний элемент этой итерируемой коллекции. |
|---|---|
| Исключение |
|
| Унаследовано от | IterableOps |
Источник
def lastOption: Option[A]
Выбирает последний элемент, если он существует.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.
| Возвращает | последний элемент этой итерируемой коллекции, если она не пуста, |
|---|---|
| Унаследовано от | IterableOps |
Источник
Аналогично zip за исключением того, что элементы в каждом наборе не потребляются до тех пор, пока над возвращаемым LazyZip2 декоратором не вызовется строгая операция.
Вызовы lazyZip могут быть объединены для поддержки более высоких арифметических значений (до 4) без затрат на построение и разбор промежуточных кортежей.
val xs = List(1, 2, 3) val res = (xs lazyZip xs lazyZip xs lazyZip xs).map((a, b, c, d) => a + b + c + d) // res == List(4, 8, 12)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | декоратор |
| Унаследовано от | Iterable |
Источник
def map[B](f: ((A, B)) => B): CC[B]
Создаёт новый итерируемый набор, применяя функцию ко всем элементам этого итерируемого набора.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый итерируемый набор, полученный путём применения заданной функции |
| Унаследовано от | IterableOps |
Источник
Находит наибольший элемент.
Примечание: не завершится для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наибольший элемент этого набора относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.
Примечание: не завершится для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этого набора с наибольшим значением, измеренным функцией f относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.
Примечание: не завершится для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение Option, содержащее первый элемент этого набора с наибольшим значением, измеренным функцией f относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Source
Находит максимальный элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа option, содержащее максимальный элемент этой коллекции относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Source
Находит минимальный элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | минимальный элемент этой коллекции относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который возвращает наименьшее значение, измеренное функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который возвращает наименьшее значение, измеренное функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа option, содержащее первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Source
Находит минимальный элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение типа Option, содержащее наименьший элемент этого набора по отношению к упорядочению |
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этого набора в строке.
Делегирует addString, который может быть переопределен.
| Возвращает | строковое представление этого набора. В результирующей строке строковые представления (с точки зрения метода |
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этого набора в строке с использованием разделительной строки.
Делегирует addString, который может быть переопределен.
| Параметры значений |
|
|---|---|
| Возвращает | строковое представление этого набора. В результирующей строке строковые представления (с точки зрения метода |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этого набора в строке, используя начальную, конечную и разделительные строки.
Делегирует addString, который может быть переопределен.
| Параметры значений |
|
|---|---|
| Возвращает | строковое представление этого набора. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
protected def newSpecificBuilder: Builder[A, CC[A]]
| Возвращает | строгий билдер для того же типа коллекции. Обратите внимание, что в случае ленивых коллекций (например, scala.collection.View или scala.collection.immutable.LazyList) реализация этого метода возможна, но полученный |
|---|---|
| Примечание |
При реализации пользовательского типа коллекции и уточнении Как свидетельствует аннотация |
| Унаследовано от | IterableFactoryDefaults |
Источник
Проверяет, не пуст ли набор.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Пара, состоящая, во-первых, из всех элементов, удовлетворяющих предикату p, и, во-вторых, из всех элементов, которые не удовлетворяют. Интересно, потому что разделяет набор на две части.
Установленная здесь реализация требует двух проходов по набору. Строгие наборы имеют переопределенную версию partition в StrictOptimizedIterableOps, которая требует только одного прохода.
| Унаследовано от | IterableOps |
|---|
Источник
def partitionMap[A1, A2](f: ((A, B)) => 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))
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | пара итерируемых коллекций: первая содержит те значения, возвращенные функцией |
| Унаследовано от | IterableOps |
Источник
Перемножает элементы этого набора.
Примечание: не завершится для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | произведение всех элементов этого набора по отношению к оператору |
| Унаследовано от | IterableOnceOps |
Источник
def reduce[B >: (A, B)](op: (B, B) => B): B
Сводит элементы этого набора с использованием указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | Результат применения оператора reduce |
| Выбрасывает |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceLeft[B >: (A, B)](op: (B, (A, B)) => B): B
Применяет бинарный оператор ко всем элементам этого набора слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не является ассоциативным и коммутативным.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | результат вставки |
| Исключение |
|
| Наследуется от | IterableOnceOps |
Источник
def reduceLeftOption[B >: (A, B)](op: (B, (A, B)) => B): Option[B]
Применяет бинарный оператор ко всем элементам этого набора слева направо (необязательно).
Примечание: не будет завершаться для наборов бесконечной размерности.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и не коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение типа Option, содержащее результат |
| Наследуется от | IterableOnceOps |
Источник
def reduceOption[B >: (A, B)](op: (B, B) => B): Option[B]
Редуцирует элементы этого набора, если таковые имеются, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | Значение типа Option, содержащее результат применения оператора reduce |
| Наследуется от | IterableOnceOps |
Источник
def reduceRight[B >: (A, B)](op: ((A, B), B) => B): B
Применяет бинарный оператор ко всем элементам этого набора справа налево.
Примечание: не будет завершаться для наборов бесконечной размерности.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен или оператор ассоциативен и коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | результат вставки |
| Исключение |
|
| Наследуется от | IterableOnceOps |
Источник
def reduceRightOption[B >: (A, B)](op: ((A, B), B) => B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этого набора справа налево.
Примечание: не будет завершаться для наборов бесконечной размерности.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен или оператор ассоциативен и коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение типа Option, содержащее результат |
| Наследуется от | IterableOnceOps |
Источник
| Наследуется от | IterableOnceOps |
|---|
Источник
def scan[B >: (A, B)](z: B)(op: (B, B) => B): CC[B]
Вычисляет префиксное сканирование элементов набора.
Примечание: нейтральный элемент z может быть применен более одного раза.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | новый набор, содержащий префиксное сканирование элементов в этом итерируемом наборе. |
| Наследуется от | IterableOps |
Источник
def scanLeft[B](z: B)(op: (B, (A, B)) => B): CC[B]
Создает набор, содержащий кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не будет завершаться для наборов бесконечной размерности.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | набор с промежуточными результатами |
| Наследуется от | IterableOps |
Источник
def scanRight[B](z: B)(op: ((A, B), B) => B): CC[B]
Создает набор, содержащий кумулятивные результаты применения оператора справа налево. Голова набора — последний кумулятивный результат.
Примечание: не будет завершаться для наборов бесконечной размерности.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен.
Примечание: даже при применении к представлению или ленивому набору он всегда принуждает элементы.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | набор с промежуточными результатами |
| Наследуется от | IterableOps |
Источник
Размер этого набора.
Примечание: не будет завершаться для наборов бесконечной размерности.
| Возвращает | количество элементов в этом наборе. |
|---|---|
| Наследуется от | IterableOnceOps |
Источник
Сравнивает размер этого итерируемого набора с размером другого набора.
| Параметры значений |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < that.size x == 0 if this.size == that.size x > 0 if this.size > that.size Метод, как реализован здесь, не вызывает |
| Наследуется от | IterableOps |
Source
Сравнивает размер этого итерируемого набора данных со значением теста.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < otherSize x == 0 if this.size == otherSize x > 0 if this.size > otherSize Метод, как он реализован здесь, не вызывает |
| См. также | |
| Унаследовано от | IterableOps |
Source
final def sizeIs: SizeCompareOps
Возвращает значение класса, содержащего операции для сравнения размера этого итерируемого набора данных со значением теста.
Эти операции реализованы в терминах sizeCompare(Int) и позволяют использовать следующие более удобочитаемые выражения:
this.sizeIs < size // this.sizeCompare(size) < 0 this.sizeIs <= size // this.sizeCompare(size) <= 0 this.sizeIs == size // this.sizeCompare(size) == 0 this.sizeIs != size // this.sizeCompare(size) != 0 this.sizeIs >= size // this.sizeCompare(size) >= 0 this.sizeIs > size // this.sizeCompare(size) > 0
| Унаследовано от | IterableOps |
|---|
Source
Выбирает интервал элементов. Возвращаемый итерируемый набор данных состоит из всех элементов x, которые удовлетворяют инварианту:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты при разных запусках, если только тип базового набора данных не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемый набор данных, содержащий элементы, большие или равные индексу |
| Унаследовано от | IterableOps |
Source
Группирует элементы в блоки фиксированного размера, передавая «скользящее окно» по ним (в отличие от их разделения, как в grouped).
Возвращаемый итератор будет пустым при вызове на пустом наборе данных. Последний элемент, который генерирует итератор, может быть меньше размера окна, если исходный набор данных не исчерпан окном до его конца и его последний элемент не пропущен шагом перед ним.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые наборы данных размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Source
Группирует элементы в блоки фиксированного размера, передавая «скользящее окно» по ним (в отличие от их разделения, как в grouped).
Пустой набор данных возвращает пустой итератор, а непустой набор данных, содержащий меньше элементов, чем размер окна, возвращает итератор, который сгенерирует исходный набор данных в качестве единственного элемента.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые наборы данных размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Source
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | пару, состоящую из самого длинного префикса этой итерируемой коллекции, элементы которого удовлетворяют |
| Унаследовано от | IterableOps |
Source
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в заданной позиции.
Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | пару итерируемых коллекций, состоящую из первых |
| Классы определения | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
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. Для Steppers, помеченных scala.collection.Stepper.EfficientSplit, преобразователи в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Steppers могут быть преобразованы только в последовательные потоки.
| Унаследовано от | IterableOnce |
|---|
Source
Суммирует элементы этой коллекции.
Примечание: не завершится для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | сумму всех элементов этого набора по отношению к оператору |
| Унаследовано от | IterableOnceOps |
Исходный код
def tail: C
Остальная часть коллекции без первого элемента.
| Унаследовано от | IterableOps |
|---|
Исходный код
Итерирует по хвостам этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения — результатами последовательных применений tail.
| Возвращает | итератор по всем хвостам этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Исходный код
Выбирает первые n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемая коллекция, содержащая только первые |
| Унаследовано от | IterableOps |
Исходный код
Выбирает последние n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемая коллекция, содержащая только последние |
| Унаследовано от | IterableOps |
Исходный код
Извлекает самую длинную префиксную последовательность элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | самый длинный префикс этой итерируемой коллекции, элементы которого удовлетворяют предикату |
| Унаследовано от | IterableOps |
Исходный код
override def tapEach[U](f: ((A, B)) => U): C
Применяет функцию со побочным эффектом к каждому элементу в этой коллекции. Строгие коллекции применят f к своим элементам немедленно, в то время как ленивые коллекции, такие как представления и LazyLists, применят f к каждому элементу только при и если этот элемент будет оценен, и каждый раз, когда этот элемент оценивается.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | Такая же логическая коллекция, как и эта |
| Классы определений | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Исходный код
При заданном фабричном методе коллекции 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 |
|---|
Исходный код
Преобразует это представление в строку.
| Возвращает | строковое представление этой коллекции. По умолчанию эта строка состоит из |
|---|---|
| Классы определений | View -> Iterable -> Any |
| Унаследовано от | View |
Исходный код
| Унаследовано от | 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
def unzip[A1, A2](implicit asPair: ((A, B)) => (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))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | пару итерируемых коллекций, содержащих соответственно первую и вторую половину каждой пары элементов этой итерируемой коллекции. |
| Унаследовано от | IterableOps |
Source
def unzip3[A1, A2, A3](implicit asTriple: ((A, B)) => (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))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | тройку итерируемых коллекций, содержащих соответственно первый, второй и третий члены каждой тройки элементов этой итерируемой коллекции. |
| Унаследовано от | IterableOps |
Source
Представление над элементами этой коллекции.
| Классы определения | View -> IterableOps |
|---|---|
| Унаследовано от | View |
Source
Создает нестрогий фильтр этой итерируемой коллекции.
Примечание: различие между c filter p и c withFilter p заключается в том, что первый создает новую коллекцию, а второй только ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | объект класса |
| Унаследовано от | IterableOps |
Source
def zip[B](that: IterableOnce[B]): CC[(A, B)]
Возвращает итерируемую коллекцию, образованную из этой итерируемой коллекции и другой итерируемой коллекции путём объединения соответствующих элементов в пары. Если одна из двух коллекций длиннее другой, её оставшиеся элементы игнорируются.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, содержащая пары, состоящие из соответствующих элементов этой итерируемой коллекции и |
| Унаследовано от | IterableOps |
Source
Возвращает итерируемую коллекцию, образованную из этой итерируемой коллекции и другой итерируемой коллекции путём объединения соответствующих элементов в пары. Если одна из двух коллекций короче другой, используются плацехолдерные элементы для расширения более короткой коллекции до длины более длинной.
| Параметры значения |
|
|---|---|
| Возвращает | новая коллекция типа |
| Унаследовано от | IterableOps |
Source
def zipWithIndex: CC[(A, Int)]
Объединяет эту итерируемую коллекцию с её индексами.
| Возвращает | новая итерируемая коллекция, содержащая пары, состоящие из всех элементов этой итерируемой коллекции, соединённых с их индексом. Индексы начинаются с |
|---|---|
| Пример | |
| Унаследовано от | IterableOps |
© 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/View$$Zip.html