Spec-Zone.ru › Scala 3.2

Класс Iterator.GroupedIterator

Исходный код

class GroupedIterator[B >: A](self: Iterator[B], size: Int, step: Int) extends AbstractIterator[Seq[B]]

Гибкий итератор для преобразования Iterator[A] в Iterator[Seq[A]] с настраиваемыми размером последовательности, шагом и стратегией обработки элементов, которые не делятся равномерно.

Типичные применения могут быть реализованы с помощью методов grouped и sliding.

Супертипы
класс AbstractIterator[Seq[B]]
интерфейс Iterator[Seq[B]]
интерфейс IterableOnceOps[Seq[B], Iterator, Iterator[Seq[B]]]
интерфейс IterableOnce[Seq[B]]
класс Object
интерфейс Matchable
класс Any

Наследованные классы

Исходный код
class GroupedIterator[B >: A](self: Iterator[B], size: Int, step: Int) extends AbstractIterator[Seq[B]]

Гибкий итератор для преобразования Iterator[A] в Iterator[Seq[A]] с настраиваемыми размером последовательности, шагом и стратегией обработки элементов, которые не делятся равномерно.

Типичные применения могут быть реализованы с помощью методов grouped и sliding.

Наследуется от Iterator

Конкретные методы

Исходный код
def hasNext: Boolean

Проверка наличия следующего элемента.

Возвращает

true если следующий элемент существует, false в противном случае

Примечание

Использование: Итератор остается валидным для дальнейшего использования независимо от возвращенного результата.

Исходный код
def next(): Seq[B]

Возвращает следующий элемент и продвигает итератор.

Возвращает

следующий элемент.

Исключения
NoSuchElementException

если следующего элемента нет.

Примечание

Использование: Продвигает итератор, что может исчерпать элементы. Допускается дальнейшее обращение к итератору.

Исходный код
def withPadding(x: => B): GroupedIterator.this.type

Публичные функции, которые могут быть использованы для настройки итератора перед его применением.

Заполняет последний сегмент при необходимости, чтобы все сегменты имели одинаковый размер.

Параметры
x

Элемент, который будет добавлен к последнему сегменту, если необходимо.

Возвращает

Тот же итератор, а не новый.

Примечание

Этот метод изменяет итератор, на котором он вызван, что безопасно для последующего использования.

Этот метод взаимоисключающ с withPartial(true).

Исходный код
def withPartial(x: Boolean): GroupedIterator.this.type

Публичные функции, которые могут быть использованы для настройки итератора перед его применением.

Выбирает, может ли последний сегмент возвращаться с менее чем size элементами. В противном случае некоторые элементы исходного итератора могут вообще не быть возвращены.

Параметры
x

true если могут возвращаться частичные сегменты, false в противном случае.

Возвращает

Тот же итератор, а не новый.

Примечание

Этот метод изменяет итератор, на котором он вызван, что безопасно для последующего использования.

Этот метод взаимоисключающ с withPadding.

Наследованные методы

Исходный код
final def ++[B >: Seq[B]](xs: => IterableOnce[B]): Iterator[B]

Наследуется от Iterator

Исходный код
final def addString(b: StringBuilder): StringBuilder

Добавляет все элементы этой коллекции в строковый билдер. Записанный текст состоит из строковых представлений (относительно метода toString) всех элементов этой коллекции без разделительной строки.

Пример:

scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)

scala> val b = new StringBuilder()
b: StringBuilder =

scala> val h = a.addString(b)
h: StringBuilder = 1234
Параметры
b

строковый билдер, в который добавляются элементы.

Возвращает

строковый билдер b, в который были добавлены элементы.

Наследуется от IterableOnceOps

Исходный код
final def addString(b: StringBuilder, sep: String): StringBuilder

Добавляет все элементы этой коллекции в строковый билдер с использованием разделительной строки. Записанный текст состоит из строковых представлений (относительно метода toString) всех элементов этой коллекции, разделенных строкой sep.

Пример:

scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)

scala> val b = new StringBuilder()
b: StringBuilder =

scala> a.addString(b, ", ")
res0: StringBuilder = 1, 2, 3, 4
Параметры
b

строковый билдер, в который добавляются элементы.

sep

разделительная строка.

Возвращает

строковый билдер b, в который были добавлены элементы.

Наследуется от IterableOnceOps

Исходный код
def addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder

Добавляет все элементы этой коллекции в строковый билдер с использованием начальной, конечной и разделительной строк. Записанный текст начинается со строки start и заканчивается строкой end. Внутри, строковые представления (относительно метода toString) всех элементов этой коллекции разделены строкой sep.

Пример:

scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)

scala> val b = new StringBuilder()
b: StringBuilder =

scala> a.addString(b , "List(" , ", " , ")")
res5: StringBuilder = List(1, 2, 3, 4)
Параметры
b

строковый билдер, в который добавляются элементы.

end

конечная строка.

sep

разделительная строка.

start

начальная строка.

Возвращает

строковый билдер b, в который были добавлены элементы.

Наследуется от IterableOnceOps

Исходный код
def buffered: BufferedIterator[A]

Создает буферизированный итератор из этого итератора.

