Класс scala.collection.Iterator.GroupedIterator
класс GroupedIterator[B >: A] extends AbstractIterator[immutable.Seq[B]]
Типовые члены
класс GroupedIterator[B >: A] extends AbstractIterator[immutable.Seq[B]]
Гибкий итератор для преобразования Iterator[A] в Iterator[Seq[A]], с настраиваемым размером последовательности, шагом и стратегией обработки элементов, которые не укладываются равномерно.
Типичные применения можно реализовать с помощью методов grouped и sliding.
- Определяющие классы
- Iterator
Члены-значения
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
- Implicit
- Этот член добавлен неявным преобразованием из GroupedIterator[B] вany2stringadd[GroupedIterator[B]] с помощью метода any2stringadd в scala.Predef.
- Definition Classes
- any2stringadd
final def ++[B >: immutable.Seq[B]](xs: => IterableOnce[B]): Iterator[B]
def ->[B](y: B): (GroupedIterator[B], B)
- Implicit
- Этот член добавлен неявным преобразованием из GroupedIterator[B] вArrowAssoc[GroupedIterator[B]] с помощью метода ArrowAssoc в scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
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
final def addString(b: mutable.StringBuilder): mutable.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
строковый буфер, в который добавляются элементы.
- returns
строковый буфер
b, в который были добавлены элементы.
- Definition Classes
- IterableOnceOps
- Annotations
- @inline()
final def addString(b: mutable.StringBuilder, sep: String): mutable.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
разделительная строка.
- returns
строковый буфер
b, в который были добавлены элементы.
- Definition Classes
- IterableOnceOps
- Annotations
- @inline()
def addString(b: mutable.StringBuilder, start: String, sep: String, end: String): mutable.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
конечная строка.
- returns
строка-построитель
b, в которую были добавлены элементы.
- Definition Classes
- IterableOnceOps
final def asInstanceOf[T0]: T0
Преобразует получаемый объект в тип T0.
Обратите внимание, что успех преобразования во время выполнения зависит от семантики стирания Scala. Следовательно, выражение 1.asInstanceOf[String] сгенерирует исключение ClassCastException во время выполнения, а выражение List(1).asInstanceOf[List[String]] — нет. В последнем примере, поскольку тип аргумента стирается во время компиляции, невозможно проверить, соответствуют ли содержимое списка требуемому типу.
- returns
получаемый объект.
- Definition Classes
- Any
- Исключения
ClassCastException, если получаемый объект не является экземпляром стираемого типаT0.
def buffered: BufferedIterator[immutable.Seq[B]]
Создает буферизованный итератор из этого итератора.
- returns
буферизованный итератор, генерирующий те же значения, что и этот итератор.
- Definition Classes
- Iterator
- Примечание
Переиспользование: После вызова этого метода следует удалить вызываемый итератор и использовать только возвращенный итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе также.
- См. также
def clone(): AnyRef
Создает копию получаемого объекта.
По умолчанию реализация метода clone зависит от платформы.
- returns
копия получаемого объекта.
def collect[B](pf: PartialFunction[immutable.Seq[B], B]): Iterator[B]
Создает новый итератор, применяя частичную функцию ко всем элементам этого итератора, для которых функция определена.
- B
тип элемента возвращаемого итератора.
- pf
частичная функция, которая фильтрует и отображает итератор.
- returns
новый итератор, полученный путем применения заданной частичной функции
pfк каждому элементу, для которого она определена, и сбора результатов. Порядок элементов сохраняется.
- Definition Classes
- Iterator → IterableOnceOps
- Примечание
Переиспользование: После вызова этого метода следует удалить вызываемый итератор и использовать только возвращенный итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе также.
def collectFirst[B](pf: PartialFunction[immutable.Seq[B], B]): Option[B]
Находит первый элемент в наборе, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершиться для наборов бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
- pf
частичная функция
- returns
значение Option, содержащее pf, примененное к первому значению, для которого оно определено, или
None, если такового нет.
- Definition Classes
- IterableOnceOps
Seq("a", 1, 5L).collectFirst({ case x: Int => x*10 }) = Some(10)
def concat[B >: immutable.Seq[B]](xs: => IterableOnce[B]): Iterator[B]
- Definition Classes
- Iterator
def contains(elem: Any): Boolean
Проверяет, содержит ли этот итератор заданное значение в качестве элемента.
Примечание: может не завершиться для бесконечных итераторов.
- elem
элемент для проверки.
- returns
trueесли этот итератор производит некоторое значение, равное (как определено==)elem,falseв противном случае.
- Определяющие классы
- Iterator
- Примечание
Повторное использование: после вызова этого метода следует отказаться от итератора, к которому он был применен. Использование его не определено и может быть изменено.
def copyToArray[B >: immutable.Seq[B]](xs: Array[B], start: Int, len: Int): Int
Копирует элементы в массив, возвращая количество записанных элементов.
Заполняет заданный массив xs начиная с индекса start не более чем len элементами этой коллекции.
Копирование остановится, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива, или будет скопировано len элементов.
- B
тип элементов массива.
- xs
массив для заполнения.
- start
начальный индекс xs.
- len
максимальное количество элементов для копирования.
- returns
количество элементов, записанных в массив
- Определяющие классы
- IterableOnceOps
- Примечание
Повторное использование: после вызова этого метода следует отказаться от итератора, к которому он был применен. Использование его не определено и может быть изменено. Примечание: не будет завершаться для коллекций бесконечного размера.
def copyToArray[B >: immutable.Seq[B]](xs: Array[B], start: Int): Int
Копирует элементы в массив, возвращая количество записанных элементов.
Заполняет заданный массив xs начиная с индекса start значениями этой коллекции.
Копирование остановится, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива.
- B
тип элементов массива.
- xs
массив для заполнения.
- start
начальный индекс xs.
- returns
количество элементов, записанных в массив Примечание: не будет завершаться для коллекций бесконечного размера.
- Определяющие классы
- IterableOnceOps
def copyToArray[B >: immutable.Seq[B]](xs: Array[B]): Int
Копирует элементы в массив, возвращая количество записанных элементов.
Заполняет заданный массив xs начиная с индекса start значениями этой коллекции.
Копирование остановится, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива.
- B
тип элементов массива.
- xs
массив для заполнения.
- returns
количество элементов, записанных в массив Примечание: не будет завершаться для коллекций бесконечного размера.
- Определяющие классы
- IterableOnceOps
def corresponds[B](that: IterableOnce[B])(p: (immutable.Seq[B], B) => Boolean): Boolean
Проверяет, соответствует ли каждый элемент итератора этой коллекции соответствующему элементу другой коллекции, удовлетворяя тестовому предикату.
- B
тип элементов
that- that
другая коллекция
- p
тестовый предикат, который связывает элементы из обеих коллекций
- returns
trueесли обе коллекции имеют одинаковую длину иp(x, y)естьtrueдля всех соответствующих элементовxэтого итератора иythat, иначеfalse
- Определяющие классы
- IterableOnceOps
def count(p: (immutable.Seq[B]) => Boolean): Int
Подсчитывает количество элементов в коллекции, которые удовлетворяют предикату.
- p
предикат, используемый для проверки элементов.
- returns
количество элементов, удовлетворяющих предикату
p.
- Определяющие классы
- IterableOnceOps
def distinct: Iterator[immutable.Seq[B]]
Создает новый итератор из этого, без каких-либо дубликатов элементов в нем.
- returns
итератор с различными элементами
- Определяющие классы
- Iterator
- Примечание
Повторное использование: после вызова этого метода следует отказаться от итератора, к которому он был применен. Использование его не определено и может быть изменено.
def distinctBy[B](f: (immutable.Seq[B]) => B): Iterator[immutable.Seq[B]]
Создаёт новый итератор из этого, не содержащий дублирующих элементов, определяемых по ==, после применения преобразующей функции f.
- B
тип элементов после преобразования с помощью
f- f
Преобразующая функция, результат которой используется для определения уникальности каждого элемента
- returns
итератор с уникальными элементами
- Definition Classes
- Iterator
- Note
Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван. Использование его после этого не определено и может быть изменено.
def drop(n: Int): Iterator[immutable.Seq[B]]
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- n
количество элементов, которые необходимо удалить из этого итератора.
- returns
итератор, состоящий из всех элементов этого итератора, кроме первых
nэлементов, или пустой итератор, если в этом итераторе меньшеnэлементов. Еслиnотрицательно, то элементы не будут удалены.
- Definition Classes
- Iterator → IterableOnceOps
- Note
Переиспользование: После вызова этого метода необходимо удалить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.
def dropWhile(p: (immutable.Seq[B]) => Boolean): Iterator[immutable.Seq[B]]
Удаляет самую длинную префиксную последовательность элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- p
Предикат, используемый для проверки элементов.
- returns
самый длинный суффикс этого итератора, первый элемент которого не удовлетворяет предикату
p.
- Definition Classes
- Iterator → IterableOnceOps
- Note
Переиспользование: После вызова этого метода необходимо удалить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.
def duplicate: (Iterator[immutable.Seq[B]], Iterator[immutable.Seq[B]])
Создаёт два новых итератора, которые оба перебирают те же элементы, что и этот итератор (в том же порядке). Дублированные итераторы считаются равными, если они находятся на том же элементе.
Поскольку большинство методов для итераторов сделают исходный итератор непригодным для дальнейшего использования, этот метод обеспечивает надёжный способ вызова нескольких таких методов на итераторе.
- returns
пара итераторов
- Definition Classes
- Iterator
- Note
-
Реализация может выделять временное хранилище для элементов, перебираемых одним итератором, но ещё не перебираемых другим.
,Переиспользование: После вызова этого метода необходимо удалить итератор, на котором он был вызван, и использовать только возвращённые итераторы. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новых итераторах.
def ensuring(cond: (GroupedIterator[B]) => Boolean, msg: => Any): GroupedIterator[B]
- Неявный
- Этот член добавляется неявным преобразованием из GroupedIterator[B] вEnsuring[GroupedIterator[B]], выполняемое методом Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: (GroupedIterator[B]) => Boolean): GroupedIterator[B]
- Неявный
- Этот член добавляется неявным преобразованием из GroupedIterator[B] вEnsuring[GroupedIterator[B]], выполняемое методом Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean, msg: => Any): GroupedIterator[B]
- Неявный
- Этот член добавлен неявным преобразованием из GroupedIterator[B] в Ensuring[GroupedIterator[B]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean): GroupedIterator[B]
- Неявный
- Этот член добавлен неявным преобразованием из GroupedIterator[B] в Ensuring[GroupedIterator[B]] с помощью метода 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: AnyRef): Boolean
Метод равенства для ссылочных типов. Реализация по умолчанию делегирует eq.
См. также equals в scala.Any.
- возвращает
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Определяющие классы
- AnyRef → Any
def exists(p: (immutable.Seq[B]) => Boolean): Boolean
Проверяет, выполняется ли предикат хотя бы для одного элемента в этом наборе.
Примечание: может не завершиться для наборов бесконечного размера.
- p
предикат, используемый для проверки элементов.
- возвращает
trueесли заданный предикатpвыполняется для как минимум одного элемента в этом наборе, в противном случаеfalse
- Определяющие классы
- IterableOnceOps
def filter(p: (immutable.Seq[B]) => Boolean): Iterator[immutable.Seq[B]]
Выбирает все элементы этого итератора, удовлетворяющие предикату.
- p
предикат, используемый для проверки элементов.
- возвращает
новый итератор, содержащий все элементы этого итератора, удовлетворяющие заданному предикату
p. Порядок элементов сохраняется.
- Определяющие классы
- Iterator → IterableOnceOps
def filterNot(p: (immutable.Seq[B]) => Boolean): Iterator[immutable.Seq[B]]
Выбирает все элементы этого итератора, которые не удовлетворяют предикату.
- возвращает
новый итератор, содержащий все элементы этого итератора, которые не удовлетворяют заданному предикату
pred. Их порядок может не сохраняться.
- Определяющие классы
- Iterator → IterableOnceOps
def finalize(): Unit
Вызывается сборщиком мусора для объекта-приёмника, когда на объект больше нет ссылок.
Подробности о том, когда и вызывается метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями, зависят от платформы.
def find(p: (immutable.Seq[B]) => Boolean): Option[immutable.Seq[B]]
Находит первый элемент коллекции, удовлетворяющий предикату, если такой существует.
Примечание: может не завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.
- p
предикат, используемый для проверки элементов.
- возвращает
значение option, содержащее первый элемент в коллекции, удовлетворяющий условию
p, илиNoneесли такового нет.
- Определяющие классы
- IterableOnceOps
def flatMap[B](f: (immutable.Seq[B]) => IterableOnce[B]): Iterator[B]
Строит новый итератор, применяя функцию ко всем элементам этого итератора и используя элементы полученных коллекций.
Например:
def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")
Тип результирующей коллекции определяется статическим типом итератора. Это иногда может привести к неожиданным результатам. Например:
// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)
// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap ((word: String) => word.toSeq)
// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)
// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
- B
тип элементов возвращаемой коллекции.
- f
функция, применяемая к каждому элементу.
- возвращает
новый итератор, полученный в результате применения заданной функции, принимающей коллекцию
fк каждому элементу этого итератора и конкатенации результатов.
- Определяющие классы
- Iterator → IterableOnceOps
- Примечание
Переиспользование: После вызова этого метода, необходимо отбросить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено, и может привести к изменениям в новом итераторе.
def flatten[B](implicit ev: (immutable.Seq[B]) => IterableOnce[B]): Iterator[B]
Преобразует этот итератор коллекций в итератор, образованный элементами этих коллекций.
Тип результирующей коллекции определяется типом итератора. Например:
val xs = List(
Set(1, 2, 3),
Set(1, 2, 3)
).flatten
// xs == List(1, 2, 3, 1, 2, 3)
val ys = Set(
List(1, 2, 3),
List(3, 2, 1)
).flatten
// ys == Set(1, 2, 3)
- B
тип элементов каждой коллекции.
- возвращает
новый итератор, полученный путём конкатенации всех итераторов элементов.
- Определяющие классы
- Iterator → IterableOnceOps
- Примечание
Переиспользование: После вызова этого метода, необходимо отбросить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено, и может привести к изменениям в новом итераторе.
def fold[A1 >: immutable.Seq[B]](z: A1)(op: (A1, A1) => A1): A1
Складывает элементы этой коллекции, используя заданный ассоциативный бинарный оператор. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективных порядков обхода.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Примечание: не завершится для коллекций бесконечного размера.
- A1
тип параметра для бинарного оператора, супертип
A.- z
нейтральный элемент для операции fold; может быть добавлен к результату произвольное число раз, и не должен менять результат (например,
Nilдля конкатенации списков, 0 для сложения или 1 для умножения).- op
бинарный оператор, который должен быть ассоциативным.
- возвращает
результат применения оператора fold
opмежду всеми элементами иz, илиzесли эта коллекция пуста.
- Определяющие классы
- IterableOnceOps
def foldLeft[B](z: B)(op: (B, immutable.Seq[B]) => B): B
Применяет бинарный оператор к начальному значению и всем элементам этой коллекции, слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен или оператор ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- z
начальное значение.
- op
бинарный оператор.
- возвращает
-
результат вставки
opмежду последовательными элементами этой коллекции, слева направо с начальным значениемzслева:op(...op(z, x_1), x_2, ..., x_n)
где
x1, ..., xn— элементы этой коллекции. Возвращаетzесли эта коллекция пуста.
- Определяющие классы
- IterableOnceOps
def foldRight[B](z: B)(op: (immutable.Seq[B], B) => B): B
Применяет бинарный оператор ко всем элементам этого набора и начальному значению, двигаясь справа налево.
Примечание: не будет завершаться для бесконечных наборов.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- z
начальное значение.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого набора, двигаясь справа налево с начальным значениемzсправа:op(x_1, op(x_2, ... op(x_n, z)...))
где
x1, ..., xn— элементы этого набора. Возвращаетz, если этот набор пуст.
- Definition Classes
- IterableOnceOps
def forall(p: (immutable.Seq[B]) => Boolean): Boolean
Проверяет, выполняется ли предикат для всех элементов этого набора.
Примечание: может не завершиться для бесконечных наборов.
- p
предикат, используемый для проверки элементов.
- returns
trueесли этот набор пуст или заданный предикатpвыполняется для всех элементов этого набора, в противном случаеfalse.
- Definition Classes
- IterableOnceOps
def foreach[U](f: (immutable.Seq[B]) => U): Unit
Применить f к каждому элементу для побочных эффектов Примечание: параметр [U] необходим для помощи в выводе типа scalac.
- Definition Classes
- IterableOnceOps
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной строкой format. Строки форматирования аналогичны String.format (@see java.lang.String.format).
- Implicit
- Этот член добавлен неявным преобразованием из GroupedIterator[B] в StringFormat[GroupedIterator[B]] с помощью метода StringFormat в scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
final def getClass(): Class[_ <: AnyRef]
Возвращает представление класса объекта во время выполнения.
- returns
объект класса, соответствующий типу получателя во время выполнения.
def grouped[B >: immutable.Seq[B]](size: Int): GroupedIterator[B]
Возвращает итератор, который группирует этот итератор в блоки фиксированного размера. Примеры использования:
// Returns List(List(1, 2, 3), List(4, 5, 6), List(7))) (1 to 7).iterator.grouped(3).toList // Returns List(List(1, 2, 3), List(4, 5, 6)) (1 to 7).iterator.grouped(3).withPartial(false).toList // Returns List(List(1, 2, 3), List(4, 5, 6), List(7, 20, 25) // Illustrating that withPadding's argument is by-name. val it2 = Iterator.iterate(20)(_ + 5) (1 to 7).iterator.grouped(3).withPadding(it2.next).toList
- Definition Classes
- Iterator
- Note
Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только итератор, который был возвращен. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе также.
def hasNext: Boolean
Проверяет, доступен ли следующий элемент.
- returns
trueесли есть следующий элемент,falseв противном случае
- Definition Classes
- GroupedIterator → Iterator
- Note
Переиспользование: Итератор остается действительным для дальнейшего использования, независимо от возвращаемого результата.
def hashCode(): Int
def indexOf[B >: immutable.Seq[B]](elem: B, from: Int): Int
Возвращает индекс первого вхождения указанного объекта в этом итерируемом объекте после или на некотором начальном индексе.
Примечание: может не завершаться для бесконечных итераторов.
- elem
элемент для поиска.
- from
начальный индекс
- returns
индекс
>= fromпервого вхожденияelemв значения, производимые этим итератором, или -1, если такой элемент не существует до тех пор, пока не будет достигнут конец итератора.
- Definition Classes
- Iterator
- Примечание
Переиспользование: после вызова этого метода следует отбросить итератор, на котором он был вызван. Его использование не определено и может измениться.
def indexOf[B >: immutable.Seq[B]](elem: B): Int
Возвращает индекс первого вхождения указанного объекта в этот итерируемый объект.
Примечание: может не завершаться для бесконечных итераторов.
- elem
элемент для поиска.
- returns
индекс первого вхождения
elemв значения, производимые этим итератором, или -1, если такой элемент не существует до тех пор, пока не будет достигнут конец итератора.
- Definition Classes
- Iterator
- Примечание
Переиспользование: после вызова этого метода следует отбросить итератор, на котором он был вызван. Его использование не определено и может измениться.
def indexWhere(p: (immutable.Seq[B]) => Boolean, from: Int = 0): Int
- Definition Classes
- Iterator
def isEmpty: Boolean
Проверяет, пуст ли итератор.
Примечание: реализации в подклассах, которые не являются многократно проходимыми, должны позаботиться о том, чтобы не потреблять элементы при вызове isEmpty.
- returns
trueесли итератор не содержит элементов,falseв противном случае.
- Definition Classes
- Iterator → IterableOnceOps
- Аннотации
- @deprecatedOverriding("isEmpty is defined as !hasNext; override hasNext instead", "2.13.0")
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
Проверяет, может ли эта коллекция быть многократно пройдена. Всегда true для Iterable и false для Iterator, если не переопределено.
- returns
trueесли она может быть многократно пройдена,falseв противном случае.
- Definition Classes
- IterableOnceOps
final def iterator: Iterator[immutable.Seq[B]]
Итератор может быть использован только один раз
- Definition Classes
- Iterator → IterableOnce
- Аннотации
- @inline()
def knownSize: Int
- returns
Количество элементов в этой коллекции, если его можно вычислить без затрат, -1 в противном случае. Незатратно обычно означает: не требует обхода коллекции.
- Definition Classes
- IterableOnce
final def length: Int
def map[B](f: (immutable.Seq[B]) => B): Iterator[B]
Создаёт новый итератор, применяя функцию ко всем элементам этого итератора.
- B
тип элемента возвращаемого итератора.
- f
функция, применяемая к каждому элементу.
- returns
новый итератор, полученный в результате применения данной функции
fк каждому элементу этого итератора и сбора результатов.
- Определяющие классы
- Iterator → IterableOnceOps
- Примечание
Повторное использование: после вызова этого метода следует отказаться от итератора, к которому он был применён, и использовать только возвращённый итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе.
def max[B >: immutable.Seq[B]](implicit ord: math.Ordering[B]): immutable.Seq[B]
Находит наибольший элемент.
- B
Тип, для которого определён порядок.
- ord
Порядок, используемый для сравнения элементов.
- returns
наибольший элемент этой коллекции относительно порядка
ord.
- Определяющие классы
- IterableOnceOps
- Выбрасываемые исключения
UnsupportedOperationExceptionесли эта коллекция пуста.
def maxBy[B](f: (immutable.Seq[B]) => B)(implicit cmp: math.Ordering[B]): immutable.Seq[B]
Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Измерительная функция.
- cmp
Порядок, используемый для сравнения элементов.
- returns
первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно порядка
cmp.
- Определяющие классы
- IterableOnceOps
- Выбрасываемые исключения
UnsupportedOperationExceptionесли эта коллекция пуста.
def maxByOption[B](f: (immutable.Seq[B]) => B)(implicit cmp: math.Ordering[B]): Option[immutable.Seq[B]]
Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Измерительная функция.
- cmp
Порядок, используемый для сравнения элементов.
- returns
необязательное значение, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно порядка
cmp.
- Определяющие классы
- IterableOnceOps
def maxOption[B >: immutable.Seq[B]](implicit ord: math.Ordering[B]): Option[immutable.Seq[B]]
Находит наибольший элемент.
- B
Тип, для которого определён порядок.
- ord
Порядок, используемый для сравнения элементов.
- returns
необязательное значение, содержащее наибольший элемент этой коллекции относительно порядка
ord.
- Определяющие классы
- IterableOnceOps
def min[B >: immutable.Seq[B]](implicit ord: math.Ordering[B]): immutable.Seq[B]
Находит наименьший элемент.
- B
Тип, для которого определён порядок.
- ord
Порядок, используемый для сравнения элементов.
- returns
наименьший элемент этой коллекции относительно порядка
ord.
- Определяющие классы
- IterableOnceOps
- Выбрасываемые исключения
UnsupportedOperationExceptionесли эта коллекция пуста.
def minBy[B](f: (immutable.Seq[B]) => B)(implicit cmp: math.Ordering[B]): immutable.Seq[B]
Находит первый элемент, который даёт наименьшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- cmp
Порядок, используемый для сравнения элементов.
- returns
первый элемент этого набора с наименьшим значением, измеренным функцией f, относительно порядка
cmp.
- Definition Classes
- IterableOnceOps
- Exceptions thrown
UnsupportedOperationException, если этот набор пуст.
def minByOption[B](f: (immutable.Seq[B]) => B)(implicit cmp: math.Ordering[B]): Option[immutable.Seq[B]]
Находит первый элемент, который даёт наименьшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- cmp
Порядок, используемый для сравнения элементов.
- returns
значение Option, содержащее первый элемент этого набора с наименьшим значением, измеренным функцией f, относительно порядка
cmp.
- Definition Classes
- IterableOnceOps
def minOption[B >: immutable.Seq[B]](implicit ord: math.Ordering[B]): Option[immutable.Seq[B]]
Находит наименьший элемент.
- B
Тип, для которого определён порядок.
- ord
Порядок, используемый для сравнения элементов.
- returns
значение Option, содержащее наименьший элемент этого набора относительно порядка
ord.
- Definition Classes
- IterableOnceOps
final def mkString: String
Отображает все элементы этого набора в строке.
Делегирует addString, который может быть переопределён.
- returns
строковое представление этого набора. В результирующей строке строковые представления (в соответствии с методом
toString) всех элементов этого набора следуют друг за другом без разделителя.
- Definition Classes
- IterableOnceOps
- Annotations
- @inline()
final def mkString(sep: String): String
Отображает все элементы этого набора в строке с использованием разделителя.
Делегирует addString, который может быть переопределён.
- sep
строка-разделитель.
- returns
строковое представление этого набора. В результирующей строке строковые представления (в соответствии с методом
toString) всех элементов этого набора разделены строкойsep.
- Definition Classes
- IterableOnceOps
- Annotations
- @inline()
List(1, 2, 3).mkString("|") = "1|2|3"
final def mkString(start: String, sep: String, end: String): String
Отображает все элементы этого набора в строке с использованием начальной, конечной и разделительной строк.
Делегирует addString, который может быть переопределён.
- start
начальная строка.
- sep
строка-разделитель.
- end
конечная строка.
- returns
строковое представление этого набора. Результирующая строка начинается со строки
startи заканчивается строкойend. Внутри строковые представления (в соответствии с методомtoString) всех элементов этого набора разделены строкойsep.
- Definition Classes
- IterableOnceOps
List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"
final def ne(arg0: AnyRef): Boolean
Эквивалентно !(this eq that).
- returns
trueесли аргумент не является ссылкой на объект-получатель;falseв противном случае.
- Definition Classes
- AnyRef
def next(): immutable.Seq[B]
Возвращает следующий элемент и перемещает итератор вперёд.
- returns
следующий элемент.
- Definition Classes
- GroupedIterator → Iterator
- Annotations
- @throws(scala.this.throws.<init>$default$1[NoSuchElementException])
- Исключения
NoSuchElementException, если следующего элемента нет.- Примечание
Использование: Перемещает итератор вперёд, что может исчерпать элементы. Допустимо сделать дополнительные вызовы к итератору.
def nextOption(): Option[immutable.Seq[B]]
Оборачивает значение next() в опцию.
- returns
Some(next), если следующий элемент существует,Noneв противном случае.
- Definition Classes
- Iterator
def nonEmpty: Boolean
Проверяет, не пусто ли множество.
- returns
true, если множество содержит по крайней мере один элемент,falseв противном случае.
- Definition Classes
- IterableOnceOps
- Annotations
- @deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
final def notify(): Unit
Разбуживает один поток, ожидающий монитор объекта-получателя.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Примечание
не указано SLS как член AnyRef
final def notifyAll(): Unit
Разбуживает все потоки, ожидающие монитор объекта-получателя.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Примечание
не указано SLS как член AnyRef
def padTo[B >: immutable.Seq[B]](len: Int, elem: B): Iterator[B]
Копия этого итератора с добавленными элементами-заполнителями, пока не будет достигнута заданная длина.
- B
тип элементов возвращаемого итератора.
- len
целевая длина
- elem
значение заполнителя
- returns
новый итератор, содержащий все элементы этого итератора, за которыми следуют минимальное количество вхождений
elem, чтобы результирующее множество имело длину не менееlen.
- Definition Classes
- Iterator
def partition(p: (immutable.Seq[B]) => Boolean): (Iterator[immutable.Seq[B]], Iterator[immutable.Seq[B]])
Разделяет этот итератор на два итератора в соответствии с предикатом.
- p
предикат для разделения
- returns
пара итераторов: итератор, удовлетворяющий предикату
p, и итератор, который этого не делает. Относительный порядок элементов в результирующих итераторах такой же, как и в исходном итераторе.
- Definition Classes
- Iterator
- Примечание
Использование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращенные итераторы. Использование старого итератора не определено, может измениться и может привести к изменениям в новых итераторах.
def patch[B >: immutable.Seq[B]](from: Int, patchElems: Iterator[B], replaced: Int): Iterator[B]
Возвращает этот итератор с изменёнными значениями. Замена по отрицательным индексам аналогична замене с начала. Замена по индексам, которые больше или равны длине исходного итератора, добавляет замену в конец. Если заменяемых значений больше, чем существует, избыток игнорируется.
- from
Начальный индекс замены
- patchElems
Итератор значений замены
- replaced
Количество значений в исходном итераторе, заменяемых заменой.
- Definition Classes
- Iterator
- Примечание
Использование: После вызова этого метода следует удалить вызываемый итератор, а также переданный в качестве параметра, и использовать только возвращенный итератор. Использование старых итераторов не определено, может измениться и может привести к изменениям в новом итераторе.
def product[B >: immutable.Seq[B]](implicit num: math.Numeric[B]): B
Умножает элементы этого набора.
- B
тип результата оператора
*.- num
явный параметр, определяющий набор арифметических операций, включающий оператор
*, который используется при вычислении произведения.- returns
произведение всех элементов этого набора относительно оператора
*вnum.
- Definition Classes
- IterableOnceOps
def reduce[B >: immutable.Seq[B]](op: (B, B) => B): B
Сводит элементы этого набора с помощью указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
- B
Параметр типа для бинарного оператора, надтипом
A.- op
Бинарный оператор, который должен быть ассоциативным.
- returns
Результат применения оператора reduce
opмежду всеми элементами, если набор не пуст.
- Definition Classes
- IterableOnceOps
- Exceptions thrown
UnsupportedOperationExceptionесли этот набор пуст.
def reduceLeft[B >: immutable.Seq[B]](op: (B, immutable.Seq[B]) => B): B
Применяет бинарный оператор ко всем элементам этого набора слева направо.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого набора слева направо:op( op( ... op(x_1, x_2) ..., x_{n-1}), x_n)где
x1, ..., xn— элементы этого набора.
- Definition Classes
- IterableOnceOps
- Exceptions thrown
UnsupportedOperationExceptionесли этот набор пуст.
def reduceLeftOption[B >: immutable.Seq[B]](op: (B, immutable.Seq[B]) => B): Option[B]
Необязательное применение бинарного оператора ко всем элементам этого набора слева направо.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
вариант значения, содержащий результат
reduceLeft(op), если этот набор не пуст,Noneв противном случае.
- Definition Classes
- IterableOnceOps
def reduceOption[B >: immutable.Seq[B]](op: (B, B) => B): Option[B]
Сводит элементы этого набора (если они есть) с помощью указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
- B
Параметр типа для бинарного оператора, надтипом
A.- op
Бинарный оператор, который должен быть ассоциативным.
- returns
Вариант значения, содержащий результат применения оператора reduce
opмежду всеми элементами, если набор не пуст, иNoneв противном случае.
- Definition Classes
- IterableOnceOps
def reduceRight[B >: immutable.Seq[B]](op: (immutable.Seq[B], B) => B): B
Применяет бинарный оператор ко всем элементам этого набора, слева направо.
Примечание: не будет завершаться для бесконечных наборов.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого набора, слева направо:op(x_1, op(x_2, ..., op(x_{n-1}, x_n)...))где
x1, ..., xn- элементы этого набора.
- Definition Classes
- IterableOnceOps
- Исключения
UnsupportedOperationException, если этот набор пустой.
def reduceRightOption[B >: immutable.Seq[B]](op: (immutable.Seq[B], B) => B): Option[B]
Возвращает результат применения бинарного оператора ко всем элементам этого набора, справа налево (необязательно).
Примечание: не будет завершаться для бесконечных наборов.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
значение Option, содержащее результат
reduceRight(op)если этот набор непустой,Noneв противном случае.
- Definition Classes
- IterableOnceOps
def reversed: Iterable[immutable.Seq[B]]
- Attributes
- protected
- Definition Classes
- IterableOnceOps
def sameElements[B >: immutable.Seq[B]](that: IterableOnce[B]): Boolean
- Definition Classes
- Iterator
def scanLeft[B](z: B)(op: (B, immutable.Seq[B]) => B): Iterator[B]
Возвращает итератор, содержащий кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не будет завершаться для бесконечных наборов.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
- B
тип элементов в результирующем наборе
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- returns
набор с промежуточными результатами
- Definition Classes
- Iterator → IterableOnceOps
- Примечание
Переиспользование: после вызова этого метода нужно выбросить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может измениться, и может привести к изменениям в новом итераторе.
def size: Int
Размер этого набора.
Примечание: не будет завершаться для бесконечных наборов.
- returns
количество элементов в этом наборе.
- Definition Classes
- IterableOnceOps
def slice(from: Int, until: Int): Iterator[immutable.Seq[B]]
Выбирает интервал элементов. Возвращаемый итератор состоит из всех элементов x которые удовлетворяют условию:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
- from
минимальный индекс для включения из этого итератора.
- until
минимальный индекс для исключения из этого итератора.
- returns
итератор, содержащий элементы, большие или равные индексу
from, продолжая до (но не включая) индексаuntilэтого итератора.
- Definition Classes
- Iterator → IterableOnceOps
- Примечание
Переиспользование: после вызова этого метода нужно выбросить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может измениться, и может привести к изменениям в новом итераторе.
def sliceIterator(from: Int, until: Int): Iterator[immutable.Seq[B]]
Создаёт необязательно ограниченный срез, неограниченный, если until отрицательный.
- Attributes
- protected
- Definition Classes
- Iterator
def sliding[B >: immutable.Seq[B]](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
- возвращает
Итератор, производящий
Seq[B]размеромsize, за исключением последнего элемента (который может быть единственным элементом), который будет усечён, если оставшихся элементов для группировки меньше, чемsize. Это поведение можно настроить.
- Определяющие классы
- Iterator
- Примечание
Переиспользование: после вызова этого метода необходимо удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может измениться, и может привести к изменениям в новом итераторе тоже.
def span(p: (immutable.Seq[B]) => Boolean): (Iterator[immutable.Seq[B]], Iterator[immutable.Seq[B]])
Разделяет этот итератор на пару префикс/суффикс согласно предикату.
Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- p
предикат проверки
- возвращает
пара, состоящая из самого длинного префикса этого итератора, чьи элементы удовлетворяют
p, и остаток этого итератора.
- Определяющие классы
- Iterator → IterableOnceOps
- Примечание
Переиспользование: после вызова этого метода необходимо удалить итератор, на котором он был вызван, и использовать только возвращённые итераторы. Использование старого итератора не определено, может измениться, и может привести к изменениям в новых итераторах тоже.
def splitAt(n: Int): (Iterator[immutable.Seq[B]], Iterator[immutable.Seq[B]])
Разделяет эту коллекцию на пару префикс/суффикс в заданной позиции.
Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- n
позиция разделения.
- возвращает
пару коллекций, состоящих из первых
nэлементов этой коллекции и других элементов.
- Определяющие классы
- IterableOnceOps
- Примечание
Переиспользование: после вызова этого метода необходимо удалить итератор, на котором он был вызван, и использовать только возвращённые итераторы. Использование старого итератора не определено, может измениться, и может привести к изменениям в новых итераторах тоже.
def stepper[S <: Stepper[_]](implicit shape: StepperShape[immutable.Seq[B], S]): S
Возвращает Stepper для элементов этой коллекции.
Stepper позволяет создавать Java-поток для работы с коллекцией, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, Stepper может использоваться как итератор, который не упаковывает элементы.
Неявный параметр StepperShape определяет тип возвращаемого Stepper в соответствии с типом элементов этой коллекции.
-
Для коллекций
Int, Short, Byte или Char, возвращается IntStepperДля коллекций Double или Float, возвращается DoubleStepperДля коллекций Long возвращается LongStepperДля любого другого типа элементов возвращается AnyStepper
Обратите внимание, что этот метод переопределён в подклассах, и тип возвращаемого значения уточняется до S with EfficientSplit, например, IndexedSeqOps.stepper. Для Stepper, помеченных как scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Stepper можно преобразовать только в последовательные потоки.
- Определяющие классы
- IterableOnce
def sum[B >: immutable.Seq[B]](implicit num: math.Numeric[B]): B
Суммирует элементы этого набора.
- B
тип результата оператора
+.- num
явный параметр, определяющий набор числовых операций, включающий оператор
+, используемый для формирования суммы.- returns
сумма всех элементов этого набора относительно оператора
+вnum.
- Definition Classes
- IterableOnceOps
final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
def take(n: Int): Iterator[immutable.Seq[B]]
Выбирает первые n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- n
количество элементов для извлечения из этого итератора.
- returns
итератор, содержащий только первые
nэлементов этого итератора, или весь итератор, если он содержит меньшеnэлементов. Еслиnотрицательно, возвращает пустой итератор.
- Definition Classes
- Iterator → IterableOnceOps
- Примечание
Повторное использование: После вызова этого метода необходимо отбросить вызываемый итератор и использовать только возвращенный итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.
def takeWhile(p: (immutable.Seq[B]) => Boolean): Iterator[immutable.Seq[B]]
Берет наибольший префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- p
Предикат, используемый для проверки элементов.
- returns
наибольший префикс этого итератора, элементы которого удовлетворяют предикату
p.
- Definition Classes
- Iterator → IterableOnceOps
- Примечание
Повторное использование: После вызова этого метода необходимо отбросить вызываемый итератор и использовать только возвращенный итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.
def tapEach[U](f: (immutable.Seq[B]) => U): Iterator[immutable.Seq[B]]
Применяет функцию с побочным эффектом к каждому элементу в этом наборе. Строгие коллекции применят f к своим элементам немедленно, в то время как ленивые коллекции, такие как представления и LazyLists, применят f только к каждому элементу, когда этот элемент будет оценен, и каждый раз, когда этот элемент будет оценен.
- U
тип возвращаемого значения f
- f
функция для применения к каждому элементу в этом итераторе
- returns
Такая же логическая коллекция, как эта
- Definition Classes
- Iterator → IterableOnceOps
def to[C1](factory: Factory[immutable.Seq[B], C1]): C1
С учетом фабрики коллекций factory, преобразовать эту коллекцию в соответствующую форму представления для текущего типа элемента A. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
- Definition Classes
- IterableOnceOps
def toArray[B >: immutable.Seq[B]](implicit arg0: ClassTag[B]): Array[B]
Преобразовать коллекцию в массив.
- Definition Classes
- IterableOnceOps
final def toBuffer[B >: immutable.Seq[B]]: Buffer[B]
- Definition Classes
- IterableOnceOps
- Annotations
- @inline()
def toIndexedSeq: immutable.IndexedSeq[immutable.Seq[B]]
- Definition Classes
- IterableOnceOps
def toList: immutable.List[immutable.Seq[B]]
- Definition Classes
- IterableOnceOps
def toMap[K, V](implicit ev: <:<[immutable.Seq[B], (K, V)]): immutable.Map[K, V]
- Definition Classes
- IterableOnceOps
def toSeq: immutable.Seq[immutable.Seq[B]]
- возвращает
Этот набор данных в виде
Seq[A]. Это эквивалентноto(Seq), но может быть быстрее.
- Definition Classes
- IterableOnceOps
def toSet[B >: immutable.Seq[B]]: immutable.Set[B]
- Definition Classes
- IterableOnceOps
def toString(): String
Преобразует этот итератор в строку.
- возвращает
"<iterator>"
def toVector: immutable.Vector[immutable.Seq[B]]
- Definition Classes
- IterableOnceOps
final def wait(): Unit
- Definition Classes
- AnyRef
- Аннотации
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Аннотации
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long): Unit
def withFilter(p: (immutable.Seq[B]) => Boolean): Iterator[immutable.Seq[B]]
Создает итератор по всем элементам этого итератора, которые удовлетворяют предикату p. Порядок элементов сохраняется.
Примечание: withFilter эквивалентно filter для итераторов. Оно существует для того, чтобы выражения for с фильтрацией работали над итераторами.
- p
предикат, используемый для проверки значений.
- возвращает
итератор, который генерирует те значения этого итератора, которые удовлетворяют предикату
p.
- Definition Classes
- Iterator
- Примечание
Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе.
def withPadding(x: => B): GroupedIterator.this.type
Общедоступные функции, которые можно использовать для настройки итератора перед использованием.
Заполняет последний сегмент, если необходимо, чтобы все сегменты имели одинаковый размер.
- x
Элемент, который будет добавлен к последнему сегменту, если необходимо.
- возвращает
Тот же итератор, а не новый итератор.
- Примечание
-
Этот метод изменяет итератор, на котором он вызывается, что можно безопасно использовать позже.
,Этот метод взаимно исключается с
withPartial(true).
def withPartial(x: Boolean): GroupedIterator.this.type
Общедоступные функции, которые можно использовать для настройки итератора перед его использованием.
Выберите, может ли последний фрагмент возвращаться с количеством элементов меньше, чем size. Если нет, то некоторые элементы исходного итератора могут вообще не быть возвращены.
- x
trueесли возвращаются частичные сегменты,falseв противном случае.- returns
Тот же самый итератор, а не новый итератор.
- Примечание
-
Этот метод изменяет итератор, на котором он вызван, что можно безопасно использовать после этого.
,Этот метод взаимно исключает
withPadding.
def zip[B](that: IterableOnce[B]): Iterator[(immutable.Seq[B], B)]
- Классы-определения
- Iterator
def zipAll[A1 >: immutable.Seq[B], B](that: IterableOnce[B], thisElem: A1, thatElem: B): Iterator[(A1, B)]
- Классы-определения
- Iterator
def zipWithIndex: Iterator[(immutable.Seq[B], Int)]
Комбинирует этот итератор с его индексами.
- returns
Новый итератор, содержащий пары, состоящие из всех элементов этого итератора, соединенных с их индексом. Индексы начинаются с
0.
- Классы-определения
- Iterator → IterableOnceOps
- Примечание
Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе также.
List("a", "b", "c").zipWithIndex == List(("a", 0), ("b", 1), ("c", 2))
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/collection/Iterator$GroupedIterator.html
Гибкий итератор для преобразования
Iterator[A]в Iterator[Seq[A]], с настраиваемым размером последовательности, шагом и стратегией обработки элементов, которые не укладываются равномерно.Типичные применения можно реализовать с помощью методов
groupedиsliding.