Трейт scala.collection.Iterator
Объект-компаньон object Iterator
Трейт Iterator[+A] extends TraversableOnce[A]
Члены типа
класс GroupedIterator[B >: A] extends AbstractIterator[Seq[B]] with Iterator[Seq[B]]
Гибкий итератор для преобразования Iterator[A] в Iterator[Seq[A]], с настраиваемым размером последовательности, шагом и стратегией для обработки элементов, которые не помещаются равномерно.
Типичные использования можно получить с помощью методов grouped и sliding.
Абстрактные члены значения
абстрактный def hasNext: Boolean
Проверяет, может ли этот итератор предоставить другой элемент.
- возвращает
trueесли последующий вызовnextвернёт элемент,falseв противном случае.
- Примечание
Переиспользование: итератор остаётся валидным для дальнейшего использования независимо от возвращаемого результата.
абстрактный def next(): A
Возвращает следующий элемент этого итератора.
- возвращает
следующий элемент этого итератора, если
hasNextявляетсяtrue, в противном случае поведение не определено.
- Примечание
Переиспользование: итератор остаётся валидным для дальнейшего использования независимо от возвращаемого результата.
Члены конкретных значений
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- returns
trueесли !(this == that), в противном случае false.
- Definition Classes
- AnyRef → Any
final def ##(): Int
Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для числовых значений он возвращает хеш-значение, которое согласуется с равенством значений: если два экземпляра типов значений сравниваются как true, то ## будет генерировать одинаковое хеш-значение для каждого из них. Для null возвращает хеш-код, где null.hashCode вызывает NullPointerException.
- returns
хеш-значение, согласованное с ==
- Definition Classes
- AnyRef → Any
def +(other: String): String
- Неявный
- Этот член добавлен неявным преобразованием из Iterator[A] в any2stringadd[Iterator[A]], выполненное методом any2stringadd в scala.Predef.
- Definition Classes
- any2stringadd
def ++(that: ⇒ Iterator[A]): Iterator[A]
Конкатенация этого итератора с другим.
- that
другой итератор
- returns
новый итератор, который сначала возвращает значения, производимые этим итератором, а затем — значения, производимые итератором
that.
def ->[B](y: B): (Iterator[A], B)
- Неявный
- Этот член добавлен неявным преобразованием из Iterator[A] в ArrowAssoc[Iterator[A]], выполненное методом ArrowAssoc в scala.Predef.
- Definition Classes
- ArrowAssoc
- Аннотации
- @inline()
def /:[B](z: B)(op: (B, A) ⇒ B): B
Применение бинарного оператора к начальному значению и всем элементам этого итерируемого или итератора слева направо.
Примечание: /: — это альтернативная синтаксическая конструкция для foldLeft; z /: xs — то же самое, что и xs foldLeft z.
Примеры:
Обратите внимание, что функция сворачивания, используемая для вычисления b, эквивалентна функции, используемой для вычисления c.
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = (5 /: a)(_+_) b: Int = 15 scala> val c = (5 /: a)((x,y) => x + y) c: Int = 15
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- z
начальное значение.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого итерируемого или итератора слева направо с начальным значениемzслева:op(...op(op(z, x_1), x_2), ..., x_n)
где
x1, ..., xn— элементы этого итерируемого или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def :\[B](z: B)(op: (A, B) ⇒ B): B
Применение бинарного оператора ко всем элементам этого итерируемого или итератора и начальному значению, справа налево.
Примечание: :\ — это альтернативная синтаксическая конструкция для foldRight; xs :\ z — то же самое, что и xs foldRight z.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
Примеры:
Обратите внимание, что функция сворачивания, используемая для вычисления b, эквивалентна функции, используемой для вычисления c.
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = (a :\ 5)(_+_) b: Int = 15 scala> val c = (a :\ 5)((x,y) => x + y) c: Int = 15
- B
тип результата бинарного оператора.
- z
начальное значение
- op
бинарный оператор
- returns
-
результат вставки
opмежду последовательными элементами этого итерируемого или итератора справа налево с начальным значениемzсправа:op(x_1, op(x_2, ... op(x_n, z)...))
где
x1, ..., xn— элементы этого итерируемого или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
final def ==(arg0: Any): Boolean
Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).
- returns
trueесли объект получателя эквивалентен аргументу;falseв противном случае.
- Definition Classes
- AnyRef → Any
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, в которую были добавлены элементы.
- Definition Classes
- TraversableOnce
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, в которую были добавлены элементы.
- Definition Classes
- TraversableOnce
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
строка-построитель, в которую добавляются элементы.
- start
начальная строка.
- sep
разделительная строка.
- end
конечная строка.
- возвращает
строку-построитель
b, в которую были добавлены элементы.
- Definition Classes
- TraversableOnce
def aggregate[B](z: ⇒ B)(seqop: (B, A) ⇒ B, combop: (B, B) ⇒ B): B
Агрегирует результаты применения оператора к последующим элементам.
Это более общий вид fold и reduce. Он похож на foldLeft, так как не требует, чтобы результат был супертипом типа элемента. Кроме того, он позволяет обрабатывать параллельные коллекции частями, а затем объединять промежуточные результаты.
aggregate разделяет итерируемый объект или итератор на разделы и обрабатывает каждый раздел последовательно, применяя seqop, начиная с z (как foldLeft). Эти промежуточные результаты затем объединяются с помощью combop (как fold). Реализация этой операции может работать с произвольным количеством разделов коллекции (даже с 1), поэтому combop может вызываться произвольное количество раз (даже 0).
Например, рассмотрим суммирование целочисленных значений списка символов. Начальное значение суммы равно 0. Во-первых, seqop преобразует каждый входной символ в целое число и добавляет его к сумме (раздела). Затем combop просто суммирует промежуточные результаты разделов:
List('a', 'b', 'c').aggregate(0)({ (sum, ch) => sum + ch.toInt }, { (p1, p2) => p1 + p2 })
- B
тип накопленных результатов
- z
начальное значение для накопленного результата раздела — это обычно нейтральный элемент для оператора
seqop(например,Nilдля конкатенации списков или0для суммирования) и может быть вычислен более чем один раз- seqop
оператор, используемый для накопления результатов внутри раздела
- combop
ассоциативный оператор, используемый для объединения результатов из разных разделов
- Definition Classes
- TraversableOnce → GenTraversableOnce
final def asInstanceOf[T0]: T0
Приводит объект-получатель к типу T0.
Обратите внимание, что успех приведения типов во время выполнения зависит от семантики стирания в Scala. Следовательно, выражение 1.asInstanceOf[String] сгенерирует ClassCastException во время выполнения, а выражение List(1).asInstanceOf[List[String]] — нет. В последнем примере, потому что аргумент типа стирается во время компиляции, невозможно проверить, содержат ли элементы списка запрашиваемый тип.
- возвращает
объект-получатель.
- Definition Classes
- Any
- Исключения
ClassCastException, если объект-получатель не является экземпляром стирания типаT0.
def buffered: BufferedIterator[A]
Создаёт буферизованный итератор из этого итератора.
- возвращает
буферизованный итератор, производящий те же значения, что и этот итератор.
- Note
Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе также.
- См. также
def clone(): AnyRef
Создаёт копию объекта-приёмника.
По умолчанию реализация метода clone зависит от платформы.
- возвращает
копию объекта-приёмника.
def collect[B](pf: PartialFunction[A, B]): Iterator[B]
Создаёт итератор путём преобразования значений, производимых этим итератором, с помощью частичной функции, отбрасывая те значения, для которых частичная функция не определена.
- pf
частичная функция, которая фильтрует и отображает итератор.
- возвращает
новый итератор, который возвращает каждое значение
x, производимое этим итератором, для которогоpfопределена, изображениеpf(x).
- Аннотации
- @migration
- Миграция
(Изменено в версии 2.8.0)
collectизменилась. Предыдущее поведение можно воспроизвести с помощьюtoSeq.- Примечание
Повторное использование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только итератор, который был возвращён. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе также.
def collectFirst[B](pf: PartialFunction[A, B]): Option[B]
Находит первый элемент перечислимого или итератора, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершиться для бесконечно больших коллекций.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции, лежащей в основе, не упорядочен.
- pf
частичная функция
- возвращает
значения опции, содержащие применённую pf к первому значению, для которого она определена, или
Noneесли такового не существует.
- Определяющие классы
- TraversableOnce
Seq("a", 1, 5L).collectFirst({ case x: Int => x*10 }) = Some(10)
def contains(elem: Any): Boolean
Проверяет, содержит ли этот итератор заданное значение как элемент.
Примечание: может не завершиться для бесконечных итераторов.
- elem
элемент для проверки.
- возвращает
trueесли этот итератор производит какое-либо значение, которое равно (как определяется==)elem,falseв противном случае.
- Примечание
Повторное использование: после вызова этого метода следует удалить итератор, на котором он был вызван. Его использование не определено и может измениться.
def copyToArray(xs: Array[A], start: Int, len: Int): Unit
Копирует выбранные значения, производимые этим итератором, в массив. Заполняет заданный массив xs , начиная с индекса start, максимум len значениями, производимыми этим итератором. Копирование прекращается, как только достигается конец текущего итератора или конец массива, или len элементов были скопированы.
Примечание: не завершится для бесконечных итераторов.
- xs
массив для заполнения.
- start
начальный индекс.
- len
максимальное количество копируемых элементов.
- Определяющие классы
- Iterator → TraversableOnce → GenTraversableOnce
def copyToArray(xs: Array[A]): Unit
Копирует элементы этого перечислимого или итератора в массив. Заполняет заданный массив xs значениями этого перечислимого или итератора. Копирование прекращается, как только достигается конец текущего перечислимого или итератора или конец целевого массива.
Примечание: не завершится для бесконечных итераторов.
- xs
массив для заполнения.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
def copyToArray(xs: Array[A], start: Int): Unit
Копирует элементы этого перечислимого или итератора в массив. Заполняет заданный массив xs значениями этого перечислимого или итератора, начиная с индекса start. Копирование прекращается, как только достигается конец текущего перечислимого или итератора или конец целевого массива.
Примечание: не завершится для бесконечных итераторов.
- xs
массив для заполнения.
- start
начальный индекс.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
def copyToBuffer[B >: A](dest: Buffer[B]): Unit
Копирует все элементы этого перечислимого или итератора в буфер.
Примечание: не завершится для коллекций бесконечного размера.
- dest
Буфер, в который копируются элементы.
- Определяющие классы
- TraversableOnce
def corresponds[B](that: GenTraversableOnce[B])(p: (A, B) ⇒ Boolean): Boolean
Проверяет, соответствует ли каждый элемент этого итератора соответствующему элементу другого набора данных, удовлетворяя предикату проверки.
- B
тип элементов
that- that
другой набор данных
- p
предикат проверки, который связывает элементы из обоих наборов данных
- returns
trueесли у обоих наборов данных одинаковая длина, иp(x, y)являетсяtrueдля всех соответствующих элементовxэтого итератора иyизthat, в противном случаеfalse
def count(p: (A) ⇒ Boolean): Int
Подсчитывает количество элементов в перебираемом объекте или итераторе, удовлетворяющих предикату.
- p
предикат для проверки элементов.
- returns
количество элементов, удовлетворяющих предикату
p.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def drop(n: Int): Iterator[A]
Перемещает этот итератор вперёд на первые n элементов или до конца итератора, в зависимости от того, что меньше.
- n
количество элементов для пропуска
- returns
итератор, который производит все значения текущего итератора, но пропускает первые
nзначения.
- Note
Переиспользование: После вызова этого метода, следует удалить итератор, на котором был вызван метод, и использовать только возвращённый итератор. Использование старого итератора неопределённо, может измениться, и может привести к изменениям в новом итераторе.
def dropWhile(p: (A) ⇒ Boolean): Iterator[A]
Пропускает самую длинную последовательность элементов этого итератора, которые удовлетворяют заданному предикату p, и возвращает итератор оставшихся элементов.
- p
используемый предикат для пропуска элементов.
- returns
итератор, содержащий оставшиеся элементы
- Note
Переиспользование: После вызова этого метода, следует удалить итератор, на котором был вызван метод, и использовать только возвращённый итератор. Использование старого итератора неопределённо, может измениться, и может привести к изменениям в новом итераторе.
def duplicate: (Iterator[A], Iterator[A])
Создаёт два новых итератора, которые оба перебирают те же элементы, что и этот итератор (в том же порядке). Дублированные итераторы считаются равными, если они находятся на одном элементе.
Поскольку большинство методов для итераторов сделают исходный итератор непригодным для дальнейшего использования, этот метод предоставляет надёжный способ вызова нескольких таких методов для итератора.
- returns
пара итераторов
- Note
-
Реализация может выделять временное хранилище для элементов, перебираемых одним итератором, но ещё не перебираемых другим.
,Переиспользование: После вызова этого метода, следует удалить итератор, на котором был вызван метод, и использовать только возвращённые итераторы. Использование старого итератора неопределённо, может измениться, и может привести к изменениям в новых итераторах.
def ensuring(cond: (Iterator[A]) ⇒ Boolean, msg: ⇒ Any): Iterator[A]
- Implicit
- Этот член добавлен неявным преобразованием из Iterator[A] в Ensuring[Iterator[A]], выполненным методом Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: (Iterator[A]) ⇒ Boolean): Iterator[A]
- Implicit
- Этот член добавлен неявным преобразованием из Iterator[A] в Ensuring[Iterator[A]], выполненным методом Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean, msg: ⇒ Any): Iterator[A]
- Implicit
- Этот член добавлен неявным преобразованием из Iterator[A] в Ensuring[Iterator[A]], выполненным методом Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean): Iterator[A]
- Неявный
- Этот член добавлен неявным преобразованием из Iterator[A] в Ensuring[Iterator[A]] с помощью метода Ensuring в scala.Predef.
- Классы-определения
- Ensuring
final def eq(arg0: AnyRef): Boolean
Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).
Метод eq реализует отношение эквивалентности на непустых экземплярах AnyRef, и обладает тремя дополнительными свойствами:
-
Он согласован: для любых непустых экземпляров
x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого непустого экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращает false.
null.eq(null) возвращает true. При переопределении методов equals или hashCode важно обеспечить соответствие их поведения равенству ссылок. Поэтому, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и они должны иметь одинаковое значение хеша (o1.hashCode == o2.hashCode).
- возвращает
true, если аргумент является ссылкой на объект-получатель;falseв противном случае.
- Классы-определения
- AnyRef
def equals(arg0: Any): Boolean
Метод равенства для ссылочных типов. По умолчанию делегирует вызов к eq.
См. также equals в scala.Any.
- возвращает
true, если объект-получатель эквивалентен аргументу;falseв противном случае.
- Классы-определения
- AnyRef → Any
def exists(p: (A) ⇒ Boolean): Boolean
Проверяет, выполняется ли предикат для некоторых значений, производимых этим итератором.
Примечание: может не завершиться для бесконечных итераторов.
- p
предикат, используемый для проверки элементов.
- возвращает
true, если заданный предикатpвыполняется для некоторых значений, производимых этим итератором, в противном случаеfalse.
- Классы-определения
- Iterator → TraversableOnce → GenTraversableOnce
- Примечание
Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван. Использование его не определено и может быть изменено.
def filter(p: (A) ⇒ Boolean): Iterator[A]
Возвращает итератор по всем элементам этого итератора, удовлетворяющим предикату p. Порядок элементов сохраняется.
- p
предикат, используемый для проверки значений.
- возвращает
итератор, который производит те значения этого итератора, которые удовлетворяют предикату
p.
- Примечание
Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.
def filterNot(p: (A) ⇒ Boolean): Iterator[A]
Создаёт итератор по всем элементам этого итератора, которые не удовлетворяют предикату p.
- p
предикат, используемый для проверки значений.
- возвращает
итератор, который производит те значения этого итератора, которые не удовлетворяют предикату
p.
- Примечание
Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.
def finalize(): Unit
Вызывается сборщиком мусора для объекта-получателя, когда больше нет ссылок на объект.
Детали того, когда и если вызывается метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями, зависят от платформы.
- Атрибуты
- protected[lang]
- Классы-определения
- AnyRef
- Аннотации
- @throws( classOf[java.lang.Throwable] )
- Примечание
не специфицировано SLS как член AnyRef
def find(p: (A) ⇒ Boolean): Option[A]
Находит первое значение, производимое итератором, удовлетворяющее предикату, если таковое имеется.
Примечание: может не завершиться для бесконечных итераторов.
- p
предикат, используемый для проверки значений.
- возвращает
значение Option, содержащее первое значение, производимое итератором, которое удовлетворяет предикату
p, илиNone, если таковое отсутствует.
- Классы-определения
- Iterator → TraversableOnce → GenTraversableOnce
- Примечание
Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван. Использование его не определено и может быть изменено.
def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): Iterator[B]
Создаёт новый итератор, применяя функцию ко всем значениям, производимым этим итератором, и конкатенируя результаты.
- f
функция, применяемая к каждому элементу.
- returns
итератор, полученный путём применения заданной функции, возвращающей итератор
fк каждому значению, производимому этим итератором, и конкатенации результатов.
- Примечание
Переиспользование: после вызова этого метода следует отказаться от итератора, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе также.
def fold[A1 >: A](z: A1)(op: (A1, A1) ⇒ A1): A1
Выполняет свёртку элементов этой последовательности или итератора с использованием указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Примечание: не завершится для бесконечных коллекций.
- A1
параметр типа для бинарного оператора, надтипом
A.- z
нейтральный элемент для операции свёртки; может быть добавлен к результату произвольное количество раз и не должен изменять результат (например,
Nilдля конкатенации списков, 0 для сложения или 1 для умножения).- op
бинарный оператор, который должен быть ассоциативным.
- returns
результат применения оператора свёртки
opмежду всеми элементами иz, илиzесли эта последовательность или итератор пустые.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def foldLeft[B](z: B)(op: (B, A) ⇒ B): B
Применяет бинарный оператор к начальному значению и всем элементам этой последовательности или итератора слева направо.
Примечание: не завершится для бесконечных коллекций.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции, лежащей в основе, не упорядочен или оператор ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- z
начальное значение.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этой последовательности или итератора слева направо с начальным значениемzслева:op(...op(z, x_1), x_2, ..., x_n)
где
x1, ..., xn— это элементы этой последовательности или итератора. Возвращаетzесли эта последовательность или итератор пустые.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def foldRight[B](z: B)(op: (A, B) ⇒ B): B
Применяет бинарный оператор ко всем элементам этой последовательности или итератора и начальному значению, справа налево.
Примечание: не завершится для бесконечных коллекций.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции, лежащей в основе, не упорядочен или оператор ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- z
начальное значение.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этой последовательности или итератора справа налево с начальным значениемzсправа:op(x_1, op(x_2, ... op(x_n, z)...))
где
x1, ..., xn— это элементы этой последовательности или итератора. Возвращаетzесли эта последовательность или итератор пустые.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def forall(p: (A) ⇒ Boolean): Boolean
Проверяет, выполняется ли предикат для всех значений, производимых этим итератором.
Примечание: может не завершиться для бесконечных итераторов.
- p
предикат, используемый для проверки элементов.
- returns
trueесли данный предикатpвыполняется для всех значений, производимых этим итератором, в противном случаеfalse.
- Definition Classes
- Iterator → TraversableOnce → GenTraversableOnce
- Примечание
Переиспользование: после вызова этого метода следует отказаться от итератора, на котором он был вызван. Использование его не определено и может быть изменено.
def foreach(f: (A) ⇒ Unit): Unit
Применяет функцию f ко всем значениям, производимым этим итератором.
- f
функция, которая применяется для своего побочного эффекта к каждому элементу. Результат функции
fотбрасывается.
- Definition Classes
- Iterator → TraversableOnce → GenTraversableOnce
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной строкой format. Строки форматирования такие же, как у String.format (@см. java.lang.String.format).
- Неявное
- Этот член добавлен неявно путем преобразования из Iterator[A] в StringFormat[Iterator[A]] с помощью метода StringFormat в scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
final def getClass(): Class[_]
Возвращает представление класса объекта во время выполнения.
- returns
объект класса, соответствующий типу получателя во время выполнения.
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
- Note
Переиспользование: после вызова этого метода следует удалить вызвавший его итератор и использовать только возвращённый итератор. Использование старого итератора неопределённо, может меняться, и может привести к изменениям в новом итераторе тоже.
def hasDefiniteSize: Boolean
Проверяет, имеет ли этот итератор известный размер.
- returns
trueдля пустых итераторов,falseв противном случае.
- Definition Classes
- Iterator → TraversableOnce → GenTraversableOnce
- Note
Переиспользование: итератор остаётся допустимым для дальнейшего использования, независимо от возвращённого результата.
def hashCode(): Int
Метод hashCode для ссылочных типов. См. hashCode в scala.Any.
- returns
значение хэш-кода для этого объекта.
def indexOf[B >: A](elem: B, from: Int): Int
Возвращает индекс первого вхождения указанного объекта в этом итерируемом объекте после или на некотором начальном индексе.
Примечание: может не завершиться для бесконечных итераторов.
- elem
элемент для поиска.
- from
начальный индекс
- returns
индекс
>= fromпервого вхожденияelemв значения, генерируемые этим итератором, или -1, если такой элемент не существует до тех пор, пока не будет достигнут конец итератора.
- Note
Переиспользование: после вызова этого метода следует удалить вызвавший его итератор. Использование его неопределённо и может меняться.
def indexOf[B >: A](elem: B): Int
Возвращает индекс первого вхождения указанного объекта в этом итерируемом объекте.
Примечание: может не завершиться для бесконечных итераторов.
- elem
элемент для поиска.
- returns
индекс первого вхождения
elemв значения, генерируемые этим итератором, или -1, если такой элемент не существует до тех пор, пока не будет достигнут конец итератора.
- Note
Переиспользование: после вызова этого метода следует удалить вызвавший его итератор. Использование его неопределённо и может меняться.
def indexWhere(p: (A) ⇒ Boolean, from: Int): Int
Возвращает индекс первого произведённого значения, удовлетворяющего предикату, или -1, после или на некотором начальном индексе.
Примечание: может не завершиться для бесконечных итераторов.
- p
предикат для проверки значений
- from
начальный индекс
- returns
индекс
>= fromпервого произведённого значения, удовлетворяющегоp, или -1, если такой элемент не существует до тех пор, пока не будет достигнут конец итератора.
- Note
Переиспользование: после вызова этого метода следует удалить вызвавший его итератор. Использование его неопределённо и может меняться.
def indexWhere(p: (A) ⇒ Boolean): Int
Возвращает индекс первого произведённого значения, удовлетворяющего предикату, или -1.
Примечание: может не завершиться для бесконечных итераторов.
- p
предикат для проверки значений
- returns
индекс первого произведённого значения, удовлетворяющего
p, или -1, если такой элемент не существует до тех пор, пока не будет достигнут конец итератора.
- Note
Переиспользование: после вызова этого метода следует удалить вызвавший его итератор. Использование его неопределённо и может меняться.
def isEmpty: Boolean
Проверяет, пуст ли этот итератор.
- returns
trueесли hasNext ложно,falseв противном случае.
- Definition Classes
- Iterator → TraversableOnce → GenTraversableOnce
- Note
Переиспользование: итератор остаётся допустимым для дальнейшего использования, независимо от возвращённого результата.
final def isInstanceOf[T0]: Boolean
Проверяет, является ли динамический тип объекта-получателя T0.
Обратите внимание, что результат проверки зависит от стирания типов в Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, из-за стирания типа аргумента во время компиляции, невозможно проверить, соответствуют ли содержимое списка указанному типу.
- returns
trueесли объект-получатель является экземпляром стёртого типаT0;falseв противном случае.
- Definition Classes
- Any
def isTraversableAgain: Boolean
Проверяет, можно ли многократно пройти по этому итератору.
- returns
false
- Definition Classes
- Iterator → GenTraversableOnce
- Note
Переиспользование: итератор остается валидным для дальнейшего использования, независимо от возвращаемого результата.
def length: Int
Возвращает количество элементов в этом итераторе.
Примечание: не завершится для бесконечных итераторов.
- Note
Переиспользование: после вызова этого метода итератор следует удалить. Использование его после вызова — неопределенное действие и может измениться в будущем.
def map[B](f: (A) ⇒ B): Iterator[B]
Создает новый итератор, который отображает все производимые значения этого итератора в новые значения с помощью функции преобразования.
- f
функция преобразования
- returns
новый итератор, который преобразует каждое значение, производимое этим итератором, путем применения функции
fк нему.
- Note
Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора — неопределённое действие, может измениться в будущем и может привести к изменениям в новом итераторе также.
def max: A
Находит наибольший элемент.
- returns
наибольший элемент этого перебираемого или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли этот перебираемый или итератор пуст.
def maxBy[B](f: (A) ⇒ B): A
Находит первый элемент, который возвращает наибольшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- returns
первый элемент этого перебираемого или итератора с наибольшим значением, измеренным функцией f.
- Definition Classes
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли этот перебираемый или итератор пуст.
def min: A
Находит наименьший элемент.
- returns
наименьший элемент этого перебираемого или итератора
- Definition Classes
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли этот перебираемый или итератор пуст.
def minBy[B](f: (A) ⇒ B): A
Находит первый элемент, который возвращает наименьшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- returns
первый элемент этого перебираемого или итератора с наименьшим значением, измеренным функцией f.
- Definition Classes
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли этот перебираемый или итератор пуст.
def mkString: String
Отображает все элементы этого перебираемого или итератора в строке.
- returns
строковое представление этого перебираемого или итератора. В результирующей строке строковые представления (в соответствии с методом
toString) всех элементов этого перебираемого или итератора следуют друг за другом без разделительной строки.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def mkString(sep: String): String
Отображает все элементы этого перебираемого или итератора в строке с разделительной строкой.
- sep
разделительная строка.
- returns
строковое представление этого перебираемого или итератора. В результирующей строке строковые представления (в соответствии с методом
toString) всех элементов этого перебираемого или итератора разделены строкойsep.
- Definition Classes
- TraversableOnce → GenTraversableOnce
List(1, 2, 3).mkString("|") = "1|2|3"
def mkString(start: String, sep: String, end: String): String
Отображает все элементы этого итерируемого объекта или итератора в строке с использованием начальной, конечной и разделительной строк.
- start
начальная строка.
- sep
разделительная строка.
- end
конечная строка.
- returns
строковое представление этого итерируемого объекта или итератора. Результирующая строка начинается со строки
startи заканчивается строкойend. Внутри строковые представления (относительно методаtoString) всех элементов этого итерируемого объекта или итератора разделяются строкойsep.
- Definition Classes
- TraversableOnce → GenTraversableOnce
List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"
final def ne(arg0: AnyRef): Boolean
Эквивалентно !(this eq that).
- returns
trueесли аргумент не является ссылкой на объект-получатель;falseв противном случае.
- Definition Classes
- AnyRef
def nonEmpty: Boolean
Проверяет, не пуст ли итерируемый объект или итератор.
- returns
trueесли итерируемый объект или итератор содержит по крайней мере один элемент,falseв противном случае.
- Definition Classes
- TraversableOnce → GenTraversableOnce
final def notify(): Unit
Разбуживает единственную нить, ожидающую монитора объекта-получателя.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Note
не указано SLS как член AnyRef
final def notifyAll(): Unit
Разбуживает все нити, ожидающие монитора объекта-получателя.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Note
не указано SLS как член AnyRef
def padTo(len: Int, elem: A): Iterator[A]
Добавляет значение элемента в этот итератор до достижения заданной длины.
- len
целевая длина
- elem
значение дополнения
- returns
новый итератор, содержащий все значения этого итератора, за которыми следует минимальное количество появлений
elem, чтобы количество произведённых значений было по крайней мереlen.
def partition(p: (A) ⇒ Boolean): (Iterator[A], Iterator[A])
Разделяет этот итератор на два итератора в соответствии с предикатом.
- p
предикат, по которому разделять
- returns
пара итераторов: итератор, удовлетворяющий предикату
p, и итератор, который не удовлетворяет ему. Относительный порядок элементов в результирующих итераторах такой же, как в исходном итераторе.
- Note
Использование: после вызова этого метода следует удалить вызываемый итератор и использовать только возвращённые итераторы. Использование старого итератора не определено, может измениться и может привести к изменениям в новых итераторах тоже.
def patch[B >: A](from: Int, patchElems: Iterator[B], replaced: Int): Iterator[B]
Возвращает этот итератор с изменёнными значениями. Замена по отрицательным индексам аналогична замене, начинающейся с 0. Замена по индексам, равным или большим длины исходного итератора, добавляет замену в конец. Если заменяется больше значений, чем существует фактически, избыток игнорируется.
- from
Начальный индекс, с которого выполнять замену
- patchElems
Итератор значений замены
- replaced
Количество значений в исходном итераторе, которые заменяются заменой.
- Note
Использование: после вызова этого метода следует удалить вызываемый итератор, а также переданный в качестве параметра, и использовать только возвращённый итератор. Использование старых итераторов не определено, может измениться и может привести к изменениям в новом итераторе тоже.
def product: A
Вычисляет произведение элементов этой коллекции.
- returns
произведение всех элементов в этом итерируемом объекте или итераторе чисел типа
Int. ВместоInt, может использоваться любой другой типTс неявнымNumeric[T]реализацией, который может быть типом элементов итерируемого объекта или итератора, а также типом результатаproduct. Примеры таких типов:Long,Float,Double,BigInt.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def reduce[A1 >: A](op: (A1, A1) ⇒ A1): A1
Уменьшает элементы этого итерируемого объекта или итератора, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
- A1
Параметр типа для бинарного оператора, надтип
A.- op
Бинарный оператор, который должен быть ассоциативным.
- returns
Результат применения оператора reduce
opмежду всеми элементами, если итерируемый объект или итератор не пустые.
- Definition Classes
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли этот итерируемый объект или итератор пустой.
def reduceLeft[B >: A](op: (B, A) ⇒ B): B
Применяет бинарный оператор ко всем элементам этого итерируемого объекта или итератора, слева направо.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативный и коммутативный.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого итерируемого объекта или итератора, слева направо:op( op( ... op(x_1, x_2) ..., x_{n-1}), x_n)где
x1, ..., xn— элементы этого итерируемого объекта или итератора.
- Definition Classes
- TraversableOnce
- Исключения
UnsupportedOperationExceptionесли этот итерируемый объект или итератор пустой.
def reduceLeftOption[B >: A](op: (B, A) ⇒ B): Option[B]
Опционально применяет бинарный оператор ко всем элементам этого итерируемого объекта или итератора, слева направо.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативный и коммутативный.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
значение опционального типа, содержащее результат
reduceLeft(op), если этот итерируемый объект или итератор не пустой,Noneв противном случае.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def reduceOption[A1 >: A](op: (A1, A1) ⇒ A1): Option[A1]
Уменьшает элементы этого итерируемого объекта или итератора, если таковые имеются, с использованием указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
- A1
Параметр типа для бинарного оператора, надтип
A.- op
Бинарный оператор, который должен быть ассоциативным.
- returns
Значение опционального типа, содержащее результат применения оператора reduce
opмежду всеми элементами, если коллекция не пуста, иNoneв противном случае.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def reduceRight[B >: A](op: (A, B) ⇒ B): B
Применяет бинарный оператор ко всем элементам этого итерируемого объекта или итератора, справа налево.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативный и коммутативный.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого итерируемого объекта или итератора, справа налево:op(x_1, op(x_2, ..., op(x_{n-1}, x_n)...))где
x1, ..., xn— элементы этого итерируемого объекта или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли этот итерируемый объект или итератор пустой.
def reduceRightOption[B >: A](op: (A, B) ⇒ B): Option[B]
Опционально применяет бинарный оператор ко всем элементам этого итерируемого объекта или итератора, справа налево.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативный и коммутативный.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
значение опционального типа, содержащее результат
reduceRight(op), если этот итерируемый объект или итератор не пустой,Noneв противном случае.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def reversed: List[A]
- Attributes
- protected[this]
- Definition Classes
- TraversableOnce
def sameElements(that: Iterator[_]): Boolean
Проверяет, производит ли другой итератор те же значения, что и этот.
Примечание: не завершится для бесконечных итераторов.
- that
другая итерация
- возвращает
true, если оба итератора производят одни и те же элементы в том же порядке,falseв противном случае.
- Примечание
Повторное использование: после вызова этого метода следует удалить итератор, на котором он был вызван, а также тот, который был передан в качестве параметра. Использование старых итераторов не определено и может измениться.
def scanLeft[B](z: B)(op: (B, A) ⇒ B): Iterator[B]
Создаёт коллекцию, содержащую кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не завершится для бесконечных итераторов.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- B
тип элементов в результирующей коллекции
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- возвращает
итератор с промежуточными результатами
- Примечание
Повторное использование: после вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе.
def scanRight[B](z: B)(op: (A, B) ⇒ B): Iterator[B]
Создаёт коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Голова коллекции — последний кумулятивный результат.
Примечание: не завершится для бесконечных итераторов.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- B
тип элементов в результирующей коллекции
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- возвращает
итератор с промежуточными результатами
- Примечание
Повторное использование: после вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе.
Iterator(1, 2, 3, 4).scanRight(0)(_ + _).toList == List(10, 9, 7, 4, 0)
def seq: Iterator[A]
Версия этой коллекции со всеми операциями, реализованными последовательно (то есть в однопоточном режиме).
Этот метод возвращает ссылку на эту коллекцию. В параллельных коллекциях он переопределяется для возврата последовательной реализации этой коллекции. В обоих случаях сложность равна O(1).
- возвращает
последовательный вид коллекции.
- Определяющие классы
- Iterator → TraversableOnce → GenTraversableOnce
def size: Int
Размер этого обходчика или итератора.
Примечание: не завершится для коллекций бесконечного размера.
- возвращает
количество элементов в этом обходчике или итераторе.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
def sizeHintIfCheap: Int
Размер этой коллекции или итератора, если он может быть вычислен дёшево
- возвращает
количество элементов в этой коллекции или итераторе, или -1, если размер не может быть определён дёшево
- Атрибуты
- protected[collection]
- Определяющие классы
- GenTraversableOnce
def slice(from: Int, until: Int): Iterator[A]
Создаёт итератор, возвращающий интервал значений, производимых этим итератором.
- from
индекс первого элемента в этом итераторе, который является частью среза. Если отрицательный, срез начинается с нуля.
- until
индекс первого элемента, следующего за срезом. Если отрицательный, срез пуст.
- возвращает
итератор, который перемещает этот итератор мимо первых
fromэлементов, используяdrop, и затем берётuntil - fromэлементов, используяtake.
- Примечание
Повторное использование: после вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе.
def sliceIterator(from: Int, until: Int): Iterator[A]
Создаёт необязательно ограниченный срез, неограниченный, если until отрицательный.
- Атрибуты
- protected
def sliding[B >: A](size: Int, step: Int = 1): GroupedIterator[B]
Возвращает итератор, представляющий вид «скользящего окна» этого итератора. Первый аргумент — размер окна, а второй аргумент step — это на сколько позиций сдвигать окно на каждой итерации. По умолчанию step устанавливается в значение 1.
Значение по умолчанию GroupedIterator можно настроить, чтобы либо дополнить частичный результат до размера size, либо полностью подавить частичный результат.
Примеры использования:
// Returns List(List(1, 2, 3), List(2, 3, 4), List(3, 4, 5)) (1 to 5).iterator.sliding(3).toList // Returns List(List(1, 2, 3, 4), List(4, 5)) (1 to 5).iterator.sliding(4, 3).toList // Returns List(List(1, 2, 3, 4)) (1 to 5).iterator.sliding(4, 3).withPartial(false).toList // Returns List(List(1, 2, 3, 4), List(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
- returns
Итератор, генерирующий
Seq[B]размеромsize, за исключением последнего элемента (который может быть единственным элементом), который будет усечён, если оставшихся элементов меньше, чемsizeдля группировки. Это поведение можно настроить.
- Примечание
Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе также.
def span(p: (A) ⇒ Boolean): (Iterator[A], Iterator[A])
Разделяет этот итератор на пару префикс/суффикс в соответствии с предикатом.
- p
предикат проверки
- returns
пара итераторов, состоящая из самого длинного префикса этого, элементы которого удовлетворяют
p, и оставшаяся часть итератора.
- Примечание
Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённые итераторы. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новых итераторах также.
def sum: A
Суммирует элементы этого набора.
- returns
сумма всех элементов в этом перебираемом объекте или итераторе чисел типа
Int. ВместоInt, может использоваться любой другой типTс неявнымNumeric[T]реализацией, который может быть использован в качестве типа элементов перебираемого объекта или итератора, а также в качестве типа результатаsum. Примеры таких типов:Long,Float,Double,BigInt.
- Definition Classes
- TraversableOnce → GenTraversableOnce
final def synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
def take(n: Int): Iterator[A]
Выбирает первые n значений этого итератора.
- n
количество значений для выбора
- returns
итератор, генерирующий только первые
nзначений этого итератора, или весь итератор, если он генерирует меньше, чемnзначений.
- Примечание
Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе также.
def takeWhile(p: (A) ⇒ Boolean): Iterator[A]
Выбирает самый длинный префикс значений, генерируемых этим итератором, которые удовлетворяют предикату.
- p
Предикат, используемый для проверки элементов.
- returns
Итератор, возвращающий значения, генерируемые этим итератором, до тех пор, пока этот итератор не сгенерирует значение, которое не удовлетворяет предикату
p.
- Примечание
Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе также.
def to[Col[_]]: Col[A]
Преобразует этот перебираемый объект или итератор в другой, копируя все элементы.
Примечание: не будет завершаться для бесконечных итераторов.
- Col
Тип коллекции, который нужно создать.
- returns
новая коллекция, содержащая все элементы этого перебираемого объекта или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toArray: Array[A]
Преобразует этот перебираемый объект или итератор в массив.
Примечание: не будет завершаться для бесконечных итераторов.
- returns
массив, содержащий все элементы этого перебираемого объекта или итератора. Должен быть доступен
ClassTagдля типа элементов этого перебираемого объекта или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toBuffer[B >: A]: Buffer[B]
Использует содержимое этого перебираемого объекта или итератора для создания нового изменяемого буфера.
Примечание: не будет завершаться для коллекций бесконечного размера.
- returns
буфер, содержащий все элементы этого перебираемого объекта или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toIndexedSeq: immutable.IndexedSeq[A]
Преобразует этот перебираемый объект или итератор в индексированную последовательность.
Примечание: не будет завершаться для коллекций бесконечного размера.
- returns
индексированная последовательность, содержащая все элементы этого перебираемого объекта или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toIterable: Iterable[A]
Преобразует этот обходной объект или итератор в коллекцию Iterable. Обратите внимание, что выбор целевого Iterable ленивый в этой реализации по умолчанию, так как этот TraversableOnce может быть ленивым и невычисленным (т. е. это может быть итератор, который можно перебрать только один раз).
Примечание: не завершится для бесконечных коллекций.
- returns
коллекцию
Iterable, содержащую все элементы этого обходного объекта или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toIterator: Iterator[A]
Возвращает итератор по элементам в этом обходном объекте или итераторе. Вернет тот же итератор, если этот экземпляр уже является итератором.
Примечание: не завершится для бесконечных итераторов.
- returns
итератор, содержащий все элементы этого обходного объекта или итератора.
- Definition Classes
- Iterator → GenTraversableOnce
def toList: List[A]
Преобразует этот обходной объект или итератор в список.
Примечание: не завершится для бесконечных коллекций.
- returns
список, содержащий все элементы этого обходного объекта или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toMap[T, U]: Map[T, U]
Преобразует этот обходной объект или итератор в карту. Этот метод недоступен, если элементы не являются членами Tuple2, каждая ((T, U)) становится парой ключ-значение в карте. Повторные ключи будут перезаписаны последующими ключами: если это неупорядоченная коллекция, ключ, который находится в результирующей карте, не определен.
Примечание: не завершится для бесконечных итераторов.
- returns
карта типа
immutable.Map[T, U]содержащая все пары ключ/значение типа(T, U)этого обходного объекта или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toSeq: Seq[A]
Преобразует этот обходной объект или итератор в последовательность. Как и toIterable, он ленивый в этой реализации по умолчанию, так как этот TraversableOnce может быть ленивым и невычисленным.
Примечание: не завершится для бесконечных коллекций.
- returns
последовательность, содержащую все элементы этого обходного объекта или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toSet[B >: A]: immutable.Set[B]
Преобразует этот обходной объект или итератор в множество.
Примечание: не завершится для бесконечных коллекций.
- returns
множество, содержащее все элементы этого обходного объекта или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toStream: immutable.Stream[A]
Преобразует этот обходной объект или итератор в поток.
- returns
поток, содержащий все элементы этого обходного объекта или итератора.
- Definition Classes
- Iterator → GenTraversableOnce
def toString(): String
Преобразует этот итератор в строку.
- returns
"<iterator>"пуст или нет итератор.
def toTraversable: Traversable[A]
Преобразует этот обходной объект или итератор в неопределенный обходной объект. Вернет ту же коллекцию, если этот экземпляр уже является обходным объектом.
Примечание: не завершится для бесконечных итераторов.
- returns
обходной объект, содержащий все элементы этого обходного объекта или итератора.
- Definition Classes
- Iterator → TraversableOnce → GenTraversableOnce
def toVector: Vector[A]
Преобразует этот обходной объект или итератор в вектор.
Примечание: не завершится для бесконечных коллекций.
- returns
вектор, содержащий все элементы этого обходного объекта или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
final def wait(arg0: Long): Unit
def withFilter(p: (A) ⇒ Boolean): Iterator[A]
Создаёт итератор, содержащий все элементы этого итератора, удовлетворяющие предикату p. Порядок элементов сохраняется.
Примечание: withFilter эквивалентно filter для итераторов. Оно существует для того, чтобы выражения for с фильтрами работали над итераторами.
- p
предикат, используемый для проверки значений.
- returns
итератор, возвращающий те значения этого итератора, которые удовлетворяют предикату
p.
- Note
Повторное использование: после вызова этого метода следует отказаться от итератора, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе также.
def zip[B](that: Iterator[B]): Iterator[(A, B)]
Создаёт итератор, образованный из этого итератора и другого итератора, комбинируя соответствующие значения в парах. Если один из двух итераторов длиннее другого, его оставшиеся элементы игнорируются.
- that
Итератор, предоставляющий вторую половину каждой пары результатов
- returns
новый итератор, содержащий пары, состоящие из соответствующих элементов этого итератора и
that. Количество элементов, возвращаемых новым итератором, равно минимальному количеству элементов, возвращаемых этим итератором иthat.
- Note
Повторное использование: после вызова этого метода следует отказаться от итератора, на котором он был вызван, а также от переданного в качестве параметра, и использовать только возвращенный итератор. Использование старых итераторов не определено, может измениться и может привести к изменениям в новом итераторе также.
def zipAll[B](that: Iterator[B], thisElem: A, thatElem: B): Iterator[(A, B)]
Создаёт итератор, образованный из этого итератора и другого итератора, объединяя соответствующие элементы в пары. Если один из двух итераторов короче другого, элементы-заполнители используются для расширения более короткого итератора до длины более длинного.
- that
итератор
thatможет иметь другую длину, чем самоитератор.- thisElem
элемент
thisElemиспользуется для заполнения результирующего итератора, если самоитератор корочеthat- thatElem
элемент
thatElemиспользуется для заполнения результирующего итератора, еслиthatкороче, чем самоитератор- returns
новый итератор, содержащий пары, состоящие из соответствующих значений этого итератора и
that. Длина возвращённого итератора равна максимальной из длин этого итератора иthatЕсли этот итератор корочеthat, значенияthisElemиспользуются для дополнения результата. Еслиthatкороче, чем этот итератор, значенияthatElemиспользуются для дополнения результата.
def zipWithIndex: Iterator[(A, Int)]
Создаёт итератор, который сопоставляет каждый элемент, производимый этим итератором, с его индексом, считая с 0.
- returns
новый итератор, содержащий пары, состоящие из соответствующих элементов этого итератора и их индексов.
- Note
Повторное использование: после вызова этого метода следует отказаться от итератора, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе также.
def →[B](y: B): (Iterator[A], B)
- Неявный
- Этот член добавляется неявным преобразованием из Iterator[A] в ArrowAssoc[Iterator[A]], выполняемое методом ArrowAssoc в scala.Predef.
- Definition Classes
- ArrowAssoc
Члены-значения с затемнёнными неявными значениями
def filter(p: (A) ⇒ Boolean): TraversableOnce[A]
- Неявный
- Этот член добавлен неявным преобразованием из Iterator[A] в MonadOps[A], выполненным методом MonadOps в scala.collection.TraversableOnce.
- Затемнение
- Этот неявно унаследованный член затемнён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:(iterator: MonadOps[A]).filter(p)
- Определяющие классы
- MonadOps
def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): TraversableOnce[B]
- Неявный
- Этот член добавлен неявным преобразованием из Iterator[A] в MonadOps[A], выполненным методом MonadOps в scala.collection.TraversableOnce.
- Затемнение
- Этот неявно унаследованный член затемнён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:(iterator: MonadOps[A]).flatMap(f)
- Определяющие классы
- MonadOps
def map[B](f: (A) ⇒ B): TraversableOnce[B]
- Неявный
- Этот член добавлен неявным преобразованием из Iterator[A] в MonadOps[A], выполненным методом MonadOps в scala.collection.TraversableOnce.
- Затемнение
- Этот неявно унаследованный член затемнён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:(iterator: MonadOps[A]).map(f)
- Определяющие классы
- MonadOps
def withFilter(p: (A) ⇒ Boolean): Iterator[A]
- Неявный
- Этот член добавлен неявным преобразованием из Iterator[A] в MonadOps[A], выполненным методом MonadOps в scala.collection.TraversableOnce.
- Затемнение
- Этот неявно унаследованный член затемнён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:(iterator: MonadOps[A]).withFilter(p)
- Определяющие классы
- MonadOps
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.12.9/scala/collection/Iterator.html
Итераторы — это структуры данных, позволяющие перебирать последовательность элементов. Они имеют метод
hasNextдля проверки наличия следующего элемента и методnextдля получения следующего элемента и продвижения итератора.Итератор является изменяемым: большинство операций с ним изменяют его состояние. Хотя его часто используют для перебора элементов коллекции, его также можно использовать без поддержки какой-либо коллекции (см. конструкторы в объекте-компаньоне).
Важно отметить, что, если не указано иное, не следует использовать итератор после вызова метода на нём. Два наиболее важных исключения — также единственные абстрактные методы:
nextиhasNext.Оба этих метода можно вызывать любое количество раз, не удаляя итератор. Обратите внимание, что даже
hasNextможет вызвать изменение состояния — например, при итерации из потока ввода, где он будет блокироваться до закрытия потока или появления нового ввода.Рассмотрим этот пример для безопасного и небезопасного использования:
def f[A](it: Iterator[A]) = { if (it.hasNext) { // Safe to reuse "it" after "hasNext" it.next // Safe to reuse "it" after "next" val remainder = it.drop(2) // it is *not* safe to use "it" again after this line! remainder.take(2) // it is *not* safe to use "remainder" after this line! } else it }1