Возвращает

буферизированный итератор, производящий те же значения, что и этот итератор.

См. также

scala.collection.BufferedIterator

Примечание

Использование: После вызова этого метода нужно отбросить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе.

Наследуется от Iterator

Исходный код
def collect[B](pf: PartialFunction[Seq[B], B]): Iterator[B]

Создаёт новый итератор, применяя частичную функцию ко всем элементам этого итератора, для которых функция определена.

Параметры типа
B

тип элементов возвращаемого итератора.

Параметры значения
pf

частичная функция, которая фильтрует и отображает итератор.

Возвращает

новый итератор, полученный путём применения заданной частичной функции pf к каждому элементу, для которого она определена, и сбора результатов. Порядок элементов сохраняется.

Унаследовано от Iterator

Источник
def collectFirst[B](pf: PartialFunction[Seq[B], B]): Option[B]

Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.

Примечание: может не завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

Параметры значения
pf

частичная функция

Возвращает

значение типа Option, содержащее результат применения pf к первому значению, для которого она определена, или None если такового нет.

Пример

Seq("a", 1, 5L).collectFirst({ case x: Int => x*10 }) = Some(10)

Унаследовано от IterableOnceOps

Источник
def concat[B >: Seq[B]](xs: => IterableOnce[B]): Iterator[B]

Унаследовано от Iterator

Источник
def contains(elem: Any): Boolean

Проверяет, содержит ли этот итератор данное значение в качестве элемента.

Примечание: может не завершаться для бесконечных итераторов.

Параметры значения
elem

элемент для проверки.

Возвращает

true если этот итератор генерирует какое-либо значение, равное (как определяется ==) elem, false в противном случае.

Примечание

Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван. Использование его не определено и может быть изменено.

Унаследовано от Iterator

Источник
def copyToArray[B >: Seq[B]](xs: Array[B], start: Int, len: Int): Int

Копирует элементы в массив, возвращая количество скопированных элементов.

Заполняет заданный массив xs начиная с индекса start не более чем len элементами этой коллекции.

Копирование прекращается, когда скопированы все элементы этой коллекции, достигнут конец массива или len элементов скопированы.

Параметры типа
B

тип элементов массива.

Параметры значения
len

максимальное количество копируемых элементов.

start

начальный индекс xs.

xs

массив для заполнения.

Возвращает

количество элементов, записанных в массив

Примечание

Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван. Использование его не определено и может быть изменено.

Унаследовано от IterableOnceOps

Источник
def copyToArray[B >: Seq[B]](xs: Array[B], start: Int): Int

Копирует элементы в массив, возвращая количество записанных элементов.

Заполняет заданный массив xs начиная с индекса start значениями этой коллекции.

Копирование прекратится, когда будут скопированы все элементы этого набора или будет достигнут конец массива.

Параметры типа
B

тип элементов массива.

Параметры значения
start

начальный индекс xs.

xs

массив для заполнения.

Возвращает

количество элементов, записанных в массив

Примечание

Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван. Использование его не определено и может измениться.

Унаследовано от IterableOnceOps

Исходный код
def copyToArray[B >: Seq[B]](xs: Array[B]): Int

Копирует элементы в массив, возвращая количество скопированных элементов.

Заполняет заданный массив xs начиная с индекса start значениями из этого набора.

Копирование прекратится, когда будут скопированы все элементы этого набора или будет достигнут конец массива.

Параметры типа
B

тип элементов массива.

Параметры значения
xs

массив для заполнения.

Возвращает

количество элементов, записанных в массив

Примечание

Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван. Использование его не определено и может измениться.

Унаследовано от IterableOnceOps

Исходный код
def corresponds[B](that: IterableOnce[B])(p: (Seq[B], B) => Boolean): Boolean

Проверяет, соответствует ли каждый элемент итератора этого набора соответствующему элементу другого набора, удовлетворяя условию предиката.

Примечание: не завершается для наборов бесконечной длины.

Параметры типа
B

тип элементов that

Параметры значения
p

предикат, который сопоставляет элементы из обоих наборов

that

другой набор

Возвращает

true если оба набора имеют одинаковую длину и p(x, y) равно true для всех соответствующих элементов x этого итератора и y другого набора that, в противном случае false

Унаследовано от IterableOnceOps

Исходный код
def count(p: Seq[B] => Boolean): Int

Подсчитывает количество элементов в наборе, удовлетворяющих предикату.

Примечание: не завершается для наборов бесконечной длины.

Параметры значения
p

предикат для проверки элементов.

Возвращает

количество элементов, удовлетворяющих предикату p.

Унаследовано от IterableOnceOps

Исходный код
def distinct: Iterator[A]

Создаёт новый итератор из этого без дублируемых элементов.

Возвращает

итератор с уникальными элементами

Примечание

Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван. Использование его не определено и может измениться.

Унаследовано от Iterator

Исходный код
def distinctBy[B](f: Seq[B] => B): Iterator[A]

Создаёт новый итератор из этого, исключая дубликаты, определяемые по == после применения преобразования f.

Параметры типа
B

тип элементов после преобразования с помощью f

Параметры значения
f

