Spec-Zone.ru › Scala 3.2

Класс AbstractIterator.AbstractIterator

Исходный код

абстрактный класс AbstractIterator[+A] extends Iterator[A]

Явное создание экземпляра Iterator для уменьшения размера файла класса в подклассах.

Надтипы
трайт Iterator[A]
трайт IterableOnceOps[A, Iterator, Iterator[A]]
трайт IterableOnce[A]
класс Object
трайт Matchable
класс Any
Известные подтипы
класс GroupedIterator[B]
класс BufferedLineIterator
класс LineIterator
класс MatchIterator

Наследуемые классы

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

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

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

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

Наследуемые методы

Исходный код
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 buffered: BufferedIterator[A]

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

Возвращает

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

См. также

scala.collection.BufferedIterator

Примечание

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Возвращает

значение Option, содержащее результат применения 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

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

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

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

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

Возвращает

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

Примечание

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

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

Source
def copyToArray[B >: A](xs: Array[B], start: Int, len: Int): Int

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

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

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

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

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

Значения параметров
len

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

start

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

xs

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

Возвращает

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

Примечание

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

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

Source
def copyToArray[B >: A](xs: Array[B], start: Int): Int

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

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

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

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

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

Значения параметров
start

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

xs

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

Возвращает

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

Примечание

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

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

Source
def copyToArray[B >: A](xs: Array[B]): Int

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

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

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

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

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

Значения параметров
xs

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

Возвращает

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

Примечание

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

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

Source
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

Source
def count(p: A => Boolean): Int

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

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

class="attributes">
Параметры значения
p

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

Возвращает

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

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

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

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

class="attributes">
Возвращает

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

Примечание

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

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

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

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

class="attributes">
Параметры типа
B

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

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

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

Возвращает

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

Примечание

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

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

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

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

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

class="attributes">
Параметры значения
n

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

Возвращает

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

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

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

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

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

class="attributes">
Параметры значения
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 к каждому элементу этого итератора и конкатенации результатов.

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

Source
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.

Возвращает

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

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

Source
def fold[A1 >: A](z: A1)(op: (A1, A1) => A1): A1

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

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

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

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

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

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

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

z

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

Возвращает

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

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

Source
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

Source
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

Исходный код
def foreach[U](f: A => U): Unit

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

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

Исходный код
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

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

Проверить, есть ли доступный следующий элемент.

Возвращает

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

Примечание

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

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

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

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

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

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

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

from

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

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

Исходный код
def indexWhere(p: A => Boolean, from: Int): Int

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

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

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

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

Возвращает

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

Определяющие классы Iterator -> IterableOnceOps
Унаследовано от Iterator

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

Исходный код
def max[B >: A](implicit ord: Ordering[B]): A

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Исходный код
def maxBy[B](f: A => B)(implicit cmp: Ordering[B]): A

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

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

END_OF_DOCUMENT_MARKER
Тип параметров
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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

значение опции, содержащее наибольший элемент этого набора относительно порядка 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

Source
def nextOption(): Option[A]

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

Возвращает

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

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

Source
def nonEmpty: Boolean

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

Возвращает

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

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

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

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

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

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

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

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

len

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

Возвращает

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

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

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

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

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

предикат, по которому происходит разделение

Возвращает

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

Примечание

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

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

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

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

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

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

patchElems

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

replaced

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

Примечание

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

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

Source
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

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

Возвращает

значение option, содержащее результат 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 в противном случае. <ошибка в аннотации inheritdoc>

Унаследовано от 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

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

Возвращает

Итератор, создающий группы размером 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 к своим элементам немедленно, а ленивые коллекции, такие как представления и LazyLists, применят 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/AbstractIterator.html

Spec-Zone.ru

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