Spec-Zone.ru › Scala 2.12 Library

Класс scala.collection.parallel.immutable.ParRange

Объект-компаньон object ParRange

класс ParRange extends ParSeq[Int] with Serializable

Параллельные диапазоны.

Это базовый трайт для параллельных коллекций Scala. Он определяет поведение, общее для всех параллельных коллекций. Конкретные параллельные коллекции должны унаследовать этот трайт и ParIterable, если они хотят определить собственные фабрики комбайнеров.

Параллельные операции реализованы с помощью алгоритмов «разделяй и властвуй», которые хорошо параллелизуются. Основная идея заключается в делении коллекции на меньшие части до тех пор, пока они не станут достаточно маленькими для последовательной обработки.

Все параллельные операции реализуются как задачи в этом трайте. Задачи полагаются на концепцию разделителей, которые расширяют итераторы. Каждая параллельная коллекция определяет:

def splitter: IterableSplitter[T]

которая возвращает экземпляр IterableSplitter[T], который является подтипом Splitter[T]. Разделители имеют метод remaining для проверки оставшегося числа элементов и метод split, который определён разделителями. Метод split делит итераторы разделителей на непересекающиеся подмножества:

def split: Seq[Splitter]

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

Задачи планируются на выполнение с помощью объекта scala.collection.parallel.TaskSupport, который можно изменить через tasksupport коллекций.

Метод newCombiner создаёт новый комбайнер. Комбайнеры являются расширением билдеров. Они предоставляют метод combine, который объединяет два комбайнера и возвращает комбайнер, содержащий элементы обоих комбайнеров. Этот метод можно реализовать, агрессивно копируя все элементы в новый комбайнер, или же с помощью ленивой привязки их результатов. Рекомендуется избегать копирования всех элементов для повышения производительности, хотя эта стоимость может быть незначительной в зависимости от конкретного случая. Стандартные параллельные комбайнеры коллекций избегают копирования при слиянии результатов, опираясь на либо двухуровневую ленивую конструкцию, либо на свойства конкретной структуры данных.

Методы:

def seq: Sequential
def par: Repr

соответственно генерируют последовательную или параллельную реализацию коллекции. Метод par просто возвращает ссылку на эту параллельную коллекцию. Метод seq является эффективным — он не копирует элементы. Вместо этого он создаёт последовательную версию коллекции, используя ту же базовую структуру данных. Обратите внимание, что это не всегда верно для последовательных коллекций — они могут копировать элементы и создавать другую базовую структуру данных.

Сочетание методов toMap, toSeq или toSet вместе с par и seq — гибкий способ переключения между различными типами коллекций.

Поскольку этот трайт расширяет GenIterable трайт, методы, такие как size, также должны быть реализованы в конкретных коллекциях, в то время как iterator по умолчанию перенаправляется на splitter.

Каждая параллельная коллекция связана с конкретным пулом fork/join, в котором хранятся спящие потоки-рабочие. Пул fork/join содержит другую информацию, например, уровень параллелизма, то есть количество процессоров, используемых. При создании коллекции ей назначается пул fork/join по умолчанию, найденный в scala.parallel пакете.

Параллельные коллекции не обязательно упорядочены в отношении операции foreach (см. Traversable). Параллельные последовательности имеют чётко определённый порядок для итераторов — создание итератора и линейное прохождение элементов всегда даст тот же порядок. Однако массовые операции, такие как foreach, map или filter, всегда выполняются в неопределённом порядке для всех параллельных коллекций.

Существующие реализации параллельных коллекций обеспечивают строгие параллельные итераторы. Строгие параллельные итераторы знают количество элементов, которые им ещё предстоит обработать. Также возможно предоставить нестрогие параллельные итераторы, которые не знают количество оставшихся элементов. Для этого новая реализация коллекции должна переопределить isStrictSplitterCollection в false. Это сделает некоторые операции недоступными.

Чтобы создать новую параллельную коллекцию, расширьте трайт ParIterable и реализуйте size, splitter, newCombiner и seq. Для использования неявной фабрики комбайнеров необходимо также расширить этот трайт и предоставить объект-компаньон, как и для обычных коллекций.

Метод size реализован как операция постоянного времени для параллельных коллекций, и параллельные операции коллекций полагаются на это предположение.

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

Тип-«self»
ParRange
Аннотации
@SerialVersionUID()
Источник
ParRange.scala
С

2.9

См. также

Обзор библиотеки параллельных коллекций Scala раздел по ParRange для получения дополнительной информации.

Линейные Супертипы

Конструкторы экземпляров

новый ParRange(range: immutable.Range)

range

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

Члены типа