Функция преобразования, результат которой используется для определения уникальности каждого элемента

Возвращает

итератор с уникальными элементами

Примечание

Повторное использование: после вызова этого метода необходимо удалить итератор, на котором он был вызван. Его использование не определено и может быть изменено.

Унаследовано от Iterator

Источник
def drop(n: Int): Iterator[A]

Выбирает все элементы, кроме первых n.

Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.

Параметры значения
n

число элементов, которые нужно опустить из этого итератора.

Возвращает

итератор, содержащий все элементы этого итератора, кроме первых n элементов, или пустой итератор, если в этом итераторе меньше n элементов. Если n отрицательное, то элементы не опускаются.

Унаследовано от Iterator

Источник
def dropWhile(p: Seq[B] => Boolean): Iterator[A]

Опускает самый длинный префикс элементов, удовлетворяющих предикату.

Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.

Параметры значения
p

Предикат, используемый для проверки элементов.

Возвращает

самый длинный суффикс этого итератора, первый элемент которого не удовлетворяет предикату p.

Унаследовано от Iterator

Источник
def duplicate: (Iterator[A], Iterator[A])

Создает два новых итератора, которые оба итерируют по тем же элементам, что и этот итератор (в том же порядке). Дублированные итераторы считаются равными, если они находятся на одном элементе.

Учитывая, что большинство методов для итераторов сделают исходный итератор непригодным для дальнейшего использования, этот метод предоставляет надежный способ вызова нескольких таких методов для итератора.

Возвращает

пару итераторов

Примечание

Реализация может выделять временное хранилище для элементов, перечисленных одним итератором, но еще не другим.

Повторное использование: после вызова этого метода необходимо удалить вызываемый итератор и использовать только возвращенные итераторы. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новых итераторах.

Унаследовано от Iterator

Источник
def exists(p: Seq[B] => Boolean): Boolean

Проверяет, выполняется ли предикат хотя бы для одного элемента этого набора.

Примечание: может не завершиться для наборов бесконечной длины.

Параметры значения
p

предикат, используемый для проверки элементов.

Возвращает

true если заданный предикат p выполняется хотя бы для одного элемента этого набора, в противном случае false

Унаследовано от IterableOnceOps

Источник
def filter(p: Seq[B] => Boolean): Iterator[A]

Выбирает все элементы этого итератора, которые удовлетворяют предикату.

Параметры значения
p

предикат, используемый для проверки элементов.

Возвращает

новый итератор, состоящий из всех элементов этого итератора, которые удовлетворяют заданному предикату p. Порядок элементов сохраняется.

Унаследовано от Iterator

Источник
def filterNot(p: Seq[B] => Boolean): Iterator[A]

Выбирает все элементы этого итератора, которые не удовлетворяют предикату.

Параметры значения
pred

предикат, используемый для проверки элементов.

Возвращает

новый итератор, состоящий из всех элементов этого итератора, которые не удовлетворяют заданному предикату pred. Порядок их расположения может не сохраняться.

Унаследовано от Iterator

Источник
def find(p: Seq[B] => Boolean): Option[A]

Находит первый элемент набора, удовлетворяющий предикату, если он существует.

Примечание: может не завершиться для наборов бесконечной длины.

Примечание: может возвращать разные результаты при разных запусках, если тип базового набора упорядочен.

Параметры значения
p

предикат, используемый для проверки элементов.

Возвращает

значение типа Option, содержащее первый элемент в наборе, который удовлетворяет p, или None если такой элемент не существует.

Унаследовано от IterableOnceOps

Источник
def flatMap[B](f: Seq[B] => IterableOnce[B]): Iterator[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)
Параметры типа
B

тип элементов возвращаемой коллекции.

Параметры значения
f

функция, применяемая к каждому элементу.

Возвращает

новый итератор, полученный в результате применения заданной функции, возвращающей коллекцию f, к каждому элементу этого итератора и конкатенации результатов.

Унаследовано от Iterator

Источник
def flatten[B](implicit ev: Seq[B] => IterableOnce[B]): Iterator[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)
Параметры типа
B

тип элементов каждой коллекции.

Параметры значения
asIterable

явное преобразование, которое утверждает, что тип элемента этого итератора является GenTraversable.

Возвращает

новый итератор, полученный путем конкатенации всех итераторов элементов.

Унаследовано от Iterator

Источник
def fold[A1 >: Seq[B]](z: A1)(op: (A1, A1) => A1): A1

Складывает элементы этой коллекции, используя заданный ассоциативный бинарный оператор. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективного порядка обхода.

Порядок выполнения операций над элементами не определен и может быть не детерминированным.

Примечание: не завершится для наборов бесконечной длины.

END_OF_DOCUMENT_MARKER
Тип параметров
A1

параметр типа для бинарного оператора, супертип A.

Параметры значения
op

бинарный оператор, который должен быть ассоциативным.

z

нейтральный элемент для операции слияния; может быть добавлен к результату произвольное количество раз и не должен изменять результат (например, Nil для конкатенации списков, 0 для сложения или 1 для умножения).

Возвращаемое значение

результат применения оператора слияния op между всеми элементами и z, или z если этот набор пуст.

