Spec-Zone.ru › Scala 3.2

Trait BufferedIterator.BufferedIterator

Исходный код

trait BufferedIterator[+A] extends Iterator[A]

Буферизованные итераторы — это итераторы, которые предоставляют метод head, который проверяет следующий элемент, не отбрасывая его.

Суперобект
trait Iterator[A]
trait IterableOnceOps[A, Iterator, Iterator[A]]
trait IterableOnce[A]
class Object
trait Matchable
class 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 head: A

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

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

Исходный код
override def buffered: BufferedIterator.this.type

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

Возвращает

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

См. также

scala.collection.BufferedIterator

Примечание

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

Классы-определения Iterator

Исходный код
def headOption: Option[A]

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

Возвращает

следующий элемент этого итератора, если у него есть следующий элемент, или None если его нет

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

Исходный код
final def ++[B >: A](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 collect[B](pf: PartialFunction[A, B]): Iterator[B]

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

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

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

Параметры
pf

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

Возвращает

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

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

Исходный код
def collectFirst[B](pf: PartialFunction[A, B]): Option[B]

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

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

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

Параметры
pf

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

Возвращает

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

Пример

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

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

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

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

Исходный код
def contains(elem: Any): Boolean

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

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

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

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

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

start

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

xs

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

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

xs

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

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

Источник
def corresponds[B](that: IterableOnce[B])(p: (A, B) => Boolean): Boolean

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

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

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

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

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

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

that

другой набор

Возвращает

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

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

Источник
def count(p: A => Boolean): Int

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

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

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

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

Возвращает

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

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

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

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

Возвращает

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

Примечание

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

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

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

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

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

тип элементов после преобразования функцией f

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

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

Возвращает

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

Примечание

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

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

Унаследовано от Итератор

Исходный код
def exists(p: A => Boolean): Boolean

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

Унаследовано от Итератор

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

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

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

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

Возвращает

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

Унаследовано от Итератор

Исходный код
def find(p: A => Boolean): Option[A]

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

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

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

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

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

Возвращает

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

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

Исходный код
def flatMap[B](f: A => 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 к каждому элементу этого итератора и конкатенации результатов.

Унаследовано от Итератор

Исходный код
def flatten[B](implicit ev: A => 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.

Возвращает

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

Унаследовано от Итератор

Исходный код
def fold[A1 >: A](z: A1)(op: (A1, A1) => A1): A1

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Исходный код
def foldLeft[B](z: B)(op: (B, A) => B): B

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Исходный код
def foldRight[B](z: B)(op: (A, B) => B): B

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Source
def forall(p: A => Boolean): Boolean

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

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

Параметры
p

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

Возвращает

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

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

Source
def foreach[U](f: A => U): Unit

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

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

Source
def grouped[B >: A](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

Source
def hasNext: Boolean

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

Возвращает

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

Примечание

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

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

Source
def indexOf[B >: A](elem: B, from: Int): Int

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

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

Параметры
elem

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

from

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

Возвращает

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

Примечание

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

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

Source
def indexOf[B >: A](elem: B): Int

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

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

Параметры
elem

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

Возвращает

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

Примечание

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

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

Source
def indexWhere(p: A => Boolean, from: Int): Int

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

Source
override def isEmpty: Boolean

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

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

Возвращает

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

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

Source
def isTraversableAgain: Boolean

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

Возвращает

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

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

Source
final def iterator: Iterator[A]

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

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

Source
def knownSize: Int

Возвращает

Количество элементов в этом наборе, если его можно вычислить без затрат, в противном случае -1. Без затрат обычно означает: Не требует обхода набора.

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

Source
final def length: Int

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

Source
def map[B](f: A => B): Iterator[B]

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

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

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

Параметры
f

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

Возвращает

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

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

Source
def max[B >: A](implicit ord: Ordering[B]): A

Поиск наибольшего элемента.

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

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

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

Параметры
ord

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Source
def maxBy[B](f: A => B)(implicit cmp: Ordering[B]): A

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

Пример

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

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

Источник
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

Источник
def next(): A

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

Возвращает

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

Исключения
NoSuchElementException

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

Примечание

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

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

Исходный код
def nextOption(): Option[A]

Оборачивает значение next() в объект Option.

Возвращает

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

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

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

Проверяет, не пусто ли коллекция.

Возвращает

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

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

Исходный код
def padTo[B >: A](len: Int, elem: B): Iterator[B]

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

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

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

Параметры
elem

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

len

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

Возвращает

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

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

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

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

Параметры
p

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

Возвращает

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

Примечание

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

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

Исходный код
def patch[B >: A](from: Int, patchElems: Iterator[B], replaced: Int): Iterator[B]

Возвращает этот итератор с измененными значениями. Замена по отрицательным индексам такая же, как и замена, начинающаяся с 0. Замена по индексам, равным или большим длины исходного итератора, добавляет исправление в конец. Если заменены значения больше, чем фактически существуют, избыток игнорируется.

Параметры
from

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

patchElems

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

replaced

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

Примечание

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

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

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

Перемножает элементы этой коллекции.

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

Необязательно применяет бинарный оператор ко всем элементам этой коллекции слева направо.

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def reduceRight[B >: A](op: (A, B) => B): B

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

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

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

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

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

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

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

Возвращает

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

Выбрасывает
UnsupportedOperationException

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

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

Исходный код
def reduceRightOption[B >: A](op: (A, B) => B): Option[B]

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

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

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

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

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

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

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

Возвращает

значения типа Option, содержащее результат reduceRight(op) если коллекция не пуста, None иначе.

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

Исходный код
protected def reversed: Iterable[A]

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

Исходный код
def sameElements[B >: A](that: IterableOnce[B]): Boolean

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

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

тип элементов коллекции that.

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

коллекция для сравнения

Возвращает

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

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

Исходный код
def scanLeft[B](z: B)(op: (B, A) => B): Iterator[B]

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

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

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

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

тип элементов в результирующей коллекции

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

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

z

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

Возвращает

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

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

Исходный код
def size: Int

Размер этой коллекции.

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

Возвращает

количество элементов в этой коллекции.

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

Исходный код
def slice(from: Int, until: Int): Iterator[A]

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

from <= indexOf(x) < until

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

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

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

until

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

Возвращает

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

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

Исходный код
def sliding[B >: A](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

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

Возвращает

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

Примечание

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

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

Исходный код
def span(p: A => 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[A, 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. Для Stepper, помеченных scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, тогда как обычные Stepper могут быть преобразованы только в последовательные потоки.

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

Источник
def sum[B >: A](implicit num: Numeric[B]): B

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

Источник
override def tapEach[U](f: A => U): Iterator[A]

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

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

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

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

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

Возвращает

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

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

Источник
def to[C1](factory: Factory[A, C1]): C1

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

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

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

Источник
def toArray[B >: A : ClassTag]: Array[B]

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

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

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

Источник
final def toBuffer[B >: A]: Buffer[B]

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

"<iterator>"

Примечание

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

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

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

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

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

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

Источник
def zipAll[A1 >: A, 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/BufferedIterator.html

Spec-Zone.ru

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