класс Aggregate[S] extends Accessor[S, Aggregate[S]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

тракт BuilderOps[Elem, To] extends AnyRef

Определяющие классы
ParIterableLike

класс Collect[S, That] extends Transformer[Combiner[S, That], Collect[S, That]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

абстрактный класс Composite[FR, SR, R, First <: StrictSplitterCheckTask[FR, _], Second <: StrictSplitterCheckTask[SR, _]] extends NonDivisibleTask[R, Composite[FR, SR, R, First, Second]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс Copy[U >: T, That] extends Transformer[Combiner[U, That], Copy[U, That]]

Атрибуты
protected
Определяющие классы
ParIterableLike

класс CopyToArray[U >: T, This >: Repr] extends Accessor[Unit, CopyToArray[U, This]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс Count extends Accessor[Int, Count]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс CreateScanTree[U >: T] extends Transformer[ScanTree[U], CreateScanTree[U]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс Drop[U >: T, This >: Repr] extends Transformer[Combiner[U, This], Drop[U, This]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс Exists extends Accessor[Boolean, Exists]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс Filter[U >: T, This >: Repr] extends Transformer[Combiner[U, This], Filter[U, This]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс FilterNot[U >: T, This >: Repr] extends Transformer[Combiner[U, This], FilterNot[U, This]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс Find[U >: T] extends Accessor[Option[U], Find[U]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс FlatMap[S, That] extends Transformer[Combiner[S, That], FlatMap[S, That]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс Fold[U >: T] extends Accessor[U, Fold[U]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс Forall extends Accessor[Boolean, Forall]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс Foreach[S] extends Accessor[Unit, Foreach[S]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс FromScanTree[U >: T, That] extends StrictSplitterCheckTask[Combiner[U, That], FromScanTree[U, That]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс GroupBy[K, U >: T] extends Transformer[HashMapCombiner[K, U], GroupBy[K, U]]

Атрибуты
protected[this]
Классы-определения
ParIterableLike

класс Map[S, That] extends Transformer[Combiner[S, That], Map[S, That]]

Атрибуты
protected[this]
Классы-определения
ParIterableLike

класс Max[U >: T] extends Accessor[Option[U], Max[U]]

Атрибуты
protected[this]
Классы-определения
ParIterableLike

класс Min[U >: T] extends Accessor[Option[U], Min[U]]

Атрибуты
protected[this]
Классы-определения
ParIterableLike

тракт NonDivisible[R] extends NonDivisibleTask[R, NonDivisible[R]]

Атрибуты
protected[this]
Классы-определения
ParIterableLike

тракт NonDivisibleTask[R, Tp] extends StrictSplitterCheckTask[R, Tp]

Атрибуты
protected[this]
Классы-определения
ParIterableLike

абстрактный класс ParComposite[FR, SR, R, First <: StrictSplitterCheckTask[FR, _], Second <: StrictSplitterCheckTask[SR, _]] extends Composite[FR, SR, R, First, Second]

Выполняет две задачи параллельно и ждёт завершения обеих.

Атрибуты
protected[this]
Классы-определения
ParIterableLike

класс Partition[U >: T, This >: Repr] extends Transformer[(Combiner[U, This], Combiner[U, This]), Partition[U, This]]

Атрибуты
protected[this]
Классы-определения
ParIterableLike

класс Product[U >: T] extends Accessor[U, Product[U]]

Атрибуты
protected[this]
Классы-определения
ParIterableLike

класс Reduce[U >: T] extends Accessor[Option[U], Reduce[U]]

Атрибуты
protected[this]
Классы-определения
ParIterableLike

абстрактный класс ResultMapping[R, Tp, R1] extends NonDivisibleTask[R1, ResultMapping[R, Tp, R1]]

Атрибуты
protected[this]
Классы-определения
ParIterableLike

служебный класс ScanLeaf[U >: T](pit: IterableSplitter[U], op: (U, U) ⇒ U, from: Int, len: Int, prev: Option[ScanLeaf[U]], acc: U) extends ScanTree[U] with scala.Product with Serializable

Атрибуты
protected[this]
Классы-определения
ParIterableLike

служебный класс ScanNode[U >: T](left: ScanTree[U], right: ScanTree[U]) extends ScanTree[U] with scala.Product with Serializable

Атрибуты
protected[this]
Классы-определения
ParIterableLike

тракт ScanTree[U >: T] extends AnyRef

Атрибуты
protected[this]
Классы-определения
ParIterableLike

абстрактный класс SeqComposite[FR, SR, R, First <: StrictSplitterCheckTask[FR, _], Second <: StrictSplitterCheckTask[SR, _]] extends Composite[FR, SR, R, First, Second]

Последовательно выполняет одну задачу за другой.

Атрибуты
protected[this]
Классы-определения
ParIterableLike

тракт SignallingOps[PI <: DelegatedSignalling] extends AnyRef

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

класс Slice[U >: T, This >: Repr] extends Transformer[Combiner[U, This], Slice[U, This]]

Атрибуты
protected[this]
Классы определений
ParIterableLike

класс Span[U >: T, This >: Repr] extends Transformer[(Combiner[U, This], Combiner[U, This]), Span[U, This]]

Атрибуты
protected[this]
Классы определений
ParIterableLike

класс SplitAt[U >: T, This >: Repr] extends Transformer[(Combiner[U, This], Combiner[U, This]), SplitAt[U, This]]

Атрибуты
protected[this]
Классы определений
ParIterableLike

тракт StrictSplitterCheckTask[R, Tp] extends Task[R, Tp]

Атрибуты
protected
Классы определений
ParIterableLike

класс Sum[U >: T] extends Accessor[U, Sum[U]]

Атрибуты
protected[this]
Классы определений
ParIterableLike

класс Take[U >: T, This >: Repr] extends Transformer[Combiner[U, This], Take[U, This]]

Атрибуты
protected[this]
Классы определений
ParIterableLike

класс TakeWhile[U >: T, This >: Repr] extends Transformer[(Combiner[U, This], Boolean), TakeWhile[U, This]]

Атрибуты
protected[this]
Классы определений
ParIterableLike

тракт TaskOps[R, Tp] extends AnyRef

Классы определений
ParIterableLike

класс ToParCollection[U >: T, That] extends Transformer[Combiner[U, That], ToParCollection[U, That]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс ToParMap[K, V, That] extends Transformer[Combiner[(K, V), That], ToParMap[K, V, That]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

класс ZipAll[U >: T, S, That] extends Transformer[Combiner[(U, S), That], ZipAll[U, S, That]]

Атрибуты
protected[this]
Определяющие классы
ParIterableLike

тракт Accessor[R, Tp] extends ParSeqLike.Accessor[R, Tp]

Атрибуты
protected
Определяющие классы
ParSeqLike

класс Corresponds[S] extends Accessor[Boolean, Corresponds[S]]

Атрибуты
protected[this]
Определяющие классы
ParSeqLike

абстрактный класс Elements extends SeqSplitter[T] with scala.BufferedIterator[T]

Используется для итерации элементов с помощью индексов

Атрибуты
protected
Определяющие классы
ParSeqLike

класс IndexWhere extends Accessor[Int, IndexWhere]

Атрибуты
protected[this]
Определяющие классы
ParSeqLike

класс LastIndexWhere extends Accessor[Int, LastIndexWhere]

Атрибуты
protected[this]
Определяющие классы
ParSeqLike

класс Reverse[U >: T, This >: Repr] extends Transformer[Combiner[U, This], Reverse[U, This]]

Атрибуты
protected[this]
Определяющие классы
ParSeqLike

класс ReverseMap[S, That] extends Transformer[Combiner[S, That], ReverseMap[S, That]]

Атрибуты
protected[this]
Определяющие классы
ParSeqLike

класс SameElements[U >: T] extends Accessor[Boolean, SameElements[U]]

Атрибуты
protected[this]
Определяющие классы
ParSeqLike

класс SegmentLength extends Accessor[(Int, Boolean), SegmentLength]

Атрибуты
protected[this]
Определяющие классы
ParSeqLike

тракт Transformer[R, Tp] extends Accessor[R, Tp] with ParSeqLike.Transformer[R, Tp]

Атрибуты
protected
Определяющие классы
ParSeqLike

класс Updated[U >: T, That] extends Transformer[Combiner[U, That], Updated[U, That]]

Атрибуты
protected[this]
Определяющие классы
ParSeqLike

класс Zip[U >: T, S, That] extends Transformer[Combiner[(U, S), That], Zip[U, S, That]]

Атрибуты
protected[this]
Определяющие классы
ParSeqLike

класс ParRangeIterator extends SeqSplitter[Int]

тип SSCTask[R, Tp] = StrictSplitterCheckTask[R, Tp]

Определяющие классы
ParIterableLike

тип SuperParIterator = IterableSplitter[Int]

Атрибуты
protected[this]
Определяющие классы
ParSeqLike

Члены-значения

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

Неявный
Этот член добавлен неявным преобразованием из ParRange в any2stringadd[ParRange] через метод any2stringadd в scala.Predef.
Определяющие классы
any2stringadd

def ++[U >: Int, That](that: GenTraversableOnce[U])(implicit bf: CanBuildFrom[ParSeq[Int], U, That]): That

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

That

класс возвращаемой коллекции. По возможности, That — это тот же класс, что и текущий класс коллекции Repr, но это зависит от типа элемента B, который должен быть допустим для этого класса, что означает, что найдено неявное значение типа CanBuildFrom[Repr, B, That].

that

итерируемый объект для добавления.

bf

неявное значение класса CanBuildFrom, которое определяет класс результата That из текущего типа представления Repr и нового типа элемента B.

возвращает

новая коллекция типа That, которая содержит все элементы этого параллельного итерируемого объекта, за которыми следуют все элементы that.

Определяющие классы
ParIterableLike → GenTraversableLike

def +:(elem: A): ParRange[A]

[use case]

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

Обратите внимание, что операторы, заканчивающиеся двоеточием, ассоциативны справа (см. пример). Мемоническое правило для +: против :+: двоеточие идёт к стороне коллекции.

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

Пример:

scala> val x = List(1)
x: List[Int] = List(1)

scala> val y = 2 +: x
y: List[Int] = List(2, 1)

scala> println(x)
List(1)
elem

элемент, добавляемый в начало

возвращает

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

Определяющие классы
ParSeqLike → GenSeqLike
Полная подпись

def ->[B](y: B): (ParRange, B)

Неявный
Этот член добавлен неявным преобразованием из ParRange в ArrowAssoc[ParRange] через метод ArrowAssoc в scala.Predef.
Определяющие классы
ArrowAssoc
Аннотации
@inline()

def /:[S](z: S)(op: (S, Int) ⇒ S): S

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

Примечание: /: — это альтернативная синтаксическая форма 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

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

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

z

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

op

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

возвращает

результат вставки op между последовательными элементами этого параллельного итерируемого объекта слева направо с начальным значением z слева:

op(...op(op(z, x_1), x_2), ..., x_n)

где x1, ..., xn — это элементы этого параллельного итерируемого объекта.

Определяющие классы
ParIterableLike → GenTraversableOnce

def :+(elem: A): ParRange[A]

[use case]

A copy of this immutable parallel range with an element appended.

A mnemonic for +: vs. :+ is: the COLon goes on the COLlection side.

Note: will not terminate for infinite-sized collections.

Example:

scala> val a = List(1)
a: List[Int] = List(1)

scala> val b = a :+ 2
b: List[Int] = List(1, 2)

scala> println(a)
List(1)
elem

the appended element

returns

a new immutable parallel range consisting of all elements of this immutable parallel range followed by elem.

Definition Classes
ParSeqLike → GenSeqLike
Full Signature

def :\[S](z: S)(op: (Int, S) ⇒ S): S

Applies a binary operator to all elements of this parallel iterable and a start value, going right to left.

Note: :\ is alternate syntax for foldRight; xs :\ z is the same as xs foldRight z.

Note: will not terminate for infinite-sized collections.

Note: might return different results for different runs, unless the underlying collection type is ordered. or the operator is associative and commutative.

Examples:

Note that the folding function used to compute b is equivalent to that used to compute 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
z

the start value

op

the binary operator

returns

the result of inserting op between consecutive elements of this parallel iterable, going right to left with the start value z on the right:

op(x_1, op(x_2, ... op(x_n, z)...))

where x1, ..., xn are the elements of this parallel iterable.

Definition Classes
ParIterableLike → GenTraversableOnce

final def ==(arg0: Any): Boolean

The expression x == that is equivalent to if (x eq null) that eq null else x.equals(that).

returns

true if the receiver object is equivalent to the argument; false otherwise.

Definition Classes
AnyRef → Any

def aggregate[S](z: ⇒ S)(seqop: (S, Int) ⇒ S, combop: (S, S) ⇒ S): S

Aggregates the results of applying an operator to subsequent elements.

This is a more general form of fold and reduce. It has similar semantics, but does not require the result to be a supertype of the element type. It traverses the elements in different partitions sequentially, using seqop to update the result, and then applies combop to results from different partitions. The implementation of this operation may operate on an arbitrary number of collection partitions, so combop may be invoked arbitrary number of times.

For example, one might want to process some elements and then produce a Set. In this case, seqop would process an element and append it to the set, while combop would concatenate two sets from different partitions together. The initial value z would be an empty set.

pc.aggregate(Set[Int]())(_ += process(_), _ ++ _)

Another example is calculating geometric mean from a collection of doubles (one would typically require big doubles for this).

S

the type of accumulated results

z

the initial value for the accumulated result of the partition - this will typically be the neutral element for the seqop operator (e.g. Nil for list concatenation or 0 for summation) and may be evaluated more than once

seqop

an operator used to accumulate results within a partition

combop

an associative operator used to combine results from different partitions

Definition Classes
ParIterableLike → GenTraversableOnce

final def apply(idx: Int): Int

Selects an element by its index in the immutable parallel range.

Example:

scala> val x = List(1, 2, 3, 4, 5)
x: List[Int] = List(1, 2, 3, 4, 5)

scala> x(3)
res1: Int = 4
idx

The index to select.

returns

the element of this immutable parallel range at index idx, where 0 indicates the first element.

Definition Classes
ParRange → ParSeq → GenSeqLike
Annotations
@inline()
Exceptions thrown

IndexOutOfBoundsException if idx does not satisfy 0 <= idx < length.

final def asInstanceOf[T0]: T0

Cast the receiver object to be of type T0.

Note that the success of a cast at runtime is modulo Scala's erasure semantics. Therefore the expression 1.asInstanceOf[String] will throw a ClassCastException at runtime, while the expression List(1).asInstanceOf[List[String]] will not. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the requested type.

returns

the receiver object.

Definition Classes
Any
Exceptions thrown

ClassCastException if the receiver object is not an instance of the erasure of type T0.

def bf2seq[S, That](bf: CanBuildFrom[ParSeq[Int], S, That]): CanBuildFrom[immutable.Seq[Int], S, That]

Attributes
protected[this]
Definition Classes
ParIterableLike

implicit def builder2ops[Elem, To](cb: Builder[Elem, To]): BuilderOps[Elem, To]

Attributes
protected
Definition Classes
ParIterableLike

def canEqual(other: Any): Boolean

Definition Classes
ParIterableLike

def clone(): AnyRef

Создайте копию объекта-получателя.

По умолчанию реализация метода clone зависит от платформы.

возвращает

копию объекта-получателя.

Attributes
protected[lang]
Definition Classes
AnyRef
Annotations
@throws( ... ) @native()
Примечание

не указано SLS как члена AnyRef

def collect[B](pf: PartialFunction[A, B]): ParRange[B]

[use case]

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

B

тип элементов возвращаемой коллекции.

pf

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

возвращает

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

Definition Classes
ParIterableLike → GenTraversableLike
Полная сигнатура

def combinerFactory[S, That](cbf: () ⇒ Combiner[S, That]): CombinerFactory[S, That]

Attributes
protected[this]
Definition Classes
ParIterableLike

def combinerFactory: CombinerFactory[Int, ParSeq[Int]]

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

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

Attributes
protected[this]
Definition Classes
ParIterableLike

def companion: GenericCompanion[ParSeq] with GenericParCompanion[ParSeq]

Фабрика-компаньон, которая создаёт экземпляры класса mutable.ParSeq. (или его Iterable суперкласс, где класс mutable.ParSeq не является Seq.)

Definition Classes
ParSeq → ParIterable → ParSeq → ParIterable → GenericParTemplate → GenSeq → GenIterable → GenTraversable → GenericTraversableTemplate

def copyToArray(xs: Array[A], start: Int, len: Int): Unit

[use case]

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

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

xs

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

start

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

len

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

Definition Classes
ParIterableLike → GenTraversableOnce
Полная сигнатура

def copyToArray(xs: Array[A], start: Int): Unit

[use case]

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

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

xs

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

start

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

Definition Classes
ParIterableLike → GenTraversableOnce
Полная сигнатура

def copyToArray(xs: Array[A]): Unit

[use case]

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

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

xs

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

Definition Classes
ParIterableLike → GenTraversableOnce
Полная сигнатура

def corresponds[S](that: GenSeq[S])(p: (Int, S) ⇒ Boolean): Boolean

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

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

S

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

that

другая параллельная последовательность

p

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

возвращает

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

Definition Classes
ParSeqLike → GenSeqLike

def count(p: (Int) ⇒ Boolean): Int

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

p

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

возвращает

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

Definition Classes
ParIterableLike → GenTraversableOnce

def debugBuffer: ArrayBuffer[String]

Definition Classes
ParIterableLike

implicit def delegatedSignalling2ops[PI <: DelegatedSignalling](it: PI): SignallingOps[PI]

Attributes
protected
Definition Classes
ParIterableLike

def diff(that: GenSeq[A]): ParRange[A]

[use case]

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

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

that

последовательность элементов для удаления

возвращает

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

Definition Classes
ParSeqLike → GenSeqLike
Полная сигнатура

def distinct: ParSeq[Int]

Создаёт новую параллельную итерируемую последовательность из этой параллельной итерируемой последовательности без каких-либо дублирующих элементов.

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

возвращает

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

Классы определений
ParSeqLike → GenSeqLike

def down(p: IterableSplitter[_]): SeqSplitter[Int]

Атрибуты
protected[this]
Классы определений
ParSeqLike

def drop(n: Int): ParSeq[Int]

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

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

n

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

возвращает

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

Классы определений
ParIterableLike → GenTraversableLike

def dropWhile(pred: (Int) ⇒ Boolean): ParSeq[Int]

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

Этот метод будет использовать indexFlag возможности сигнализации. Это означает, что разделители могут установить и считать состояние indexFlag. Флаг индекса изначально устанавливается в максимальное целочисленное значение.

pred

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

возвращает

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

Классы определений
ParIterableLike → GenTraversableLike

def endsWith[S](that: GenSeq[S]): Boolean

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

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

S

тип элементов последовательности that

that

последовательность для проверки

возвращает

true, если эта параллельная итерируемая последовательность имеет that в качестве суффикса, false в противном случае

Классы определений
ParSeqLike → GenSeqLike

def ensuring(cond: (ParRange) ⇒ Boolean, msg: ⇒ Any): ParRange

Неявный
Этот член добавлен неявным преобразованием из ParRange в Ensuring[ParRange] с помощью метода Ensuring в scala.Predef.
Классы определений
Ensuring

def ensuring(cond: (ParRange) ⇒ Boolean): ParRange

Неявный
Этот член добавлен неявным преобразованием из ParRange в Ensuring[ParRange] с помощью метода Ensuring в scala.Predef.
Классы определений
Ensuring

def ensuring(cond: Boolean, msg: ⇒ Any): ParRange

Неявный
Этот член добавлен неявным преобразованием из ParRange в Ensuring[ParRange] с помощью метода Ensuring в scala.Predef.
Классы определений
Ensuring

def ensuring(cond: Boolean): ParRange

Неявный
Этот член добавлен неявным преобразованием из ParRange в Ensuring[ParRange] с помощью метода Ensuring в scala.Predef.
Классы определений
Ensuring

final def eq(arg0: AnyRef): Boolean

Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).

Метод eq реализует отношение эквивалентности отношение эквивалентности для не-null экземпляров типа AnyRef и обладает тремя дополнительными свойствами:

    Он согласован: для любых не-null экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false. Для любого не-null экземпляра 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(that: Any): Boolean

Метод equals для произвольных последовательностей. Сравнивает эту последовательность с другим объектом.

that

Объект для сравнения с последовательностью

returns

true, если that является последовательностью, имеющей те же элементы, что и эта последовательность, в том же порядке; false в противном случае

Definition Classes
GenSeqLike → Equals → Any

def exists(p: (Int) ⇒ Boolean): Boolean

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

Этот метод использует возможности сигнализации abort. Это означает, что разделители могут отправлять и получать сигналы abort.

p

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

returns

true, если p выполняется для какого-либо элемента, иначе false

Definition Classes
ParIterableLike → GenTraversableOnce

def filter(pred: (Int) ⇒ Boolean): ParSeq[Int]

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

pred

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

def filterNot(pred: (Int) ⇒ Boolean): ParSeq[Int]

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

pred

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

def finalize(): Unit

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

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

Attributes
protected[lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
Note

не указан SLS как член AnyRef

def find(p: (Int) ⇒ Boolean): Option[Int]

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

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

Этот метод использует возможности сигнализации abort. Это означает, что разделители могут отправлять и получать сигналы abort.

p

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

returns

значение Option с элементом, если такой элемент существует, или None в противном случае

Definition Classes
ParIterableLike → GenTraversableOnce

def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): ParRange[B]

[use case]

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

Например:

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 => 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

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike
Полная подпись

def flatten[B]: ParRange[B]

[use case]

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

Тип результирующей коллекции будет определяться статическим типом неизменяемого параллельного диапазона. Например:

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

тип элементов каждой коллекции traversable.

returns

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

Definition Classes
GenericTraversableTemplate
Full Signature

def fold[U >: Int](z: U)(op: (U, U) ⇒ U): U

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

Обратите внимание, что сигнатура этого метода отличается от сигнатур методов foldLeft и foldRight в трайте Traversable. Результат сворачивания может быть только надтипом параметра типа этой параллельной коллекции T.

U

параметр типа для бинарного оператора, надтип T.

z

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

op

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

def foldLeft[S](z: S)(op: (S, Int) ⇒ S): S

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

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

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

z

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

op

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

returns

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

op(...op(z, x_1), x_2, ..., x_n)

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

Definition Classes
ParIterableLike → GenTraversableOnce

def foldRight[S](z: S)(op: (Int, S) ⇒ S): S

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

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

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

z

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

op

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

returns

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

op(x_1, op(x_2, ... op(x_n, z)...))

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

Definition Classes
ParIterableLike → GenTraversableOnce

def forall(p: (Int) ⇒ Boolean): Boolean

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

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

p

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

returns

true, если p выполняется для всех элементов, в противном случае — false

Definition Classes
ParIterableLike → GenTraversableOnce

def foreach[U](f: (Int) ⇒ U): Unit

Применяет функцию f ко всем элементам параллельного итерируемого объекта в неопределенном порядке.

U

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

f

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

Definition Classes
ParIterableLike → GenTraversableLike → GenTraversableOnce

def formatted(fmtstr: String): String

Возвращает строку, отформатированную в соответствии с заданной format строкой. Формат строк аналогичен String.format (@см. java.lang.String.format).

Неявный
Этот член добавлен неявным преобразованием из ParRange в StringFormat[ParRange] с помощью метода StringFormat в scala.Predef.
Классы определений
StringFormat
Аннотации
@inline()

def genericBuilder[B]: Combiner[B, ParSeq[B]]

Общий билдер, который создаёт экземпляры Traversable для произвольных типов элементов.

Классы определений
GenericParTemplate → GenericTraversableTemplate

def genericCombiner[B]: Combiner[B, ParSeq[B]]

Классы определений
GenericParTemplate

final def getClass(): Class[_]

Возвращает представление класса объекта во время выполнения.

возвращает

объект класса, соответствующий типу получателя во время выполнения.

Классы определений
AnyRef → Any
Аннотации
@native()

def groupBy[K](f: (Int) ⇒ K): ParMap[K, ParSeq[Int]]

Разделяет это параллельное итерируемое множество на карту параллельных итерируемых множеств в соответствии с функцией-дискриминатором.

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

K

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

f

функция-дискриминатор.

возвращает

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

(xs groupBy f)(k) = xs filter (x => f(x) == k)

То есть каждый ключ k связан с параллельным итерируемым множеством тех элементов x, для которых f(x) равно k.

Классы определений
ParIterableLike → GenTraversableLike

def hasDefiniteSize: Boolean

Проверяет, известно ли, что это параллельное итерируемое множество имеет конечный размер. Все строгие коллекции известны как имеющие конечный размер. Для нестрогой коллекции, такой как Stream, предикат возвращает true, если все элементы были вычислены. Он возвращает false, если поток ещё не вычислен до конца. Непустые итераторы обычно возвращают false, даже если они были созданы из коллекции с известным конечным размером.

Примечание: многие методы коллекций не будут работать с коллекциями бесконечных размеров. Типичный режим сбоя — бесконечный цикл. Эти методы всегда пытаются выполнить обход без предварительной проверки того, что hasDefiniteSize возвращает true. Однако проверка hasDefiniteSize может гарантировать, что размер определён и проблема бесконечной итерации не актуальна.

возвращает

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

Классы определений
ParIterableLike → GenTraversableOnce

def hashCode(): Int

Хеш-коды для GenSeq генерируют значение из хеш-кодов всех элементов общей последовательности.

возвращает

значение хеш-кода для этого объекта.

Классы определений
GenSeqLike → Any

def head: Int

Выбирает первый элемент этого параллельного итерируемого множества.

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

возвращает

первый элемент этого параллельного итерируемого множества.

Классы определений
ParIterableLike → GenTraversableLike
Исключения

NoSuchElementException, если параллельное итерируемое множество пусто.

def headOption: Option[Int]

Выбирает первый элемент, если он существует.

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

возвращает

первый элемент этого параллельного итерируемого множества, если оно не пустое, None, если оно пустое.

Классы определений
ParIterableLike → GenTraversableLike

def indexOf(elem: Int, from: Int): Int

[use case]

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

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

elem

значение искомого элемента.

from

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

returns

индекс >= from первого элемента этого неизменяемого параллельного диапазона, равного (как определено ==) elem, или -1, если такого элемента нет.

Definition Classes
GenSeqLike
Полная сигнатура

def indexOf(elem: Int): Int

[use case]

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

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

elem

значение искомого элемента.

returns

индекс первого элемента этого неизменяемого параллельного диапазона, равного (как определено ==) elem, или -1, если такого элемента нет.

Definition Classes
GenSeqLike
Полная сигнатура

def indexWhere(p: (Int) ⇒ Boolean, from: Int): Int

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

Этот метод будет использовать indexFlag возможности сигнализации. Это означает, что разделители могут устанавливать и читать состояние indexFlag.

Флаг индекса изначально установлен в максимальное целочисленное значение.

p

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

from

смещение начала поиска

returns

индекс >= from первого элемента этого параллельного итерируемого объекта, удовлетворяющего предикату p, или -1, если такого элемента нет

Definition Classes
ParSeqLike → GenSeqLike

def indexWhere(p: (Int) ⇒ Boolean): Int

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

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

p

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

returns

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

Definition Classes
GenSeqLike

def init: ParSeq[Int]

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

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike
Exceptions thrown

UnsupportedOperationException, если параллельный итерируемый объект пуст.

def initTaskSupport(): Unit

Attributes
protected
Definition Classes
ParIterableLike

def intersect(that: scala.Seq[Int]): ParRange[Int]

[use case]

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

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

that

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

returns

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

Definition Classes
ParSeqLike → GenSeqLike
Полная сигнатура

def isDefinedAt(idx: Int): Boolean

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

Реализации методов apply и isDefinedAt преобразуют Seq[A] в PartialFunction[Int, A].

idx

индекс для проверки

returns

true, если в этой общей последовательности есть элемент на позиции idx, false в противном случае.

Definition Classes
GenSeqLike

def isEmpty: Boolean

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

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

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 isStrictSplitterCollection: Boolean

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

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

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

Definition Classes
ParIterableLike

final def isTraversableAgain: Boolean

Проверяет, можно ли многократно пройти по этому параллельному итерируемому объекту.

returns

true

Definition Classes
ParIterableLike → GenTraversableLike → GenTraversableOnce

def iterator: PreciseSplitter[Int]

Создаёт новый итератор-разделитель для обхода элементов этой коллекции.

По умолчанию этот метод реализован с использованием защищённого метода splitter.

returns

итератор-разделитель

Definition Classes
ParSeqLike → ParIterableLike → GenIterableLike

def last: Int

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

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

returns

Последний элемент этого параллельного итерируемого объекта.

Definition Classes
ParIterableLike → GenTraversableLike
Exceptions thrown

NoSuchElementException Если параллельное множество пусто.

def lastIndexOf(elem: Int, end: Int): Int

[use case]

Находит индекс последнего вхождения некоторого значения в этом неизменяемом параллельном диапазоне до или в заданном конечном индексе.

elem

значение искомого элемента.

end

конечный индекс.

returns

индекс <= end последнего элемента этого неизменяемого параллельного диапазона, который равен (как определяется ==) elem, или -1, если такого нет.

Definition Classes
GenSeqLike
Полная подпись

def lastIndexOf(elem: Int): Int

[use case]

Находит индекс последнего вхождения некоторого значения в этом неизменяемом параллельном диапазоне.

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

elem

значение искомого элемента.

returns

индекс последнего элемента этого неизменяемого параллельного диапазона, который равен (как определяется ==) elem, или -1, если такого нет.

Definition Classes
GenSeqLike
Полная подпись

def lastIndexWhere(p: (Int) ⇒ Boolean, end: Int): Int

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

Этот метод будет использовать возможности сигнализации indexFlag. Это означает, что разделители могут устанавливать и читать состояние indexFlag.

Флаг индекса изначально устанавливается в минимальное целое значение.

p

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

end

максимальный сдвиг для поиска

returns

индекс <= end первого элемента этого параллельного итерируемого объекта, удовлетворяющего предикату p, или -1, если такого нет.

Definition Classes
ParSeqLike → GenSeqLike

def lastIndexWhere(p: (Int) ⇒ Boolean): Int

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

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

p

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

returns

индекс последнего элемента этой последовательности, удовлетворяющего предикату p, или -1, если такого нет.

Definition Classes
GenSeqLike

def lastOption: Option[Int]

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

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

returns

последний элемент этого параллельного итерируемого объекта, если он не пустой, или None, если он пустой.

Definition Classes
ParIterableLike → GenTraversableLike

final def length: Int

Длина неизменяемого параллельного диапазона.

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

Примечание: xs.length и xs.size дают одинаковый результат.

возвращает

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

Definition Classes
ParRange → GenSeqLike
Аннотации
@inline()
Исключения

IllegalArgumentException, если длина последовательности не может быть представлена в Int, например, (-1 to Int.MaxValue).length.

def map[B](f: (A) ⇒ B): ParRange[B]

[случаи использования]

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

B

тип элементов возвращаемой коллекции.

f

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

возвращает

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

Definition Classes
ParIterableLike → GenTraversableLike
Полная сигнатура

def max: A

[случаи использования]

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

возвращает

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

Definition Classes
ParIterableLike → GenTraversableOnce
Полная сигнатура
Исключения

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

def maxBy[B](f: (A) ⇒ B): A

[случаи использования]

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

B

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

f

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

возвращает

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

Definition Classes
ParIterableLike → GenTraversableOnce
Полная сигнатура
Исключения

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

def min: A

[случаи использования]

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

возвращает

наименьший элемент этого неизменяемого параллельного диапазона.

Definition Classes
ParIterableLike → GenTraversableOnce
Полная сигнатура
Исключения

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

def minBy[B](f: (A) ⇒ B): A

[случаи использования]

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

B

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

f

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

возвращает

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

Definition Classes
ParIterableLike → GenTraversableOnce
Полная сигнатура
Исключения

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

def mkString: String

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

возвращает

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

Definition Classes
ParIterableLike → GenTraversableOnce

def mkString(sep: String): String

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

sep

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

возвращает

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

Definition Classes
ParIterableLike → GenTraversableOnce
Пример:

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

def mkString(start: String, sep: String, end: String): String

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

start

начальная строка.

sep

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

end

конечная строка.

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce
Пример:

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

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

returns

true, если аргумент не является ссылкой на объект-получатель; false в противном случае.

Definition Classes
AnyRef

def newBuilder: Builder[Int, ParSeq[Int]]

Построитель, создающий экземпляры типа Traversable[A]

Attributes
protected[this]
Definition Classes
GenericParTemplate → GenericTraversableTemplate → HasNewBuilder

def newCombiner: Combiner[Int, ParSeq[Int]]

Attributes
protected[this]
Definition Classes
GenericParTemplate → HasNewCombiner

def nonEmpty: Boolean

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

final def notify(): Unit

Разбуживает единственную нить, ожидающую монитора объекта-получателя.

Definition Classes
AnyRef
Annotations
@native()
Note

не указано SLS в качестве члена AnyRef

final def notifyAll(): Unit

Разбуживает все нити, ожидающие монитора объекта-получателя.

Definition Classes
AnyRef
Annotations
@native()
Note

не указано SLS в качестве члена AnyRef

def padTo(len: Int, elem: A): ParRange[A]

[use case]

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

len

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

elem

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

returns

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

Definition Classes
ParSeqLike → GenSeqLike
Полное описание

def par: ParSeq[Int]

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

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

Специфические коллекции (например, ParArray или mutable.ParHashMap) переопределяют это поведение по умолчанию, создавая параллельную коллекцию, которая использует те же базовые данные. Для этих коллекций par занимает постоянное или подлинейное время.

Все параллельные коллекции возвращают ссылку на себя.

returns

параллельная реализация этой коллекции

Definition Classes
ParIterableLike → CustomParallelizable → Parallelizable

def parCombiner: Combiner[Int, ParSeq[Int]]

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

returns

комбинирователь для параллельной коллекции типа ParRepr

Attributes
protected[this]
Definition Classes
CustomParallelizable → Parallelizable

def partition(pred: (Int) ⇒ Boolean): (ParSeq[Int], ParSeq[Int])

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

pred

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

def patch(from: Int, that: GenSeq[A], replaced: Int): ParRange[A]

[use case]

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

from

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

replaced

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

returns

новый неизменяемый параллельный диапазон, состоящий из всех элементов этого неизменяемого параллельного диапазона, за исключением того, что replaced элементы, начиная с from, заменены на patch.

Definition Classes
ParSeqLike → GenSeqLike
Полная сигнатура

def prefixLength(p: (Int) ⇒ Boolean): Int

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

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

p

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

returns

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

Definition Classes
GenSeqLike

def product: A

[use case]

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

returns

произведение всех элементов в этом неизменяемом параллельном диапазоне чисел типа Int. Вместо Int может быть использован любой другой тип T с неявной Numeric[T] реализацией в качестве типа элемента неизменяемого параллельного диапазона и в качестве типа результата product. Примеры таких типов: Long, Float, Double, BigInt.

Definition Classes
ParIterableLike → GenTraversableOnce
Полная сигнатура

val range: immutable.Range

def reduce[U >: Int](op: (U, U) ⇒ U): U

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

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

Обратите внимание, что этот метод имеет другую сигнатуру, чем методы reduceLeft и reduceRight трейта Traversable. Результат редукции может быть только супертипом параметра типа этой параллельной коллекции T.

U

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

op

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce
Exceptions thrown

UnsupportedOperationException, если этот параллельный итерируемый объект пустой.

def reduceLeft[U >: Int](op: (U, Int) ⇒ U): U

Definition Classes
ParIterableLike

def reduceLeftOption[U >: Int](op: (U, Int) ⇒ U): Option[U]

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

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

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

op

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

def reduceOption[U >: Int](op: (U, U) ⇒ U): Option[U]

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

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

Обратите внимание, что у этого метода разная сигнатура, чем у методов reduceLeftOption и reduceRightOption трейта Traversable. Результат сводки может быть только супертипом параметра типа этого параллельного набора T.

U

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

op

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

def reduceRight[U >: Int](op: (Int, U) ⇒ U): U

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

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

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

op

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

returns

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

op(x_1, op(x_2, ..., op(x_{n-1}, x_n)...))

где x1, ..., xn - это элементы этого параллельного итерируемого объекта.

Definition Classes
ParIterableLike → GenTraversableOnce
Exceptions thrown

UnsupportedOperationException, если этот параллельный итерируемый объект пуст.

def reduceRightOption[U >: Int](op: (Int, U) ⇒ U): Option[U]

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

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

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

op

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

def repr: ParSeq[Int]

Definition Classes
ParIterableLike → GenTraversableLike

def reuse[S, That](oldc: Option[Combiner[S, That]], newc: Combiner[S, That]): Combiner[S, That]

Необязательно повторно использует существующий комбинировщик для повышения производительности. По умолчанию этого не происходит — подклассы могут переопределить это поведение. Предоставленный комбинировщик oldc, который потенциально может быть повторно использован, будет либо некоторым комбинировщиком из предыдущей вычислительной задачи, либо None, если не было предыдущей фазы (в этом случае этот метод должен вернуть newc).

oldc

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

newc

Новый, пустой комбинировщик, который может быть использован.

returns

Либо newc, либо oldc.

Attributes
protected
Definition Classes
ParIterableLike

def reverse: ParSeq[Int]

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

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

returns

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

Definition Classes
ParSeqLike → GenSeqLike

def reverseMap[B](f: (A) ⇒ B): ParRange[B]

[use case]

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

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

Примечание: xs.reverseMap(f) эквивалентно xs.reverse.map(f), но может быть более эффективным.

B

тип элементов возвращаемой коллекции.

f

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

returns

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

Definition Classes
ParSeqLike → GenSeqLike
Полная сигнатура

def sameElements(that: GenIterable[A]): Boolean

[use case]

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

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

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

that

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

returns

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

Definition Classes
ParSeqLike → ParIterableLike → GenIterableLike
Полная сигнатура

def scan(z: Int)(op: (Int, Int) ⇒ Int): ParRange[Int]

[use case]

Вычисляет префиксное сканирование элементов коллекции.

Примечание: нейтральный элемент z может применяться более одного раза.

z

нейтральный элемент для оператора op

op

ассоциативный оператор для сканирования

returns

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

Definition Classes
ParIterableLike → GenTraversableLike
Полная сигнатура

def scanBlockSize: Int

Attributes
protected[this]
Definition Classes
ParIterableLike

def scanLeft[S, That](z: S)(op: (S, Int) ⇒ S)(implicit bf: CanBuildFrom[ParSeq[Int], S, That]): That

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

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

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

That

фактический тип результирующей коллекции

z

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

op

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

bf

явное значение класса CanBuildFrom, определяющее тип результирующей коллекции That от текущего типа представления Repr и нового типа элемента B.

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

def scanRight[S, That](z: S)(op: (Int, S) ⇒ S)(implicit bf: CanBuildFrom[ParSeq[Int], S, That]): That

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

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

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

Пример:

List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
That

фактический тип результирующей коллекции

z

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

op

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

bf

явное значение класса CanBuildFrom, определяющее тип результирующей коллекции That от текущего типа представления Repr и нового типа элемента B.

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

def segmentLength(p: (Int) ⇒ Boolean, from: Int): Int

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

Этот метод будет использовать возможности сигнализации indexFlag. Это означает, что разделители могут устанавливать и читать состояние indexFlag.

Флаг индекса изначально устанавливается в максимальное целое значение.

p

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

from

начальный смещение для поиска

returns

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

Definition Classes
ParSeqLike → GenSeqLike

def seq: immutable.Range

Definition Classes
ParRange → ParIterableLike → GenSeq → GenIterable → GenTraversable → GenSeqLike → Parallelizable → GenTraversableOnce

def sequentially[S, That <: Parallel](b: (immutable.Seq[Int]) ⇒ Parallelizable[S, That]): ParSeq[Int]

Attributes
protected[this]
Definition Classes
ParIterableLike

def size: Int

Размер этого параллельного итерируемого объекта.

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

returns

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

Definition Classes
ParSeqLike → GenTraversableLike → GenTraversableOnce

def sizeHintIfCheap: Int

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

returns

количество элементов в этом наборе или итераторе, или -1, если размер не может быть определен дешево

Attributes
protected[collection]
Definition Classes
GenTraversableOnce

def slice(unc_from: Int, unc_until: Int): ParSeq[Int]

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

from <= indexOf(x) < until

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

unc_from

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

unc_until

наименьший индекс для ИСКЛЮЧЕНИЯ из этого параллельного итерируемого объекта.

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

def span(pred: (Int) ⇒ Boolean): (ParSeq[Int], ParSeq[Int])

Разделяет этот параллельный итерируемый объект на пару префикс/суффикс в соответствии с предикатом.

Этот метод будет использовать возможности сигнализации indexFlag. Это означает, что разделители могут устанавливать и читать состояние indexFlag. Флаг индекса изначально устанавливается в максимальное целое значение.

pred

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

def splitAt(n: Int): (ParSeq[Int], ParSeq[Int])

Разделяет этот параллельный итерируемый объект на две части по заданной позиции. Примечание: c splitAt n эквивалентно (но, возможно, более эффективно), чем (c take n, c drop n).

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

n

позиция, по которой необходимо разделить.

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

def splitter: ParRangeIterator

Более усовершенствованная версия итератора, найденного в трайте ParallelIterable, эта итератор может быть разделен на произвольные подмножества итераторов.

returns

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

Definition Classes
ParRange → ParSeqLike → ParIterableLike

def startsWith[S](that: GenSeq[S], offset: Int): Boolean

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

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

S

тип элементов that параллельной последовательности

that

параллельная последовательность, которую нужно искать

offset

начальный смещение для поиска

returns

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

Definition Classes
ParSeqLike → GenSeqLike

def startsWith[B](that: GenSeq[B]): Boolean

Проверяет, начинается ли эта общая последовательность с заданной последовательности.

that

последовательность для проверки

returns

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

Definition Classes
GenSeqLike

def stringPrefix: String

Определяет префикс представления этого объекта toString.

returns

представление строки, которое начинается с результата toString, применённого к этому параллельному итерируемому объекту. По умолчанию префикс строки — простое имя класса коллекции параллельного итерируемого объекта.

Definition Classes
ParSeq → ParIterable → GenTraversableLike

def sum: A

[use case]

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

returns

сумма всех элементов в этом неизменяемом параллельном диапазоне чисел типа Int. Вместо Int, любой другой тип T с неявной реализацией Numeric[T] может использоваться в качестве типа элементов неизменяемого параллельного диапазона и как тип результата sum. Примеры таких типов: Long, Float, Double, BigInt.

Definition Classes
ParIterableLike → GenTraversableOnce
Полная сигнатура

final def synchronized[T0](arg0: ⇒ T0): T0

Definition Classes
AnyRef

def tail: ParSeq[Int]

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

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike
Exceptions thrown

UnsupportedOperationException, если параллельный итерируемый объект пустой.

def take(n: Int): ParSeq[Int]

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

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

n

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

def takeWhile(pred: (Int) ⇒ Boolean): ParSeq[Int]

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

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

pred

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

implicit def task2ops[R, Tp](tsk: SSCTask[R, Tp]): TaskOps[R, Tp]

Attributes
protected
Definition Classes
ParIterableLike

def tasksupport: TaskSupport

Объект поддержки задач, отвечающий за планирование и балансировку нагрузки задач для процессоров.

Definition Classes
ParIterableLike
See also

scala.collection.parallel.TaskSupport

def tasksupport_=(ts: TaskSupport): Unit

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

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

Вот способ изменения поддержки задач параллельной коллекции:

import scala.collection.parallel._
val pc = mutable.ParArray(1, 2, 3)
pc.tasksupport = new ForkJoinTaskSupport(
  new java.util.concurrent.ForkJoinPool(2))
Definition Classes
ParIterableLike
See also

scala.collection.parallel.TaskSupport

def to[Col[_]]: Col[A]

[use case]

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

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

Col

Тип коллекции для построения.

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce
Полная сигнатура

def toArray: Array[A]

[use case]

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

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce
Полная сигнатура

def toBuffer[U >: Int]: Buffer[U]

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

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

def toIndexedSeq: immutable.IndexedSeq[Int]

Преобразует эту параллельную итерируемую структуру в индексированную последовательность.

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

def toIterable: ParIterable[Int]

Преобразует эту параллельную итерируемую структуру в итерируемую коллекцию. Обратите внимание, что выбор целевого Iterable ленив в этой реализации по умолчанию, так как этот TraversableOnce может быть ленивым и невычисленным (т.е. это может быть итератор, который может быть пройден только один раз).

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

returns

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

Definition Classes
ParIterable → ParIterableLike → GenTraversableOnce

def toIterator: scala.Iterator[Int]

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

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

def toList: List[Int]

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

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

def toMap[T, U]: collection.Map[T, U]

[use case]

Преобразует этот неизменяемый параллельный диапазон в словарь. Этот метод недоступен, если элементы не являются членами Tuple2, каждый ((T, U)) становится парой ключ-значение в словаре. Повторные ключи будут перезаписаны последующими ключами: если это неупорядоченная коллекция, то порядок ключей в результирующем словаре неопределён.

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

returns

словарь типа immutable.Map[T, U], содержащий все пары ключ/значение типа (T, U) этого неизменяемого параллельного диапазона.

Definition Classes
ParIterableLike → GenTraversableOnce
Полная сигнатура

def toParArray: ParArray[T]

Неявный
Этот член добавлен неявным преобразованием из ParRange в CollectionsHaveToParArray[ParRange, T] с помощью метода CollectionsHaveToParArray в scala.collection.parallel. Это преобразование произойдёт только в том случае, если в области видимости есть неявное значение типа (ParRange) ⇒ GenTraversableOnce[T].
Классы определений
CollectionsHaveToParArray

def toParCollection[U >: Int, That](cbf: () ⇒ Combiner[U, That]): That

Атрибуты
protected
Классы определений
ParIterableLike

def toParMap[K, V, That](cbf: () ⇒ Combiner[(K, V), That])(implicit ev: <:<[Int, (K, V)]): That

Атрибуты
protected
Классы определений
ParIterableLike

def toSeq: ParSeq[Int]

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

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

возвращает

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

Классы определений
ParSeq → ParIterable → ParSeqLike → ParIterableLike → GenSeqLike → GenTraversableOnce

def toSet[U >: Int]: ParSet[U]

Преобразует это параллельное множество в множество.

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

возвращает

множество, содержащее все элементы этого параллельного множества.

Классы определений
ParIterableLike → GenTraversableOnce

def toStream: Stream[Int]

Преобразует это параллельное множество в поток.

возвращает

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

Классы определений
ParIterableLike → GenTraversableOnce

def toString(): String

Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.

возвращает

строковое представление объекта.

Классы определений
ParRange → ParSeq → ParSeqLike → ParIterableLike → AnyRef → Any

def toTraversable: GenTraversable[Int]

Преобразует это параллельное множество в произвольное множество Traversable. Вернёт ту же коллекцию, если этот экземпляр уже является Traversable.

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

возвращает

Traversable, содержащий все элементы этого параллельного множества.

Классы определений
ParIterableLike → GenTraversableOnce

def toVector: Vector[Int]

Преобразует это параллельное множество во Vector.

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

возвращает

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

Классы определений
ParIterableLike → GenTraversableOnce

def transpose[B](implicit asTraversable: (Int) ⇒ GenTraversableOnce[B]): ParSeq[ParSeq[B]]

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

Тип результирующей коллекции будет определяться статическим типом коллекции. Например:

val xs = List(
           Set(1, 2, 3),
           Set(4, 5, 6)).transpose
// xs == List(
//         List(1, 4),
//         List(2, 5),
//         List(3, 6))

val ys = Vector(
           List(1, 2, 3),
           List(4, 5, 6)).transpose
// ys == Vector(
//         Vector(1, 4),
//         Vector(2, 5),
//         Vector(3, 6))
B

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

asTraversable

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

returns

двухмерное множество коллекций, где n-я строка — это n-й столбец этой коллекции.

Definition Classes
GenericTraversableTemplate
Annotations
@migration
Migration

(Изменено в версии 2.9.0) transpose вызывает исключение IllegalArgumentException, если коллекции не имеют одинаковый размер.

Exceptions thrown

IllegalArgumentException, если все коллекции в этой коллекции не имеют одинаковый размер.

def union(that: GenSeq[Int]): ParRange[Int]

[use case]

Создает новую последовательность, которая содержит все элементы этой неизменяемой параллельной последовательности, а также все элементы заданной последовательности. xs union ys эквивалентно xs ++ ys.

Другой способ выразить это - xs union ys вычисляет сохраняющее порядок объединение множества элементов xs и ys. Следовательно, union является аналогом diff и intersect, которые также работают с множествами.

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

that

последовательность для добавления.

returns

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

Definition Classes
GenSeqLike
Полная сигнатура

def unzip[A1, A2](implicit asPair: (Int) ⇒ (A1, A2)): (ParSeq[A1], ParSeq[A2])

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

val xs = Traversable(
           (1, "one"),
           (2, "two"),
           (3, "three")).unzip
// xs == (Traversable(1, 2, 3),
//        Traversable(one, two, three))
A1

тип первой половины элементов пар

A2

тип второй половины элементов пар

asPair

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

returns

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

Definition Classes
GenericTraversableTemplate

def unzip3[A1, A2, A3](implicit asTriple: (Int) ⇒ (A1, A2, A3)): (ParSeq[A1], ParSeq[A2], ParSeq[A3])

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

val xs = Traversable(
           (1, "one", '1'),
           (2, "two", '2'),
           (3, "three", '3')).unzip3
// xs == (Traversable(1, 2, 3),
//        Traversable(one, two, three),
//        Traversable(1, 2, 3))
A1

тип первого члена троек элементов

A2

тип второго члена троек элементов

A3

тип третьего члена троек элементов

asTriple

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

returns

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

Definition Classes
GenericTraversableTemplate

def updated(index: Int, elem: A): ParRange[A]

[use case]

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

index

позиция замены

elem

элемент для замены

returns

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

Definition Classes
ParSeqLike → GenSeqLike
Полная сигнатура

final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )

final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws( ... ) @native()

def withFilter(pred: (Int) ⇒ Boolean): ParSeq[Int]

Definition Classes
ParIterableLike

def wrap[R](body: ⇒ R): NonDivisible[R]

Attributes
protected
Definition Classes
ParIterableLike

def zip[B](that: GenIterable[B]): ParRange[(A, B)]

[use case]

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

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

B

тип второй половины возвращаемых пар

that

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

returns

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

Definition Classes
ParSeqLike → ParIterableLike → GenIterableLike
Полная сигнатура

def zipAll[B](that: Iterable[B], thisElem: A, thatElem: B): ParRange[(A, B)]

[use case]

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

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

...

def zipWithIndex: ParRange[(A, Int)]

[use case]

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

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

returns

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

def →[B](y: B): (ParRange, B)

Неявный
Этот член добавлен благодаря неявной конвертации из ParRange в ArrowAssoc[ParRange] посредством метода ArrowAssoc в scala.Predef.
Definition Classes
ArrowAssoc

© 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/immutable/ParRange.html

Spec-Zone.ru

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