Унаследовано от IterableOnceOps

Источник
def foldLeft[B](z: B)(op: (B, Seq[B]) => B): B

Применяет бинарный оператор к начальному значению и всем элементам этого набора, слева направо.

Примечание: не завершится для наборов бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.

Тип параметров
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

z

начальное значение.

Возвращаемое значение

результат вставки op между последовательными элементами этого набора, слева направо, с начальным значением z слева: op(...op(z, x1), x2, ..., xn) , где x1, ..., xn — элементы этого набора. Возвращает z , если этот набор пуст.

Унаследовано от IterableOnceOps

Источник
def foldRight[B](z: B)(op: (Seq[B], B) => B): B

Применяет бинарный оператор ко всем элементам этого набора и начальному значению, справа налево.

Примечание: не завершится для наборов бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен или оператор ассоциативен и коммутативен.

Тип параметров
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

z

начальное значение.

Возвращаемое значение

результат вставки op между последовательными элементами этого набора, справа налево, с начальным значением z справа: op(x1, op(x2, ... op(xn, z)...)) , где x1, ..., xn — элементы этого набора. Возвращает z , если этот набор пуст.

Унаследовано от IterableOnceOps

Источник
def forall(p: Seq[B] => Boolean): Boolean

Проверяет, выполняется ли предикат для всех элементов этого набора.

Примечание: может не завершиться для наборов бесконечного размера.

Параметры значения
p

предикат, используемый для проверки элементов.

Возвращаемое значение

true если этот набор пуст или заданный предикат p выполняется для всех элементов этого набора, в противном случае false.

Унаследовано от IterableOnceOps

Источник
def foreach[U](f: Seq[B] => U): Unit

Применяет f к каждому элементу для его побочных эффектов. Примечание: параметр [U] необходим для помощи в инференции типов scalac.

Унаследовано от IterableOnceOps

Источник
def grouped[B >: Seq[B]](size: Int): GroupedIterator[B]

Возвращает итератор, который группирует этот итератор в блоки фиксированного размера. Примеры использования:

// Returns List(List(1, 2, 3), List(4, 5, 6), List(7)))
(1 to 7).iterator.grouped(3).toList
// Returns List(List(1, 2, 3), List(4, 5, 6))
(1 to 7).iterator.grouped(3).withPartial(false).toList
// Returns List(List(1, 2, 3), List(4, 5, 6), List(7, 20, 25)
// Illustrating that withPadding's argument is by-name.
val it2 = Iterator.iterate(20)(_ + 5)
(1 to 7).iterator.grouped(3).withPadding(it2.next).toList
Примечание

Переиспользование: После вызова этого метода следует удалить вызываемый итератор и использовать только возвращённый. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе.

Унаследовано от Iterator

Источник
def indexOf[B >: Seq[B]](elem: B, from: Int): Int

Возвращает индекс первого вхождения указанного объекта в этом итерируемом объекте после или на некотором начальном индексе.

Примечание: может не завершиться для бесконечных итераторов.

Параметры значения
elem

элемент для поиска.

from

начальный индекс

Возвращаемое значение

индекс >= from первого вхождения elem в значениях, производимых этим итератором, или -1, если такой элемент не существует до достижения конца итератора.

Примечание

Переиспользование: После вызова этого метода следует удалить вызываемый итератор. Его использование не определено и может измениться.

Унаследовано от Iterator

Источник
def indexOf[B >: Seq[B]](elem: B): Int

Возвращает индекс первого вхождения указанного объекта в этом итерируемом объекте.

Примечание: может не завершиться для бесконечных итераторов.

Параметры значения
elem

элемент для поиска.

Возвращаемое значение

индекс первого вхождения elem в значениях, производимых этим итератором, или -1, если такой элемент не существует до достижения конца итератора.

Примечание

Переиспользование: После вызова этого метода следует удалить вызываемый итератор. Его использование не определено и может измениться.

Унаследовано от Iterator

Источник
def indexWhere(p: Seq[B] => Boolean, from: Int): Int

Унаследовано от Iterator

Источник
override def isEmpty: Boolean

Проверяет, пуст ли итератор.

Примечание: Реализации в подклассах, которые не являются многократно проходимыми, должны следить за тем, чтобы не потреблять какие-либо элементы, когда isEmpty вызывается.

Возвращаемое значение

true если итератор не содержит элементов, false в противном случае.

Классы определения Iterator -> IterableOnceOps
Унаследовано от Iterator

Источник
def isTraversableAgain: Boolean

Проверяет, можно ли многократно пройти этот набор. Всегда true для Iterables и false для Iterators, если не переопределено.

Возвращаемое значение

true если это многократно проходимый набор, false в противном случае.

Унаследовано от IterableOnceOps

Источник
final def iterator: Iterator[A]

Итератор может быть использован только один раз

Унаследовано от Iterator

Источник
def knownSize: Int

Возвращает

Количество элементов в этом наборе, если его можно вычислить без дополнительных затрат, в противном случае -1. «Без дополнительных затрат» обычно означает: не требующий обхода коллекции.

Унаследовано от IterableOnce

Источник
final def length: Int

Унаследовано от Iterator

