Trait scala.collection.parallel.IterableSplitter
trait IterableSplitter[+T] extends AugmentedIterableIterator[T] with Splitter[T] with Signalling with DelegatedSignalling
Члены типа
класс GroupedIterator[B >: A] extends AbstractIterator[Seq[B]] with Iterator[Seq[B]]
Гибкий итератор для преобразования Iterator[A] в Iterator[Seq[A]], с настраиваемым размером последовательности, шагом и стратегией обработки элементов, которые не делятся равномерно.
Типичные использования могут быть достигнуты с помощью методов grouped и sliding.
- Определяющие классы
- Iterator
класс Appended[U >: T, PI <: IterableSplitter[U]] extends IterableSplitter[U]
класс Mapped[S] extends IterableSplitter[S]
класс Taken extends IterableSplitter[T]
класс Zipped[S] extends IterableSplitter[(T, S)]
класс ZippedAll[U >: T, S] extends IterableSplitter[(U, S)]
Абстрактные члены значения
абстрактный def dup: IterableSplitter[T]
абстрактный def hasNext: Boolean
Проверяет, может ли этот итератор предоставить другой элемент.
- возвращает
trueесли последующий вызовnextвернёт элемент,falseв противном случае.
- Определяющие классы
- Iterator
- Примечание
Переиспользование: итератор остаётся допустимым для дальнейшего использования независимо от возвращённого результата.
абстрактный def next(): T
Возвращает следующий элемент этого итератора.
- возвращает
следующий элемент этого итератора, если
hasNextравенtrue, в противном случае — неопределённое поведение.
- Определяющие классы
- Iterator
- Примечание
Переиспользование: итератор остаётся допустимым для дальнейшего использования независимо от возвращённого результата.
абстрактный def remaining: Int
Количество элементов, которые ещё предстоит обработать этому итератору. Этот метод не изменяет состояние итератора.
Этот метод используется для предоставления подсказок о размере билдерам и комбинирующим методам, а также для приблизительного определения позиций итераторов в структуре данных.
Примечание: этот метод может быть реализован для возвращения верхней границы количества элементов в итераторе, а не точного количества элементов для итерации. Параллельные коллекции, которые имеют такие итераторы, называются коллекциями non-strict-splitter.
В этом случае необходимо учитывать 2 момента:
1) классы, унаследованные от ParIterable должны переопределить методы take, drop, slice, splitAt, copyToArray и все остальные, использующие эту информацию.
2) если итератор предоставляет верхнюю границу количества элементов, то после разделения сумма значений remaining разделенных итераторов должна быть меньше или равна этой верхней границе.
- Определяющие классы
- IterableSplitter → RemainsIterator
абстрактный def split: scala.Seq[IterableSplitter[T]]
Разделяет итератор на последовательность непересекающихся представлений.
Возвращает последовательность разделенных итераторов, каждый из которых итерируется по некоторому подмножеству элементов в коллекции. Эти подмножества не пересекаются и должны быть примерно одинакового размера. Эти подмножества не пусты, за исключением случая, когда итератор пустой, в этом случае метод возвращает последовательность с одним пустым итератором. Если у разделителя более двух элементов, метод вернёт два или более разделителя.
Реализаторам рекомендуется сохранять этот раздел относительно небольшим - двух разделителей уже достаточно при разделении коллекции, хотя их может быть несколько больше.
Примечание: этот метод фактически делает текущий разделитель недопустимым.
- возвращает
последовательность непересекающихся итераторов коллекции
- Определяющие классы
- IterableSplitter → Splitter
Члены-значения (Concrete Value Members)
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- возвращает
trueесли !(this == that), иначе false.
- Определяющие классы
- AnyRef → Any
final def ##(): Int
Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для числовых типов возвращает значение хеша, согласованное с равенством значений: если два экземпляра типа значения сравниваются как true, то ## для каждого из них возвратит одинаковое значение хеша. Для null возвращает хешкод, где null.hashCode выбрасывает NullPointerException.
- возвращает
значение хеша, согласованное с ==
- Определяющие классы
- AnyRef → Any
def +(other: String): String
- Неявный
- Этот член добавлен неявным преобразованием из IterableSplitter[T] в any2stringadd[IterableSplitter[T]] выполненное методом any2stringadd в scala.Predef.
- Определяющие классы
- any2stringadd
def ++(that: ⇒ Iterator[T]): Iterator[T]
Конкатенация этого итератора с другим.
- that
другой итератор
- возвращает
новый итератор, который сначала выдает значения, созданные этим итератором, а затем - значения, созданные итератором
that.
- Определяющие классы
- Iterator
def ->[B](y: B): (IterableSplitter[T], B)
- Неявный
- Этот член добавлен неявным преобразованием из IterableSplitter[T] в ArrowAssoc[IterableSplitter[T]] выполненное методом ArrowAssoc в scala.Predef.
- Определяющие классы
- ArrowAssoc
- Аннотации
- @inline()
def /:[B](z: B)(op: (B, T) ⇒ 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
бинарный оператор.
- возвращает
-
результат вставки
opмежду последовательными элементами этого итерируемого объекта или итератора слева направо с начальным значениемzслева:op(...op(op(z, x_1), x_2), ..., x_n)
где
x1, ..., xn- элементы этого итерируемого объекта или итератора.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
def :\[B](z: B)(op: (T, 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
бинарный оператор
- возвращает
-
результат вставки
opмежду последовательными элементами этого итерируемого объекта или итератора справа налево с начальным значениемzсправа:op(x_1, op(x_2, ... op(x_n, z)...))
где
x1, ..., xn- элементы этого итерируемого объекта или итератора.
- Определяющие классы
- 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 abort(): Unit
Отправляет сигнал прерывания другим рабочим процессам.
Флаг прерывания, установленный в true, означает, что рабочий процесс может прерваться и произвести любой результат, так как его результат не повлияет на конечный результат вычисления. Примерами операций, использующих это, являются методы find, forall и exists.
- Definition Classes
- DelegatedSignalling → Signalling
def addString(b: StringBuilder): 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
строка StringBuilder, в которую добавляются элементы.
- returns
строка StringBuilder
b, в которую были добавлены элементы.
- Definition Classes
- TraversableOnce
def addString(b: StringBuilder, sep: String): StringBuilder
Добавляет все элементы этого итерируемого объекта или итератора в строку 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
строка StringBuilder, в которую добавляются элементы.
- sep
разделительная строка.
- returns
строка StringBuilder
b, в которую были добавлены элементы.
- Definition Classes
- TraversableOnce
def addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder
Добавляет все элементы этого итерируемого объекта или итератора в строку 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
строка StringBuilder, в которую добавляются элементы.
- start
начальная строка.
- sep
разделительная строка.
- end
конечная строка.
- returns
строка StringBuilder
b, в которую были добавлены элементы.
- Definition Classes
- TraversableOnce
def aggregate[B](z: ⇒ B)(seqop: (B, T) ⇒ 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
def appendParIterable[U >: T, PI <: IterableSplitter[U]](that: PI): Appended[U, PI]
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[T]
Создаёт буферизованный итератор из этого итератора.
- returns
буферизованный итератор, возвращающий те же значения, что и этот итератор.
- Definition Classes
- Iterator
- Примечание
Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе также.
- См. также
def buildString(closure: ((String) ⇒ Unit) ⇒ Unit): String
- Атрибуты
- protected
def clone(): AnyRef
Создаёт копию объекта-получателя.
По умолчанию реализация метода clone зависит от платформы.
- returns
копию объекта-получателя.
def collect[B](pf: PartialFunction[T, B]): Iterator[B]
Создаёт итератор, преобразуя значения, генерируемые этим итератором, с помощью частичной функции, отбрасывая те значения, для которых частичная функция не определена.
- pf
частичная функция, которая фильтрует и отображает итератор.
- returns
новый итератор, который генерирует каждое значение
x, произведённое этим итератором, для которогоpfопределена, изображениеpf(x).
- Definition Classes
- Iterator
- Аннотации
- @migration
- Миграция
(Изменено в версии 2.8.0)
collectизменилась. Предыдущее поведение можно воспроизвести с помощьюtoSeq.- Примечание
Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе также.
def collect2combiner[S, That](pf: PartialFunction[T, S], cb: Combiner[S, That]): Combiner[S, That]
- Definition Classes
- AugmentedIterableIterator
def collectFirst[B](pf: PartialFunction[T, B]): Option[B]
Находит первый элемент перечислимого или итератора, для которого заданная частичная функция определена, и применяет к нему частичную функцию.
Примечание: может не завершиться для бесконечных коллекций.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- pf
частичная функция
- returns
значение Option, содержащее pf, применённое к первому значению, для которого оно определено, или
Noneесли такового нет.
- Definition Classes
- TraversableOnce
Seq("a", 1, 5L).collectFirst({ case x: Int => x*10 }) = Some(10)
def contains(elem: Any): Boolean
Проверяет, содержит ли этот итератор данное значение в качестве элемента.
Примечание: может не завершиться для бесконечных итераторов.
- elem
элемент для проверки.
- returns
true, если этот итератор генерирует некоторое значение, равное (как определено
==)elem, false в противном случае.
- Definition Classes
- Iterator
- Примечание
Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван. Его использование не определено и может быть изменено.
def copy2builder[U >: T, Coll, Bld <: Builder[U, Coll]](b: Bld): Bld
- Definition Classes
- AugmentedIterableIterator
def copyToArray(xs: Array[A], start: Int, len: Int): Unit
Копирует выбранные значения, полученные этим итератором, в массив. Заполняет указанный массив xs начиная с индекса start максимум len значениями, полученными из этого итератора. Копирование остановится, когда будет достигнут конец текущего итератора, конец массива или будут скопированы len элементов.
Примечание: не завершится для бесконечных итераторов.
- xs
массив для заполнения.
- start
начальный индекс.
- len
максимальное количество копируемых элементов.
- Definition Classes
- AugmentedIterableIterator → Iterator → TraversableOnce → GenTraversableOnce
def copyToArray(xs: Array[A]): Unit
Копирует элементы этого итерируемого или перебираемого объекта в массив. Заполняет указанный массив xs значениями этого перебираемого или итерируемого объекта. Копирование остановится, когда будет достигнут конец текущего перебираемого или итерируемого объекта, или конец целевого массива.
Примечание: не завершится для бесконечных итераторов.
- xs
массив для заполнения.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def copyToArray(xs: Array[A], start: Int): Unit
Копирует элементы этого перебираемого или итерируемого объекта в массив. Заполняет указанный массив xs значениями этого перебираемого или итерируемого объекта, начиная с индекса start. Копирование остановится, когда будет достигнут конец текущего перебираемого или итерируемого объекта, или конец целевого массива.
Примечание: не завершится для бесконечных итераторов.
- xs
массив для заполнения.
- start
начальный индекс.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def copyToBuffer[B >: T](dest: Buffer[B]): Unit
Копирует все элементы этого перебираемого или итерируемого объекта в буфер.
Примечание: не завершится для бесконечных коллекций.
- dest
Буфер, в который копируются элементы.
- Definition Classes
- TraversableOnce
def corresponds[B](that: GenTraversableOnce[B])(p: (T, B) ⇒ Boolean): Boolean
Проверяет, удовлетворяет ли каждый элемент этого итератора соответствующему элементу другой коллекции, удовлетворяя условию предиката.
- B
тип элементов
that- that
другая коллекция
- p
предикат проверки, который связывает элементы обеих коллекций
- возвращает
trueесли обе коллекции имеют одинаковую длину иp(x, y)равенtrueдля всех соответствующих элементовxэтого итератора иyизthat, иначеfalse
- Definition Classes
- Iterator
def count(p: (T) ⇒ Boolean): Int
Подсчитывает количество элементов в перебираемом или итерируемом объекте, удовлетворяющих предикату.
- p
предикат, используемый для проверки элементов.
- возвращает
количество элементов, удовлетворяющих предикату
p.
- Definition Classes
- AugmentedIterableIterator → TraversableOnce → GenTraversableOnce
def drop(n: Int): IterableSplitter[T]
Drop реализован как простое жадное потребление.
- n
количество элементов для пропуска
- возвращает
итератор, который генерирует все значения текущего итератора, но пропускает первые
nзначения.
- Definition Classes
- IterableSplitter → Iterator
def drop2combiner[U >: T, This](n: Int, cb: Combiner[U, This]): Combiner[U, This]
- Definition Classes
- AugmentedIterableIterator
def dropWhile(p: (T) ⇒ Boolean): Iterator[T]
Пропускает самую длинную последовательность элементов этого итератора, удовлетворяющих заданному предикату p, и возвращает итератор оставшихся элементов.
- p
предикат, используемый для пропуска элементов.
- returns
итератор, состоящий из оставшихся элементов
- Definition Classes
- Iterator
- Note
Переиспользование: После вызова этого метода необходимо удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе тоже.
def duplicate: (Iterator[T], Iterator[T])
Создаёт два новых итератора, которые оба итерируют по тем же элементам, что и этот итератор (в том же порядке). Дублированные итераторы считаются равными, если они находятся на одном элементе.
Учитывая, что большинство методов для итераторов сделают исходный итератор непригодным для дальнейшего использования, этот метод предоставляет надёжный способ вызова нескольких таких методов для итератора.
- returns
пара итераторов
- Definition Classes
- Iterator
- Note
-
Реализация может выделять временное хранилище для элементов, итерируемых одним итератором, но ещё не другим.
,Переиспользование: После вызова этого метода необходимо удалить итератор, на котором он был вызван, и использовать только возвращенные итераторы. Использование старого итератора не определено, может измениться и может привести к изменениям в новых итераторах тоже.
def ensuring(cond: (IterableSplitter[T]) ⇒ Boolean, msg: ⇒ Any): IterableSplitter[T]
- Неявный
- Этот член добавлен неявным преобразованием из IterableSplitter[T] в Ensuring[IterableSplitter[T]] методом Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: (IterableSplitter[T]) ⇒ Boolean): IterableSplitter[T]
- Неявный
- Этот член добавлен неявным преобразованием из IterableSplitter[T] в Ensuring[IterableSplitter[T]] методом Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean, msg: ⇒ Any): IterableSplitter[T]
- Неявный
- Этот член добавлен неявным преобразованием из IterableSplitter[T] в Ensuring[IterableSplitter[T]] методом Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean): IterableSplitter[T]
- Неявный
- Этот член добавлен неявным преобразованием из IterableSplitter[T] в Ensuring[IterableSplitter[T]] методом Ensuring в scala.Predef.
- Definition Classes
- 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).
- returns
trueесли аргумент является ссылкой на объект-получатель;falseв противном случае.
- Definition Classes
- AnyRef
def equals(arg0: Any): Boolean
Метод равенства для ссылочных типов. Реализация по умолчанию делегирует вызов методу eq.
См. также equals в scala.Any.
- возвращает
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Классы определений
- AnyRef → Any
def exists(p: (T) ⇒ Boolean): Boolean
Проверяет, выполняется ли предикат для некоторых значений, производимых этим итератором.
Примечание: может не завершиться для бесконечных итераторов.
- p
предикат, используемый для проверки элементов.
- возвращает
trueесли данный предикатpвыполняется для некоторых значений, производимых этим итератором; в противном случаеfalse.
- Классы определений
- Iterator → TraversableOnce → GenTraversableOnce
- Примечание
Переиспользование: После вызова этого метода итератор, на котором он был вызван, следует удалить. Использование его в дальнейшем не определено и может измениться.
def filter(p: (T) ⇒ Boolean): Iterator[T]
Возвращает итератор по всем элементам этого итератора, удовлетворяющим предикату p. Порядок элементов сохраняется.
- p
предикат, используемый для проверки значений.
- возвращает
итератор, производящий те значения этого итератора, которые удовлетворяют предикату
p.
- Классы определений
- Iterator
- Примечание
Переиспользование: После вызова этого метода итератор, на котором он был вызван, следует удалить, используя только возвращённый итератор. Использование старого итератора не определено, может измениться, и может привести к изменениям в новом итераторе.
def filter2combiner[U >: T, This](pred: (T) ⇒ Boolean, cb: Combiner[U, This]): Combiner[U, This]
- Классы определений
- AugmentedIterableIterator
def filterNot(p: (T) ⇒ Boolean): Iterator[T]
Создаёт итератор по всем элементам этого итератора, которые не удовлетворяют предикату p.
- p
предикат, используемый для проверки значений.
- возвращает
итератор, производящий те значения этого итератора, которые не удовлетворяют предикату
p.
- Классы определений
- Iterator
- Примечание
Переиспользование: После вызова этого метода итератор, на котором он был вызван, следует удалить, используя только возвращённый итератор. Использование старого итератора не определено, может измениться, и может привести к изменениям в новом итераторе.
def filterNot2combiner[U >: T, This](pred: (T) ⇒ Boolean, cb: Combiner[U, This]): Combiner[U, This]
- Классы определений
- AugmentedIterableIterator
def finalize(): Unit
Вызывается сборщиком мусора для объекта-получателя, когда на объект больше нет ссылок.
Подробности о том, когда и если вызывается метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями, зависят от платформы.
- Атрибуты
- protected[lang]
- Классы определений
- AnyRef
- Аннотации
- @throws( classOf[java.lang.Throwable] )
- Примечание
не указано SLS как член AnyRef
def find(p: (T) ⇒ Boolean): Option[T]
Находит первое значение, производимое итератором, удовлетворяющее предикату, если таковое имеется.
Примечание: может не завершиться для бесконечных итераторов.
- p
предикат, используемый для проверки значений.
- возвращает
значение типа Option, содержащее первое значение, производимое итератором, которое удовлетворяет предикату
p, илиNoneесли таковое отсутствует.
- Классы определений
- Iterator → TraversableOnce → GenTraversableOnce
- Примечание
Переиспользование: После вызова этого метода итератор, на котором он был вызван, следует удалить. Использование его в дальнейшем не определено и может измениться.
def flatMap[B](f: (T) ⇒ GenTraversableOnce[B]): Iterator[B]
Создаёт новый итератор, применяя функцию ко всем значениям, производимым этим итератором, и конкатенируя результаты.
- f
функция, применяемая к каждому элементу.
- returns
итератор, полученный в результате применения данной функции, возвращающей итератор
fк каждому значению, производимому этим итератором, и конкатенации результатов.
- Definition Classes
- Iterator
- Note
Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.
def flatmap2combiner[S, That](f: (T) ⇒ GenTraversableOnce[S], cb: Combiner[S, That]): Combiner[S, That]
- Definition Classes
- AugmentedIterableIterator
def fold[U >: T](z: U)(op: (U, U) ⇒ U): U
Выполняет сжатие элементов этой последовательности или итератора с использованием указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Примечание: не завершится для бесконечных итераторов.
- z
нейтральный элемент для операции сжатия; может быть добавлен к результату произвольное количество раз и не должен изменять результат (например,
Nilдля конкатенации списков, 0 для сложения или 1 для умножения).- op
бинарный оператор, который должен быть ассоциативным.
- returns
результат применения оператора сжатия
opмежду всеми элементами иz, илиzесли эта последовательность или итератор пустые.
- Definition Classes
- AugmentedIterableIterator → TraversableOnce → GenTraversableOnce
def foldLeft[B](z: B)(op: (B, T) ⇒ 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: (T, 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: (T) ⇒ Boolean): Boolean
Проверяет, выполняется ли предикат для всех значений, производимых этим итератором.
Примечание: может не завершиться для бесконечных итераторов.
- p
предикат, используемый для проверки элементов.
- returns
trueесли данный предикатpвыполняется для всех значений, производимых этим итератором, иначеfalse.
- Definition Classes
- Iterator → TraversableOnce → GenTraversableOnce
- Note
Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван. Использование его не определено и может быть изменено.
def foreach(f: (T) ⇒ Unit): Unit
Применяет функцию f ко всем значениям, производимым этим итератором.
- f
функция, которая применяется для побочного эффекта к каждому элементу. Результат функции
fигнорируется.
- Definition Classes
- Iterator → TraversableOnce → GenTraversableOnce
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной строкой format. Форматные строки аналогичны String.format (@см. java.lang.String.format).
- Неявный
- Этот член добавлен неявным преобразованием из IterableSplitter[T] в StringFormat[IterableSplitter[T]] выполненным методом StringFormat в scala.Predef.
- Классы определений
- StringFormat
- Аннотации
- @inline()
final def getClass(): Class[_]
Возвращает представление класса во время выполнения объекта.
- возвращает
объект класса, соответствующий типу получателя во время выполнения.
def grouped[B >: T](size: Int): GroupedIterator[B]
Возвращает итератор, который группирует этот итератор в блоки фиксированного размера. Примеры использования:
// Returns List(List(1, 2, 3), List(4, 5, 6), List(7))) (1 to 7).iterator grouped 3 toList // Returns List(List(1, 2, 3), List(4, 5, 6)) (1 to 7).iterator grouped 3 withPartial false toList // Returns List(List(1, 2, 3), List(4, 5, 6), List(7, 20, 25) // Illustrating that withPadding's argument is by-name. val it2 = Iterator.iterate(20)(_ + 5) (1 to 7).iterator grouped 3 withPadding it2.next toList
- Классы определений
- Iterator
- Примечание
Повторное использование: после вызова этого метода следует удалить вызвавший его итератор и использовать только возвращённый итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе тоже.
def hasDefiniteSize: Boolean
Проверяет, имеет ли этот итератор известный размер.
- возвращает
trueдля пустых итераторов,falseв противном случае.
- Классы определений
- Iterator → TraversableOnce → GenTraversableOnce
- Примечание
Повторное использование: итератор остаётся допустимым для дальнейшего использования независимо от возвращаемого результата.
def hashCode(): Int
Метод hashCode для ссылочных типов. См. hashCode в scala.Any.
- возвращает
значение хэш-кода для этого объекта.
def indexFlag: Int
Возвращает значение флага индекса.
Флаг индекса содержит целое число, которое имеет определённый смысл, специфичный для операции. Например, операция takeWhile устанавливает флаг индекса в позицию элемента, где предикат терпит неудачу. Другие рабочие процессы могут проверить этот индекс относительно индексов, с которыми они работают, и возвратить результат, если этот индекс меньше их индекса. Примеры операций, использующих это, это takeWhile, dropWhile, span и indexOf.
- возвращает
значение флага индекса
- Классы определений
- DelegatedSignalling → Signalling
def indexOf[B >: T](elem: B, from: Int): Int
Возвращает индекс первого вхождения указанного объекта в этом итерируемом объекте после или в определённом начальном индексе.
Примечание: может не завершиться для бесконечных итераторов.
- elem
элемент для поиска.
- from
начальный индекс
- возвращает
индекс
>= fromпервого вхожденияelemв значения, производимые этим итератором, или -1, если такой элемент не существует до тех пор, пока не будет достигнут конец итератора.
- Классы определений
- Iterator
- Примечание
Повторное использование: после вызова этого метода следует удалить вызвавший его итератор. Использование его не определено и может измениться.
def indexOf[B >: T](elem: B): Int
Возвращает индекс первого вхождения указанного объекта в этом итерируемом объекте.
Примечание: может не завершиться для бесконечных итераторов.
- elem
элемент для поиска.
- возвращает
индекс первого вхождения
elemв значения, производимые этим итератором, или -1, если такой элемент не существует до тех пор, пока не будет достигнут конец итератора.
- Классы определений
- Iterator
- Примечание
Повторное использование: после вызова этого метода следует удалить вызвавший его итератор. Использование его не определено и может измениться.
def indexWhere(p: (T) ⇒ Boolean, from: Int): Int
Возвращает индекс первого значения, удовлетворяющего предикату, или -1, после или в определённом начальном индексе.
Примечание: может не завершиться для бесконечных итераторов.
- p
предикат для проверки значений
- from
начальный индекс
- возвращает
индекс
>= fromпервого значения, удовлетворяющегоp, или -1, если такого элемента не существует до тех пор, пока не будет достигнут конец итератора.
- Классы определений
- Iterator
- Примечание
Повторное использование: после вызова этого метода следует удалить вызвавший его итератор. Использование его не определено и может измениться.
def indexWhere(p: (T) ⇒ Boolean): Int
Возвращает индекс первого значения, удовлетворяющего предикату, или -1.
Примечание: может не завершиться для бесконечных итераторов.
- p
предикат для проверки значений
- возвращает
индекс первого значения, удовлетворяющего предикату
p, или -1, если такого элемента нет до конца итератора.
- Definition Classes
- Iterator
- Примечание
Повторное использование: После вызова этого метода нужно удалить вызываемый итератор. Использование не определено и может быть изменено.
def isAborted: Boolean
Проверяет, был ли выпущен сигнал прерывания.
Флаг прерывания, установленный в true, означает, что рабочий процесс может прерваться и произвести любой результат, так как его результат не повлияет на окончательный результат вычисления. Примеры операций, использующих это: find, forall и exists методы.
- возвращает
состояние прерывания
- Definition Classes
- DelegatedSignalling → Signalling
def isEmpty: Boolean
Проверяет, пуст ли этот итератор.
- возвращает
trueесли hasNext равно false,falseв противном случае.
- Definition Classes
- Iterator → TraversableOnce → GenTraversableOnce
- Примечание
Повторное использование: Итератор остается действительным для дальнейшего использования независимо от возвращаемого результата.
final def isInstanceOf[T0]: Boolean
Проверяет, является ли динамический тип объекта-получателя T0.
Обратите внимание, что результат проверки зависит от семантики стирания Scala. Следовательно, выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, поскольку тип аргумента стирается при компиляции, невозможно проверить, соответствуют ли элементы списка указанному типу.
- возвращает
trueесли объект-получатель является экземпляром стирания типаT0;falseв противном случае.
- Definition Classes
- Any
def isRemainingCheap: Boolean
Для большинства коллекций это быстрая операция. Исключения могут переопределять этот метод.
- Definition Classes
- RemainsIterator
def isTraversableAgain: Boolean
Проверяет, можно ли повторно пройтись по этому итератору.
- возвращает
false
- Definition Classes
- Iterator → GenTraversableOnce
- Примечание
Повторное использование: Итератор остается действительным для дальнейшего использования независимо от возвращаемого результата.
def length: Int
Возвращает количество элементов в этом итераторе.
Примечание: не завершится для бесконечных итераторов.
- Definition Classes
- Iterator
- Примечание
Повторное использование: После вызова этого метода нужно удалить вызываемый итератор. Использование не определено и может быть изменено.
def map[S](f: (T) ⇒ S): Mapped[S]
Создаёт новый итератор, отображающий все произведённые значения этого итератора на новые значения с помощью функции преобразования.
- f
функция преобразования
- возвращает
новый итератор, который преобразует каждое значение, произведённое этим итератором, применив функцию
fк нему.
- Definition Classes
- IterableSplitter → Iterator
- Примечание
Повторное использование: После вызова этого метода нужно удалить вызываемый итератор и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе тоже.
def map2combiner[S, That](f: (T) ⇒ S, cb: Combiner[S, That]): Combiner[S, That]
- Definition Classes
- AugmentedIterableIterator
def max: A
Находит наибольший элемент.
- возвращает
наибольший элемент этого обхода или итератора.
- Definition Classes
- AugmentedIterableIterator → TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationException, если этот обход или итератор пуст.
def maxBy[B](f: (A) ⇒ B): A
Находит первый элемент, который даёт наибольшее значение, измеряемое функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- возвращает
первый элемент этого итерируемого объекта или итератора с наибольшим значением, измеренным функцией f.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationException, если этот итерируемый объект или итератор пуст.
def min: A
Находит наименьший элемент.
- возвращает
наименьший элемент этого итерируемого объекта или итератора
- Определяющие классы
- AugmentedIterableIterator → TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationException, если этот итерируемый объект или итератор пуст.
def minBy[B](f: (A) ⇒ B): A
Находит первый элемент, который даёт наименьшее значение, измеряемое функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- возвращает
первый элемент этого итерируемого объекта или итератора с наименьшим значением, измеренным функцией f.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationException, если этот итерируемый объект или итератор пуст.
def mkString: String
Отображает все элементы этого итерируемого объекта или итератора в строке.
- возвращает
строковое представление этого итерируемого объекта или итератора. В результирующей строке строковые представления (относительно метода
toString) всех элементов этого итерируемого объекта или итератора следуют друг за другом без разделительной строки.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
def mkString(sep: String): String
Отображает все элементы этого итерируемого объекта или итератора в строке с использованием разделительной строки.
- sep
разделительная строка.
- возвращает
строковое представление этого итерируемого объекта или итератора. В результирующей строке строковые представления (относительно метода
toString) всех элементов этого итерируемого объекта или итератора разделены строкойsep.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
List(1, 2, 3).mkString("|") = "1|2|3"
def mkString(start: String, sep: String, end: String): String
Отображает все элементы этого итерируемого объекта или итератора в строке, используя начальную, конечную и разделительные строки.
- start
начальная строка.
- sep
разделительная строка.
- end
конечная строка.
- возвращает
строковое представление этого итерируемого объекта или итератора. Результирующая строка начинается со строки
startи заканчивается строкойend. Внутри строковые представления (относительно методаtoString) всех элементов этого итерируемого объекта или итератора разделены строкойsep.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"
final def ne(arg0: AnyRef): Boolean
Эквивалентно !(this eq that).
- возвращает
trueесли аргумент не является ссылкой на объект-приёмник;falseв противном случае.
- Определяющие классы
- AnyRef
def nonEmpty: Boolean
Проверяет, не является ли итерируемый объект или итератор пустым.
- возвращает
trueесли итерируемый объект или итератор содержит по крайней мере один элемент,falseв противном случае.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
final def notify(): Unit
Разбуживает одну нить, которая ожидает монитора объекта-приёмника.
- Определяющие классы
- AnyRef
- Аннотации
- @native()
- Примечание
не указано SLS как член AnyRef
final def notifyAll(): Unit
Разбуживает все нити, которые ожидают монитора объекта-приёмника.
- Определяющие классы
- AnyRef
- Аннотации
- @native()
- Примечание
не указано SLS как член AnyRef
def padTo(len: Int, elem: T): Iterator[T]
Добавляет значения элементов в этот итератор, пока не будет достигнута заданная целевая длина.
- len
целевая длина
- elem
значение для дополнения
- returns
новый итератор, содержащий все значения этого итератора, за которым следуют минимальное количество появлений
elem, чтобы количество сгенерированных значений было как минимумlen.
- Definition Classes
- Iterator
def partition(p: (T) ⇒ Boolean): (Iterator[T], Iterator[T])
Разделяет этот итератор на два итератора в соответствии с предикатом.
- p
предикат для разделения
- returns
пара итераторов: итератор, который удовлетворяет предикату
p, и итератор, который не удовлетворяет. Относительный порядок элементов в результирующих итераторах такой же, как и в исходном итераторе.
- Definition Classes
- Iterator
- Примечание
Переиспользование: После вызова этого метода необходимо отбросить итератор, на котором он был вызван, и использовать только возвращенные итераторы. Использование старого итератора не определено, может измениться и может привести к изменениям в новых итераторах.
def partition2combiners[U >: T, This](pred: (T) ⇒ Boolean, btrue: Combiner[U, This], bfalse: Combiner[U, This]): (Combiner[U, This], Combiner[U, This])
- Definition Classes
- AugmentedIterableIterator
def patch[B >: T](from: Int, patchElems: Iterator[B], replaced: Int): Iterator[B]
Возвращает этот итератор с изменёнными значениями. Замена по отрицательным индексам эквивалентна замене, начинающейся с 0. Замена по индексам, равным или большим длины исходного итератора, добавляет замену в конец. Если заменяется больше значений, чем фактически существует, избыток игнорируется.
- from
Начальный индекс для замены
- patchElems
Итератор значений замены
- replaced
Количество значений в исходном итераторе, которые заменяются заменой.
- Definition Classes
- Iterator
- Примечание
Переиспользование: После вызова этого метода необходимо отбросить итератор, на котором он был вызван, а также переданный в качестве параметра, и использовать только возвращенный итератор. Использование старых итераторов не определено, может измениться и может привести к изменениям в новом итераторе.
def product: A
Перемножает элементы этой коллекции.
- returns
произведение всех элементов в этом перебираемом объекте или итераторе чисел типа
Int. ВместоInt, может быть использован любой другой типTс неявной реализациейNumeric[T]в качестве типа элемента перебираемого объекта или итератора и как типа результатаproduct. Примеры таких типов:Long,Float,Double,BigInt.
- Definition Classes
- AugmentedIterableIterator → TraversableOnce → GenTraversableOnce
def reduce[U >: T](op: (U, U) ⇒ U): U
Сводит элементы этого перебираемого объекта или итератора, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определён и может быть недетерминированным.
- op
Бинарный оператор, который должен быть ассоциативным.
- returns
Результат применения оператора reduce
opмежду всеми элементами, если перебираемый объект или итератор не пуст.
- Definition Classes
- AugmentedIterableIterator → TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationException, если этот перебираемый объект или итератор пуст.
def reduceLeft[U >: T](howmany: Int, op: (U, U) ⇒ U): U
- Definition Classes
- AugmentedIterableIterator
def reduceLeft[B >: T](op: (B, T) ⇒ 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 >: T](op: (B, T) ⇒ B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этого итерируемого объекта или итератора слева направо.
Примечание: не будет завершаться для бесконечных коллекций.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
объект Option, содержащий результат
reduceLeft(op), если этот итерируемый объект или итератор не пуст;Noneв противном случае.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def reduceOption[A1 >: T](op: (A1, A1) ⇒ A1): Option[A1]
Сокращает элементы этого итерируемого объекта или итератора, если таковые имеются, с использованием указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
- A1
Параметр типа для бинарного оператора, сверхтип
A.- op
Бинарный оператор, который должен быть ассоциативным.
- returns
Объект Option, содержащий результат применения оператора reduce
opмежду всеми элементами, если коллекция не пуста, иNoneв противном случае.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def reduceRight[B >: T](op: (T, 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 >: T](op: (T, B) ⇒ B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этого итерируемого объекта или итератора справа налево.
Примечание: не будет завершаться для бесконечных коллекций.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
объект Option, содержащий результат
reduceRight(op), если этот итерируемый объект или итератор не пуст;Noneв противном случае.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def reversed: List[T]
- Attributes
- protected[this]
- Definition Classes
- TraversableOnce
def sameElements(that: Iterator[_]): Boolean
Проверяет, производит ли другой итератор те же значения, что и этот.
Примечание: не завершит работу для бесконечных итераторов.
- that
другой итератор
- returns
true, если оба итератора производят одни и те же элементы в том же порядке,falseв противном случае.
- Definition Classes
- Iterator
- Note
Использование: После вызова этого метода следует удалить итератор, на котором был вызван метод, а также переданный в качестве параметра. Использование старых итераторов не определено и может быть изменено.
def scanLeft[B](z: B)(op: (B, T) ⇒ B): Iterator[B]
Создаёт коллекцию, содержащую кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не завершит работу для бесконечных итераторов.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- B
тип элементов в результирующей коллекции
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- returns
итератор с промежуточными результатами
- Definition Classes
- Iterator
- Note
Использование: После вызова этого метода следует удалить итератор, на котором был вызван метод, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.
def scanRight[B](z: B)(op: (T, B) ⇒ B): Iterator[B]
Создаёт коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Первый элемент коллекции — последний кумулятивный результат.
Примечание: не завершит работу для бесконечных итераторов.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- B
тип элементов в результирующей коллекции
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- returns
итератор с промежуточными результатами
- Definition Classes
- Iterator
- Note
Использование: После вызова этого метода следует удалить итератор, на котором был вызван метод, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.
Iterator(1, 2, 3, 4).scanRight(0)(_ + _).toList == List(10, 9, 7, 4, 0)
def scanToArray[U >: T, A >: U](z: U, op: (U, U) ⇒ U, array: Array[A], from: Int): Unit
- Definition Classes
- AugmentedIterableIterator
def scanToCombiner[U >: T, That](howmany: Int, startValue: U, op: (U, U) ⇒ U, cb: Combiner[U, That]): Combiner[U, That]
- Definition Classes
- AugmentedIterableIterator
def scanToCombiner[U >: T, That](startValue: U, op: (U, U) ⇒ U, cb: Combiner[U, That]): Combiner[U, That]
- Definition Classes
- AugmentedIterableIterator
def seq: Iterator[T]
Версия этой коллекции со всеми операциями, реализованными последовательно (т.е. в однопоточном режиме).
Этот метод возвращает ссылку на эту коллекцию. В параллельных коллекциях он переопределён для возвращения последовательной реализации этой коллекции. В обоих случаях его сложность составляет O(1).
- returns
последовательный вид коллекции.
- Definition Classes
- Iterator → TraversableOnce → GenTraversableOnce
def setIndexFlag(f: Int): Unit
Устанавливает значение флага индекса.
Флаг индекса содержит целое число, имеющее определённый смысл, специфичный для операции. Например, операция takeWhile устанавливает флаг индекса в позицию элемента, где предикат возвращает ложь. Другие рабочие процессы могут проверять этот индекс по отношению к индексам, с которыми они работают, и возвращать значение, если этот индекс меньше их индекса. Примеры операций, использующих это, — takeWhile, dropWhile, span и indexOf.
- f
значение, на которое устанавливается флаг индекса.
- Definition Classes
- DelegatedSignalling → Signalling
def setIndexFlagIfGreater(f: Int): Unit
Устанавливает значение флага индекса, если аргумент больше текущего значения. Этот метод выполняет это атомарно.
Флаг индекса содержит целое число, имеющее определённый смысл, специфичный для операции. Например, операция takeWhile устанавливает флаг индекса в позицию элемента, где предикат возвращает ложь. Другие рабочие процессы могут проверять этот индекс по отношению к индексам, с которыми они работают, и возвращать значение, если этот индекс меньше их индекса. Примеры операций, использующих это, — takeWhile, dropWhile, span и indexOf.
- f
значение, на которое устанавливается флаг индекса
- Definition Classes
- DelegatedSignalling → Signalling
def setIndexFlagIfLesser(f: Int): Unit
Устанавливает значение флага индекса, если аргумент меньше текущего значения. Этот метод выполняет это атомарно.
Флаг индекса содержит целое число, имеющее определённый смысл, специфичный для операции. Например, операция takeWhile устанавливает флаг индекса в позицию элемента, где предикат возвращает ложь. Другие рабочие процессы могут проверять этот индекс по отношению к индексам, с которыми они работают, и возвращать значение, если этот индекс меньше их индекса. Примеры операций, использующих это, — takeWhile, dropWhile, span и indexOf.
- f
значение, на которое устанавливается флаг индекса
- Definition Classes
- DelegatedSignalling → Signalling
def shouldSplitFurther[S](coll: ParIterable[S], parallelismLevel: Int): Boolean
val signalDelegate: Signalling
Делегат, которому перенаправляются вызовы методов.
- Definition Classes
- IterableSplitter → DelegatedSignalling
def size: Int
Размер этого итерируемого объекта или итератора.
Примечание: не будет завершаться для коллекций бесконечного размера.
- returns
количество элементов в этом итерируемом объекте или итераторе.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def sizeHintIfCheap: Int
Размер этой коллекции или итератора, если он может быть вычислен быстро
- returns
количество элементов в этой коллекции или итераторе, или -1, если размер нельзя определить быстро
- Attributes
- protected[collection]
- Definition Classes
- GenTraversableOnce
def slice(from1: Int, until1: Int): IterableSplitter[T]
Создаёт итератор, возвращающий интервал значений, производимых этим итератором.
- returns
итератор, который продвигает этот итератор мимо первых
fromэлементов с помощьюdrop, а затем берётuntil - fromэлементов, используяtake.
- Definition Classes
- IterableSplitter → Iterator
- Note
Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе также.
def slice2combiner[U >: T, This](from: Int, until: Int, cb: Combiner[U, This]): Combiner[U, This]
- Definition Classes
- AugmentedIterableIterator
def sliceIterator(from: Int, until: Int): Iterator[T]
Создаёт необязательно ограниченный срез, неограниченный, если until отрицательно.
- Attributes
- protected
- Definition Classes
- Iterator
def sliding[B >: T](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.
- Definition Classes
- Iterator
- Примечание
Переиспользование: после вызова этого метода следует удалить итератор, на котором был вызван этот метод, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе тоже.
def span(p: (T) ⇒ Boolean): (Iterator[T], Iterator[T])
Разделяет этот итератор на пару префикс/суффикс в соответствии с предикатом.
- p
предикат проверки
- returns
пара итераторов, состоящая из самого длинного префикса этого, элементы которого удовлетворяют
p, и остальной части итератора.
- Definition Classes
- Iterator
- Примечание
Переиспользование: после вызова этого метода следует удалить итератор, на котором был вызван этот метод, и использовать только возвращённые итераторы. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новых итераторах тоже.
def span2combiners[U >: T, This](p: (T) ⇒ Boolean, before: Combiner[U, This], after: Combiner[U, This]): (Combiner[U, This], Combiner[U, This])
- Definition Classes
- AugmentedIterableIterator
def splitAt2combiners[U >: T, This](at: Int, before: Combiner[U, This], after: Combiner[U, This]): (Combiner[U, This], Combiner[U, This])
- Definition Classes
- AugmentedIterableIterator
def splitWithSignalling: scala.Seq[IterableSplitter[T]]
def sum: A
Суммирует элементы этой коллекции.
- returns
сумма всех элементов в этом перечислимом или итераторе чисел типа
Int. ВместоInt, может использоваться любой другой типTс неявнымNumeric[T]реализацией, который может использоваться в качестве типа элементов перечислимого или итератора и в качестве типа результатаsum. Примерами таких типов являются:Long,Float,Double,BigInt.
- Definition Classes
- AugmentedIterableIterator → TraversableOnce → GenTraversableOnce
final def synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
def tag: Int
Только для чтения тег, специфичный для объекта сигнализации. Используется для предоставления конкретным рабочим информации о части коллекции, над которой производится работа.
- Definition Classes
- DelegatedSignalling → Signalling
def take(n: Int): IterableSplitter[T]
Выбирает первые n значений этого итератора.
- n
количество значений для взятия
- returns
итератор, генерирующий только первые
nзначения этого итератора, или же весь итератор, если он генерирует меньше, чемnзначений.
- Definition Classes
- IterableSplitter → Iterator
- Примечание
Повторное использование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.
def take2combiner[U >: T, This](n: Int, cb: Combiner[U, This]): Combiner[U, This]
- Definition Classes
- AugmentedIterableIterator
def takeWhile(p: (T) ⇒ Boolean): Iterator[T]
Взять самый длинный префикс значений, производимых этим итератором, которые удовлетворяют предикату.
- p
Предикат для проверки элементов.
- returns
Итератор, возвращающий значения, производимые этим итератором, до тех пор, пока этот итератор не произведёт значение, которое не удовлетворяет предикату
p.
- Definition Classes
- Iterator
- Примечание
Повторное использование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.
def takeWhile2combiner[U >: T, This](p: (T) ⇒ Boolean, cb: Combiner[U, This]): (Combiner[U, This], Boolean)
- Definition Classes
- AugmentedIterableIterator
def to[Col[_]]: Col[A]
Преобразует этот итератор или последовательность в другую, копируя все элементы.
Примечание: не будет завершаться для бесконечных итераторов.
- Col
Тип коллекции для построения.
- returns
новая коллекция, содержащая все элементы этого итератора или последовательности.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toArray: Array[A]
Преобразует эту последовательность или итератор в массив.
Примечание: не будет завершаться для бесконечных итераторов.
- returns
массив, содержащий все элементы этой последовательности или итератора. Должен быть доступен
ClassTagдля типа элемента этой последовательности или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toBuffer[B >: T]: Buffer[B]
Использует содержимое этой последовательности или итератора для создания нового изменяемого буфера.
Примечание: не будет завершаться для бесконечных коллекций.
- returns
буфер, содержащий все элементы этой последовательности или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toIndexedSeq: immutable.IndexedSeq[T]
Преобразует эту последовательность или итератор в индексированную последовательность.
Примечание: не будет завершаться для бесконечных коллекций.
- returns
индексированная последовательность, содержащая все элементы этой последовательности или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toIterable: Iterable[T]
Преобразует эту последовательность или итератор в коллекцию типа Iterable. Обратите внимание, что выбор целевого Iterable ленивый в этом стандартном реализации, так как этот TraversableOnce может быть ленивым и невычисленным (т.е. это может быть итератор, который может быть пройден только один раз).
Примечание: не будет завершаться для бесконечных коллекций.
- returns
коллекция типа Iterable, содержащая все элементы этой последовательности или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toIterator: Iterator[T]
Возвращает итератор по элементам в этом перебираемом объекте или итераторе. Вернет тот же итератор, если этот экземпляр уже является итератором.
Примечание: не будет завершаться для бесконечных итераторов.
- returns
итератор, содержащий все элементы этого перебираемого объекта или итератора.
- Definition Classes
- Iterator → GenTraversableOnce
def toList: List[T]
Преобразует этот перебираемый объект или итератор в список.
Примечание: не будет завершаться для коллекций бесконечного размера.
- 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 toParArray: ParArray[T]
- Неявный
- Этот член добавлен с помощью неявного преобразования из IterableSplitter[T] в CollectionsHaveToParArray[IterableSplitter[T], T] выполняемого методом CollectionsHaveToParArray в scala.collection.parallel. Это преобразование будет выполнено только в том случае, если неявное значение типа (IterableSplitter[T]) ⇒ GenTraversableOnce[T] находится в области видимости.
- Definition Classes
- CollectionsHaveToParArray
def toSeq: Seq[T]
Преобразует этот перебираемый объект или итератор в последовательность. Как и toIterable, он ленивый в этом стандартном реализации, так как этот TraversableOnce может быть ленивым и невычисленным.
Примечание: не будет завершаться для коллекций бесконечного размера.
- returns
последовательность, содержащая все элементы этого перебираемого объекта или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toSet[B >: T]: immutable.Set[B]
Преобразует этот перебираемый объект или итератор в множество.
Примечание: не будет завершаться для коллекций бесконечного размера.
- returns
множество, содержащее все элементы этого перебираемого объекта или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toStream: immutable.Stream[T]
Преобразует этот перебираемый объект или итератор в поток.
- returns
поток, содержащий все элементы этого перебираемого объекта или итератора.
- Definition Classes
- Iterator → GenTraversableOnce
def toString(): String
Преобразует этот итератор в строку.
- returns
"<iterator>"пуст или нет итератор.
def toTraversable: Traversable[T]
Преобразует этот перебираемый объект или итератор в неопределяемый Traversable. Вернет ту же коллекцию, если этот экземпляр уже является Traversable.
Примечание: не будет завершаться для бесконечных итераторов.
- returns
Traversable, содержащий все элементы этого перебираемого объекта или итератора.
- Definition Classes
- Iterator → TraversableOnce → GenTraversableOnce
def toVector: Vector[T]
Преобразует этот перебираемый объект или итератор в вектор.
Примечание: не будет завершаться для коллекций бесконечного размера.
- returns
вектор, содержащий все элементы этого перебираемого объекта или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
final def wait(): Unit
- Классы-определения
- AnyRef
- Аннотации
- @throws( ... )
final def wait(arg0: Long, arg1: Int): Unit
- Классы-определения
- AnyRef
- Аннотации
- @throws( ... )
final def wait(arg0: Long): Unit
def withFilter(p: (T) ⇒ Boolean): Iterator[T]
Создаёт итератор, содержащий все элементы текущего итератора, удовлетворяющие предикату. Порядок элементов сохраняется.
Примечание: withFilter эквивалентно filter для итераторов. Оно существует для того, чтобы выражения for с фильтрами работали над итераторами.
- p
предикат для проверки значений.
- возвращает
итератор, производящий те значения текущего итератора, которые удовлетворяют предикату
p.
- Классы-определения
- Iterator
- Примечание
Переиспользование: После вызова этого метода следует удалить вызываемый итератор и использовать только возвращённый итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе.
def zip[B](that: Iterator[B]): Iterator[(T, B)]
Создаёт итератор, объединяя соответствующие значения пар из двух итераторов. Если один из итераторов длиннее другого, его оставшиеся элементы игнорируются.
- that
Итератор, предоставляющий вторую половину каждой пары результата
- возвращает
новый итератор, содержащий пары, состоящие из соответствующих элементов текущего итератора и
that. Количество элементов, возвращаемых новым итератором, равно минимальному количеству элементов, возвращаемых текущим итератором иthat.
- Классы-определения
- Iterator
- Примечание
Переиспользование: После вызова этого метода следует удалить вызываемый итератор, а также переданный в качестве параметра итератор, и использовать только возвращённый итератор. Использование старых итераторов не определено, может измениться и может привести к изменениям в новом итераторе.
def zip2combiner[U >: T, S, That](otherpit: RemainsIterator[S], cb: Combiner[(U, S), That]): Combiner[(U, S), That]
- Классы-определения
- AugmentedIterableIterator
def zipAll[B](that: Iterator[B], thisElem: T, thatElem: B): Iterator[(T, B)]
Создаёт итератор, объединяя соответствующие элементы пар из двух итераторов. Если один из итераторов короче другого, для расширения более короткого итератора используются заполнители.
- that
итератор
thatможет иметь другую длину по сравнению с текущим итератором.- thisElem
элемент
thisElemиспользуется для заполнения результирующего итератора, если текущий итератор корочеthat- thatElem
элемент
thatElemиспользуется для заполнения результирующего итератора, еслиthatкороче текущего итератора- возвращает
новый итератор, содержащий пары, состоящие из соответствующих значений текущего итератора и
that. Длина возвращаемого итератора равна максимальной из длин текущего итератора иthat. Если текущий итератор корочеthat, для дополнения результата используются значенияthisElem. Еслиthatкороче текущего итератора, для дополнения результата используются значенияthatElem.
- Классы-определения
- Iterator
def zipAll2combiner[U >: T, S, That](that: RemainsIterator[S], thiselem: U, thatelem: S, cb: Combiner[(U, S), That]): Combiner[(U, S), That]
- Определяющие классы
- AugmentedIterableIterator
def zipAllParSeq[S, U >: T, R >: S](that: SeqSplitter[S], thisElem: U, thatElem: R): ZippedAll[U, R]
def zipParSeq[S](that: SeqSplitter[S]): Zipped[S]
def zipWithIndex: Iterator[(T, Int)]
Создаёт итератор, который сопоставляет каждый элемент, производимый этим итератором, с его индексом, считая с 0.
- возвращает
новый итератор, содержащий пары, состоящие из соответствующих элементов этого итератора и их индексов.
- Определяющие классы
- Iterator
- Примечание
Переиспользование: После вызова этого метода нужно выбросить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора неопределённо, может измениться и может привести к изменениям в новом итераторе также.
def →[B](y: B): (IterableSplitter[T], B)
- Неявный
- Этот член добавляется неявным преобразованием из IterableSplitter[T] в ArrowAssoc[IterableSplitter[T]] через метод ArrowAssoc в scala.Predef.
- Определяющие классы
- ArrowAssoc
Затенённые неявные члены значения
def filter(p: (T) ⇒ Boolean): TraversableOnce[T]
- Неявный
- Этот член добавлен с помощью неявного преобразования из IterableSplitter[T] в MonadOps[T], выполненного методом MonadOps в scala.collection.TraversableOnce.
- Затенение
- Этот неявный унаследованный член затенено одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:(iterableSplitter: MonadOps[T]).filter(p)
- Классы определения
- MonadOps
def flatMap[B](f: (T) ⇒ GenTraversableOnce[B]): TraversableOnce[B]
- Неявный
- Этот член добавлен с помощью неявного преобразования из IterableSplitter[T] в MonadOps[T], выполненного методом MonadOps в scala.collection.TraversableOnce.
- Затенение
- Этот неявный унаследованный член затенено одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:(iterableSplitter: MonadOps[T]).flatMap(f)
- Классы определения
- MonadOps
def map[B](f: (T) ⇒ B): TraversableOnce[B]
- Неявный
- Этот член добавлен с помощью неявного преобразования из IterableSplitter[T] в MonadOps[T], выполненного методом MonadOps в scala.collection.TraversableOnce.
- Затенение
- Этот неявный унаследованный член затенено одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:(iterableSplitter: MonadOps[T]).map(f)
- Классы определения
- MonadOps
def withFilter(p: (T) ⇒ Boolean): Iterator[T]
- Неявный
- Этот член добавлен с помощью неявного преобразования из IterableSplitter[T] в MonadOps[T], выполненного методом MonadOps в scala.collection.TraversableOnce.
- Затенение
- Этот неявный унаследованный член затенено одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:(iterableSplitter: MonadOps[T]).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/parallel/IterableSplitter.html
Параллельные итераторы позволяют разделение и предоставляют метод
remaining, чтобы получить количество элементов, оставшихся в итераторе.тип элементов, по которым выполняется итерация.