Класс scala.collection.parallel.immutable.ParRange
Объект-компаньон object ParRange
класс ParRange extends ParSeq[Int] with Serializable
Конструкторы экземпляров
новый 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]
Копия неизменяемого параллельного диапазона с добавленным элементом в начало.
Обратите внимание, что операторы, заканчивающиеся двоеточием, ассоциативны справа (см. пример). Мемоническое правило для +: против :+: двоеточие идёт к стороне коллекции.
Также, исходный неизменяемый параллельный диапазон не изменяется, поэтому вам нужно захватить результат.
Пример:
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]
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
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
opbetween consecutive elements of this parallel iterable, going right to left with the start valuezon the right:op(x_1, op(x_2, ... op(x_n, z)...))
where
x1, ..., xnare 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
trueif the receiver object is equivalent to the argument;falseotherwise.
- 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
seqopoperator (e.g.Nilfor list concatenation or0for 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, where0indicates the first element.
- Definition Classes
- ParRange → ParSeq → GenSeqLike
- Annotations
- @inline()
- Exceptions thrown
IndexOutOfBoundsExceptionifidxdoes not satisfy0 <= 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
ClassCastExceptionif the receiver object is not an instance of the erasure of typeT0.
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 зависит от платформы.
- возвращает
копию объекта-получателя.
def collect[B](pf: PartialFunction[A, B]): ParRange[B]
Создаёт новую коллекцию, применяя частичную функцию ко всем элементам этого неизменяемого параллельного диапазона, для которых функция определена.
- 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
Копирует элементы этого неизменяемого параллельного диапазона в массив. Заполняет заданный массив xs не более чем len элементами этого неизменяемого параллельного диапазона, начиная с позиции start. Копирование прекратится, когда будет достигнут конец текущего неизменяемого параллельного диапазона, или конец целевого массива, или когда будет скопировано len элементов.
Примечание: не будет завершаться для бесконечных коллекций.
- xs
массив для заполнения.
- start
начальный индекс.
- len
максимальное количество элементов для копирования.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def copyToArray(xs: Array[A], start: Int): Unit
Копирует элементы этого неизменяемого параллельного диапазона в массив. Заполняет заданный массив xs значениями этого неизменяемого параллельного диапазона, начиная с индекса start. Копирование прекратится, когда будет достигнут конец текущего неизменяемого параллельного диапазона или конец целевого массива.
Примечание: не будет завершаться для бесконечных коллекций.
- xs
массив для заполнения.
- start
начальный индекс.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def copyToArray(xs: Array[A]): Unit
Копирует элементы этого неизменяемого параллельного диапазона в массив. Заполняет заданный массив 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этого параллельного итерируемого объекта иythat, в противном случае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]
Вычисляет разность мультимножеств между этим неизменяемым параллельным диапазоном и другой последовательностью.
Примечание: не будет завершаться для бесконечных коллекций.
- 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]
Создает новую коллекцию, применяя функцию ко всем элементам этой неизменяемой параллельной области значений и используя элементы полученных коллекций.
Например:
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]
Преобразует этот неизменяемый параллельный диапазон коллекций 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
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[_]
Возвращает представление класса объекта во время выполнения.
- возвращает
объект класса, соответствующий типу получателя во время выполнения.
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
Находит индекс первого вхождения значения в этот неизменяемый параллельный диапазон после или на определенном начальном индексе.
Примечание: может не завершиться для коллекций бесконечного размера.
- elem
значение искомого элемента.
- from
начальный индекс
- returns
индекс
>= fromпервого элемента этого неизменяемого параллельного диапазона, равного (как определено==)elem, или-1, если такого элемента нет.
- Definition Classes
- GenSeqLike
def indexOf(elem: Int): Int
Находит индекс первого вхождения значения в этот неизменяемый параллельный диапазон.
Примечание: может не завершиться для коллекций бесконечного размера.
- 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]
Вычисляет пересечение мультимножеств между этим неизменяемым параллельным диапазоном и другой последовательностью.
Примечание: может не завершиться для коллекций бесконечного размера.
- 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
Находит индекс последнего вхождения некоторого значения в этом неизменяемом параллельном диапазоне до или в заданном конечном индексе.
- elem
значение искомого элемента.
- end
конечный индекс.
- returns
индекс
<= endпоследнего элемента этого неизменяемого параллельного диапазона, который равен (как определяется==)elem, или-1, если такого нет.
- Definition Classes
- GenSeqLike
def lastIndexOf(elem: Int): Int
Находит индекс последнего вхождения некоторого значения в этом неизменяемом параллельном диапазоне.
Примечание: не завершит работу для бесконечных коллекций.
- 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]
Копия этого неизменяемого параллельного диапазона с добавленными элементами до достижения заданной длины.
- 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]
Создает новый неизменяемый параллельный диапазон, где фрагмент элементов в этом неизменяемом параллельном диапазоне заменяется другой последовательностью.
- 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
Перемножает элементы этой коллекции.
- 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]
Создаёт новую коллекцию, применяя функцию ко всем элементам этого неизменяемого параллельного диапазона и собирая результаты в обратном порядке.
Примечание: не завершит работу для бесконечно больших коллекций.
Примечание: xs.reverseMap(f) эквивалентно xs.reverse.map(f), но может быть более эффективным.
- B
тип элементов возвращаемой коллекции.
- f
функция, которая применяется к каждому элементу.
- returns
новый неизменяемый параллельный диапазон, полученный путём применения заданной функции
fк каждому элементу этого неизменяемого параллельного диапазона и сбора результатов в обратном порядке.
- Definition Classes
- ParSeqLike → GenSeqLike
def sameElements(that: GenIterable[A]): Boolean
Проверяет, содержит ли другая итерируемая коллекция те же элементы в том же порядке, что и этот неизменяемый параллельный диапазон.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не является упорядоченным.
Примечание: не завершит работу для бесконечно больших коллекций.
- that
коллекция для сравнения.
- returns
true, если обе коллекции содержат одинаковые элементы в том же порядке,falseв противном случае.
- Definition Classes
- ParSeqLike → ParIterableLike → GenIterableLike
def scan(z: Int)(op: (Int, Int) ⇒ Int): ParRange[Int]
Вычисляет префиксное сканирование элементов коллекции.
Примечание: нейтральный элемент 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
Суммирует элементы этой коллекции.
- 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
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
def to[Col[_]]: Col[A]
Преобразует этот неизменяемый параллельный диапазон в другой, копируя все элементы.
Примечание: не завершится для коллекций бесконечного размера.
- Col
Тип коллекции для построения.
- returns
новая коллекция, содержащая все элементы этого неизменяемого параллельного диапазона.
- Definition Classes
- ParIterableLike → GenTraversableOnce
def toArray: Array[A]
Преобразует этот неизменяемый параллельный диапазон в массив.
Примечание: не завершится для коллекций бесконечного размера.
- 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]
Преобразует этот неизменяемый параллельный диапазон в словарь. Этот метод недоступен, если элементы не являются членами 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]
Создает новую последовательность, которая содержит все элементы этой неизменяемой параллельной последовательности, а также все элементы заданной последовательности. 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]
Копия этой неизменяемой параллельной последовательности с одним замененным элементом.
- 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
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)]
Возвращает неизменяемый параллельный диапазон, сформированный из этого неизменяемого параллельного диапазона и другой итерируемой коллекции, объединяя соответствующие элементы в пары. Если одна из двух коллекций длиннее другой, оставшиеся элементы игнорируются.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- B
тип второй половины возвращаемых пар
- that
Итерируемый объект, предоставляющий вторую половину каждой пары результата
- returns
новый неизменяемый параллельный диапазон, содержащий пары, состоящие из соответствующих элементов этого неизменяемого параллельного диапазона и
that. Длина возвращаемой коллекции — минимальное из длин этого неизменяемого параллельного диапазона иthat.
- Definition Classes
- ParSeqLike → ParIterableLike → GenIterableLike
def zipAll[B](that: Iterable[B], thisElem: A, thatElem: B): ParRange[(A, B)]
Возвращает неизменяемый параллельный диапазон, сформированный из этого неизменяемого параллельного диапазона и другой итерируемой коллекции, объединяя соответствующие элементы в пары. Если одна из двух коллекций короче другой, для расширения более короткой коллекции до длины более длинной используются значения-заполнители.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
-
...
def zipWithIndex: ParRange[(A, Int)]
Объединяет этот неизменяемый параллельный диапазон с его индексами.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- 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
Параллельные диапазоны.
Это базовый трайт для параллельных коллекций Scala. Он определяет поведение, общее для всех параллельных коллекций. Конкретные параллельные коллекции должны унаследовать этот трайт и
ParIterable, если они хотят определить собственные фабрики комбайнеров.Параллельные операции реализованы с помощью алгоритмов «разделяй и властвуй», которые хорошо параллелизуются. Основная идея заключается в делении коллекции на меньшие части до тех пор, пока они не станут достаточно маленькими для последовательной обработки.
Все параллельные операции реализуются как задачи в этом трайте. Задачи полагаются на концепцию разделителей, которые расширяют итераторы. Каждая параллельная коллекция определяет:
которая возвращает экземпляр
IterableSplitter[T], который является подтипомSplitter[T]. Разделители имеют методremainingдля проверки оставшегося числа элементов и методsplit, который определён разделителями. Методsplitделит итераторы разделителей на непересекающиеся подмножества:который разбивает разделитель на последовательность непересекающихся подразделителей. Обычно это очень быстрая операция, которая просто создаёт обёртки вокруг получаемой коллекции. Это можно повторять рекурсивно.
Задачи планируются на выполнение с помощью объекта scala.collection.parallel.TaskSupport, который можно изменить через
tasksupportколлекций.Метод
newCombinerсоздаёт новый комбайнер. Комбайнеры являются расширением билдеров. Они предоставляют методcombine, который объединяет два комбайнера и возвращает комбайнер, содержащий элементы обоих комбайнеров. Этот метод можно реализовать, агрессивно копируя все элементы в новый комбайнер, или же с помощью ленивой привязки их результатов. Рекомендуется избегать копирования всех элементов для повышения производительности, хотя эта стоимость может быть незначительной в зависимости от конкретного случая. Стандартные параллельные комбайнеры коллекций избегают копирования при слиянии результатов, опираясь на либо двухуровневую ленивую конструкцию, либо на свойства конкретной структуры данных.Методы:
соответственно генерируют последовательную или параллельную реализацию коллекции. Метод
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реализован как операция постоянного времени для параллельных коллекций, и параллельные операции коллекций полагаются на это предположение.Передаваемые в определённые операции высшего порядка функции могут содержать побочные эффекты. Поскольку реализации массовых операций могут не быть последовательными, это означает, что побочные эффекты могут быть непредсказуемыми и могут вызывать гонки данных, тупики или нарушение состояния, если не соблюдать осторожность. Программисту необходимо либо избегать использования побочных эффектов, либо использовать какую-либо форму синхронизации при доступе к изменяемым данным.
2.9
Обзор библиотеки параллельных коллекций Scala раздел по
ParRangeдля получения дополнительной информации.