Источник
def map[B](f: Seq[B] => B): Iterator[B]

Создает новый итератор, применяя функцию ко всем элементам этого итератора.

Параметры типа
B

тип элементов возвращаемого итератора.

Параметры значения
f

функция, которая должна применяться к каждому элементу.

Возвращает

новый итератор, полученный в результате применения заданной функции f к каждому элементу этого итератора и сбора результатов.

Унаследовано от Iterator

Источник
def max[B >: Seq[B]](implicit ord: Ordering[B]): A

Находит наибольший элемент.

Примечание: не завершит работу для коллекций бесконечного размера.

Параметры типа
B

Тип, для которого определено упорядочение.

Параметры значения
ord

Упорядочение, используемое для сравнения элементов.

Возвращает

наибольший элемент этой коллекции относительно упорядочения ord.

Исключения
UnsupportedOperationException

если эта коллекция пуста.

Унаследовано от IterableOnceOps

Источник
def maxBy[B](f: Seq[B] => B)(implicit cmp: Ordering[B]): A

Находит первый элемент, который даёт наибольшее значение, измеряемое функцией f.

Примечание: не завершит работу для коллекций бесконечного размера.

Параметры типа
B

Тип результата функции f.

Параметры значения
cmp

Упорядочение, используемое для сравнения элементов.

f

Функция измерения.

Возвращает

первый элемент этой коллекции с наибольшим значением, измеренным функцией f, относительно упорядочения cmp.

Исключения
UnsupportedOperationException

если эта коллекция пуста.

Унаследовано от IterableOnceOps

Источник
def maxByOption[B](f: Seq[B] => B)(implicit cmp: Ordering[B]): Option[A]

Находит первый элемент, который даёт наибольшее значение, измеряемое функцией f.

Примечание: не завершит работу для коллекций бесконечного размера.

Параметры типа
B

Тип результата функции f.

Параметры значения
cmp

Упорядочение, используемое для сравнения элементов.

f

Функция измерения.

Возвращает

значение Option, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f, относительно упорядочения cmp.

Унаследовано от IterableOnceOps

Источник
def maxOption[B >: Seq[B]](implicit ord: Ordering[B]): Option[A]

Находит наибольший элемент.

Примечание: не завершится для коллекций бесконечного размера.

Параметры типа
B

Тип, по которому определено упорядочение.

Параметры значения
ord

Упорядочение, используемое для сравнения элементов.

Возвращает

значение типа Option, содержащее наибольший элемент этой коллекции относительно упорядочения ord.

Унаследовано от IterableOnceOps

Источник
def min[B >: Seq[B]](implicit ord: Ordering[B]): A

Находит наименьший элемент.

Примечание: не завершится для коллекций бесконечного размера.

Параметры типа
B

Тип, по которому определено упорядочение.

Параметры значения
ord

Упорядочение, используемое для сравнения элементов.

Возвращает

наименьший элемент этой коллекции относительно упорядочения ord.

Исключения
UnsupportedOperationException

если эта коллекция пуста.

Унаследовано от IterableOnceOps

Источник
def minBy[B](f: Seq[B] => B)(implicit cmp: Ordering[B]): A

Находит первый элемент, который дает наименьшее значение, измеренное функцией f.

Примечание: не завершится для коллекций бесконечного размера.

Параметры типа
B

Тип результата функции f.

Параметры значения
cmp

Упорядочение, используемое для сравнения элементов.

f

Функция измерения.

Возвращает

первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно упорядочения cmp.

Исключения
UnsupportedOperationException

если эта коллекция пуста.

Унаследовано от IterableOnceOps

Источник
def minByOption[B](f: Seq[B] => B)(implicit cmp: Ordering[B]): Option[A]

Находит первый элемент, который дает наименьшее значение, измеренное функцией f.

Примечание: не завершится для коллекций бесконечного размера.

Параметры типа
B

Тип результата функции f.

Параметры значения
cmp

Упорядочение, используемое для сравнения элементов.

f

Функция измерения.

Возвращает

значение типа Option, содержащее первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно упорядочения cmp.

Унаследовано от IterableOnceOps

Источник
def minOption[B >: Seq[B]](implicit ord: Ordering[B]): Option[A]

Находит наименьший элемент.

Примечание: не завершится для коллекций бесконечного размера.

Параметры типа
B

Тип, по которому определено упорядочение.

Параметры значения
ord

Упорядочение, используемое для сравнения элементов.

Возвращает

значение типа Option, содержащее наименьший элемент этой коллекции относительно упорядочения ord.

Унаследовано от IterableOnceOps

Источник
final def mkString: String

Отображает все элементы этой коллекции в строке.

Делегирует вызов addString, который можно переопределить.

Возвращает

строковое представление этого набора. В результирующей строке строковые представления (относительно метода toString) всех элементов этого набора следуют друг за другом без разделительной строки.

Унаследовано от IterableOnceOps

Source
final def mkString(sep: String): String

Отображает все элементы этого набора в строке с использованием разделительной строки.

Делегирует вызов addString, который можно переопределить.

Параметры значения
sep

разделительная строка.

Возвращает

строковое представление этого набора. В результирующей строке строковые представления (относительно метода toString) всех элементов этого набора разделяются строкой sep.

Пример

List(1, 2, 3).mkString("|") = "1|2|3"

Унаследовано от IterableOnceOps

Source
final def mkString(start: String, sep: String, end: String): String

Отображает все элементы этого набора в строке с использованием начальной, конечной и разделительной строк.

Делегирует вызов addString, который можно переопределить.

Параметры значения
end

конечная строка.

sep

разделительная строка.

start

начальная строка.

Возвращает

строковое представление этого набора. Результирующая строка начинается со строки start и заканчивается строкой end. Внутри строковые представления (относительно метода toString) всех элементов этого набора разделяются строкой sep.

Пример

List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"

Унаследовано от IterableOnceOps

Source
def nextOption(): Option[A]

Оборачивает значение next() в опцию.

Возвращает

Some(next) , если следующий элемент существует, None в противном случае.

Унаследовано от Iterator

Source
def nonEmpty: Boolean

Проверяет, не пуст ли набор.

Возвращает

true , если набор содержит по крайней мере один элемент, false в противном случае.

Унаследовано от IterableOnceOps

Source
def padTo[B >: Seq[B]](len: Int, elem: B): Iterator[B]

Копия этого итератора с добавленным элементом до тех пор, пока не будет достигнута заданная целевая длина.

Параметры типа
B

тип элемента возвращаемого итератора.

Параметры значения
elem

значение для заполнения

len

целевая длина

Возвращает

новый итератор, состоящий из всех элементов этого итератора, за которым следует минимальное количество повторений elem, так что результирующий набор имеет длину не меньше len.

Унаследовано от Iterator

Source
def partition(p: Seq[B] => Boolean): (Iterator[A], Iterator[A])

Разделяет этот итератор на два итератора в соответствии с предикатом.

Параметры значения
p

предикат для разделения

Возвращает

пара итераторов: итератор, удовлетворяющий предикату p, и итератор, который не удовлетворяет. Относительный порядок элементов в результирующих итераторах совпадает с порядком в исходном итераторе.

Примечание

Переиспользование: после вызова этого метода нужно удалить итератор, на котором он был вызван, и использовать только возвращенные итераторы. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новых итераторах.

Унаследовано от Iterator

Source
def patch[B >: Seq[B]](from: Int, patchElems: Iterator[B], replaced: Int): Iterator[B]

Возвращает этот итератор с изменёнными значениями.

Параметры значения
from

начальный индекс для изменения

patchElems

итератор значений изменений

replaced

количество значений в исходном итераторе, которые заменяются изменением.

Примечание

Переиспользование: после вызова этого метода нужно удалить итератор, на котором он был вызван, а также переданный в качестве параметра и использовать только возвращённый итератор. Использование старых итераторов не определено, может быть изменено и может привести к изменениям в новом итераторе.

Унаследовано от Iterator

Source
def product[B >: Seq[B]](implicit num: Numeric[B]): B

Умножает элементы этого набора.

Примечание: не завершится для наборов бесконечного размера.

Параметры типа
B

тип результата оператора *.

Параметры значения
num

неявный параметр, определяющий набор числовых операций, включая оператор *, который используется для вычисления произведения.

Возвращает

произведение всех элементов этого набора относительно оператора * в num.

Унаследовано от IterableOnceOps

Source
def reduce[B >: Seq[B]](op: (B, B) => B): B

Сводит элементы этого набора с использованием указанного ассоциативного бинарного оператора.

Порядок выполнения операций над элементами не определен и может быть не детерминированным.

Параметры типа
B

параметр типа для бинарного оператора, супертип A.

Параметры значения
op

Бинарный оператор, который должен быть ассоциативным.

Возвращает

Результат применения оператора reduce op между всеми элементами, если набор не пустой.

Исключения
UnsupportedOperationException

если этот набор пуст.

Унаследовано от IterableOnceOps

Source
def reduceLeft[B >: Seq[B]](op: (B, Seq[B]) => B): B

Применяет бинарный оператор ко всем элементам этого набора слева направо.

Примечание: не завершится для наборов бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если только тип базового набора не является упорядоченным, или оператор не является ассоциативным и коммутативным.

Параметры типа
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

Возвращает

результат вставки op между последовательными элементами этого набора, слева направо: op( op( ... op(x1, x2) ..., xn-1), xn) где x1, ..., xn — это элементы этого набора.

Имеет исключения
UnsupportedOperationException

если этот набор пуст.

Унаследовано от IterableOnceOps

Источник
def reduceLeftOption[B >: Seq[B]](op: (B, Seq[B]) => B): Option[B]

Применяет бинарный оператор ко всем элементам этого набора слева направо (по умолчанию).

Примечание: не завершится для наборов бесконечной длины.

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.

Параметры типа
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

Возвращает

значение option, содержащее результат reduceLeft(op) , если этот набор не пустой, None в противном случае.

Унаследовано от IterableOnceOps

Источник
def reduceOption[B >: Seq[B]](op: (B, B) => B): Option[B]

Применяет оператор к элементам этого набора (если есть), используя указанный ассоциативный бинарный оператор.

Порядок выполнения операций над элементами не определен и может быть не детерминированным.

Параметры типа
B

Параметр типа для бинарного оператора, являющийся надтипом A.

Параметры значения
op

Бинарный оператор, который должен быть ассоциативным.

Возвращает

Значение option, содержащее результат применения оператора reduce op ко всем элементам, если набор не пустой, и None в противном случае.

Унаследовано от IterableOnceOps

Источник
def reduceRight[B >: Seq[B]](op: (Seq[B], B) => B): B

Применяет бинарный оператор ко всем элементам этого набора справа налево.

Примечание: не завершится для наборов бесконечной длины.

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен или оператор ассоциативен и коммутативен.

Параметры типа
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

Возвращает

результат вставки op между последовательными элементами этого набора справа налево: op(x1, op(x2, ..., op(xn-1, xn)...)) где x1, ..., xn — это элементы этого набора.

Имеет исключения
UnsupportedOperationException

если этот набор пуст.

Унаследовано от IterableOnceOps

Источник
def reduceRightOption[B >: Seq[B]](op: (Seq[B], B) => B): Option[B]

Возвращает значение option, содержащее результат применения бинарного оператора ко всем элементам этого набора справа налево.

Примечание: не завершится для наборов бесконечной длины.

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен или оператор ассоциативен и коммутативен.

Параметры типа
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

Возвращает

значение option, содержащее результат reduceRight(op) , если этот набор не пустой, None в противном случае.

Унаследовано от IterableOnceOps

Источник
protected def reversed: Iterable[A]

Унаследовано от IterableOnceOps

Источник
def sameElements[B >: Seq[B]](that: IterableOnce[B]): Boolean

Проверяет, равны ли соответствующие элементы данного набора (с точки зрения ==) элементам этого итератора.

Параметры типа
B

тип элементов набора that.

Параметры значения
that

набор для сравнения

Возвращает

true если оба набора содержат равные элементы в том же порядке, false в противном случае. <invalid inheritdoc annotation>

Унаследовано от Iterator

Источник
def scanLeft[B](z: B)(op: (B, Seq[B]) => B): Iterator[B]

Возвращает итератор, содержащий накопленные результаты применения оператора слева направо, включая начальное значение.

Примечание: не завершится для наборов бесконечной длины.

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен.

Параметры типа
B

тип элементов в результирующем наборе

Параметры значения
op

бинарный оператор, применяемый к промежуточному результату и элементу

z

начальное значение

Возвращает

набор с промежуточными результатами

Унаследовано от Iterator

Источник
def slice(from: Int, until: Int): Iterator[A]

Выбирает интервал элементов. Результирующий итератор состоит из всех элементов x, которые удовлетворяют следующему условию:

from <= indexOf(x) < until

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен.

Параметры значения
from

наименьший индекс для включения из этого итератора.

until

наименьший индекс для исключения из этого итератора.

Возвращает

итератор, содержащий элементы, большие или равные индексу from, до (но не включая) индекса until этого итератора.

Унаследовано от Iterator

Источник
def sliding[B >: Seq[B]](size: Int, step: Int): GroupedIterator[B]

Возвращает итератор, представляющий «скользящее окно» этого итератора. Первый аргумент — размер окна, а второй аргумент step — это величина сдвига окна на каждой итерации. По умолчанию step равен 1.

Возвращаемый GroupedIterator можно настроить для заполнения частичного результата до размера size или для подавления частичного результата.

Примеры использования:

// Returns List(ArraySeq(1, 2, 3), ArraySeq(2, 3, 4), ArraySeq(3, 4, 5))
(1 to 5).iterator.sliding(3).toList
// Returns List(ArraySeq(1, 2, 3, 4), ArraySeq(4, 5))
(1 to 5).iterator.sliding(4, 3).toList
// Returns List(ArraySeq(1, 2, 3, 4))
(1 to 5).iterator.sliding(4, 3).withPartial(false).toList
// Returns List(ArraySeq(1, 2, 3, 4), ArraySeq(4, 5, 20, 25))
// Illustrating that withPadding's argument is by-name.
val it2 = Iterator.iterate(20)(_ + 5)
(1 to 5).iterator.sliding(4, 3).withPadding(it2.next).toList
Параметры значения
size

количество элементов в группе

step

расстояние между первыми элементами последовательных групп

Возвращает

A GroupedIterator производящий Seq[B]s размера size, за исключением последнего элемента (который может быть единственным элементом), который будет усечён, если оставшихся элементов меньше, чем size. Это поведение можно настроить.

Примечание

Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора неопределённо, может быть изменено и может привести к изменениям в новом итераторе также.

Унаследовано от Iterator

Исходный код
def span(p: Seq[B] => Boolean): (Iterator[A], Iterator[A])

Разделяет этот итератор на пару префикс/суффикс в соответствии с предикатом.

Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

Примечание

Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённые итераторы. Использование старого итератора неопределённо, может быть изменено и может привести к изменениям в новых итераторах также.

Унаследовано от Iterator

Исходный код
def splitAt(n: Int): (C, C)

Разделяет эту коллекцию на пару префикс/суффикс в заданной позиции.

Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

Параметры значения
n

позиция, в которой нужно разделить.

Возвращает

пара коллекций, состоящая из первых n элементов этой коллекции и других элементов.

Унаследовано от IterableOnceOps

Исходный код
def stepper[S <: Stepper[_]](implicit shape: StepperShape[Seq[B], S]): S

Возвращает 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

Исходный код
def sum[B >: Seq[B]](implicit num: Numeric[B]): B

Суммирует элементы этой коллекции.

Примечание: не завершится для коллекций бесконечного размера.

Параметры типа
B

тип результата оператора +.

Параметры значения
num

неявный параметр, определяющий набор числовых операций, которые включают оператор + для использования в формировании суммы.

Возвращает

сумма всех элементов этой коллекции относительно оператора + в num.

Унаследовано от IterableOnceOps

Исходный код
def take(n: Int): Iterator[A]

Выбирает первые n элементов.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

Параметры значения
n

количество элементов для взятия из этого итератора.

Возвращает

итератор, содержащий только первые n элементов этого итератора, или весь итератор, если у него меньше, чем n элементов. Если n отрицательное, возвращает пустой итератор.

Унаследовано от Iterator

Исходный код
def takeWhile(p: Seq[B] => Boolean): Iterator[A]

Взятие самого длинного префикса элементов, удовлетворяющих предикату.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

Параметры значения
p

Предикат, используемый для проверки элементов.

Возвращает

самый длинный префикс этого итератора, элементы которого удовлетворяют предикату p.

Унаследовано от Iterator

Исходный код
override def tapEach[U](f: Seq[B] => U): Iterator[A]

Применение функции побочного эффекта к каждому элементу в этой коллекции. Строгие коллекции применяют f к своим элементам немедленно, в то время как ленивые коллекции, такие как представления и LazyLists, применяют f к каждому элементу только при его вычислении и каждый раз, когда этот элемент вычисляется.

Параметры типа
U

тип возвращаемого значения f

Параметры значения
f

функция, применяемая к каждому элементу в этом итераторе

Возвращает

такая же логическая коллекция, что и эта

Классы определения Iterator -> IterableOnceOps
Унаследовано от Iterator

Исходный код
def to[C1](factory: Factory[Seq[B], C1]): C1

При заданном фабрике коллекции factory, преобразуйте эту коллекцию в соответствующее представление для текущего типа элемента A. Примеры использования:

xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]

Унаследовано от IterableOnceOps

Исходный код
def toArray[B >: Seq[B] : ClassTag]: Array[B]

Преобразует коллекцию в массив.

Примечание реализации: НЕ вызывайте Array.from из этого метода.

Унаследовано от IterableOnceOps

Исходный код
final def toBuffer[B >: Seq[B]]: Buffer[B]

Унаследовано от IterableOnceOps

Источник
def toIndexedSeq: IndexedSeq[A]

Унаследовано от IterableOnceOps

Источник
def toList: List[A]

Унаследовано от IterableOnceOps

Источник
def toMap[K, V](implicit ev: Seq[B] <:< (K, V)): Map[K, V]

Унаследовано от IterableOnceOps

Источник
def toSeq: Seq[A]

Возвращает

Этот набор в виде Seq[A]. Это эквивалентно to(Seq), но может быть быстрее.

Унаследовано от IterableOnceOps

Источник
def toSet[B >: Seq[B]]: Set[B]

Унаследовано от IterableOnceOps

Источник
override def toString: String

Преобразует этот итератор в строку.

Возвращает

"<iterator>"

Примечание

Повторное использование: итератор остается действительным для дальнейшего использования, независимо от возвращаемого результата.

Классы определений Iterator -> Any
Унаследовано от Iterator

Источник
def toVector: Vector[A]

Унаследовано от IterableOnceOps

Источник
def withFilter(p: Seq[B] => Boolean): Iterator[A]

Создаёт итератор, содержащий все элементы этого итератора, удовлетворяющие предикату p. Порядок элементов сохраняется.

Примечание: withFilter эквивалентно filter для итераторов. Оно существует, чтобы выражения for с фильтрами работали над итераторами.

Параметры значения
p

предикат для проверки значений.

Возвращает

итератор, который генерирует те значения этого итератора, которые удовлетворяют предикату p.

Примечание

Повторное использование: После вызова этого метода следует удалить итератор, на котором был вызван метод, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.

Унаследовано от Iterator

Источник
def zip[B](that: IterableOnce[B]): Iterator[(A, B)]

Унаследовано от Iterator

Источник
def zipAll[A1 >: Seq[B], B](that: IterableOnce[B], thisElem: A1, thatElem: B): Iterator[(A1, B)]

Унаследовано от Iterator

Источник
def zipWithIndex: Iterator[(A, Int)]

Объединяет этот итератор с его индексами.

Возвращает

Новый итератор, содержащий пары, состоящие из всех элементов этого итератора, соединённых с их индексом. Индексы начинаются с 0.

Пример

List("a", "b", "c").zipWithIndex == List(("a", 0), ("b", 1), ("c", 2))

Унаследовано от Iterator

© 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/Iterator$GroupedIterator.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API