Spec-Zone.ru › Scala 2.12 Library

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

Компаньон объект ParVector

класс ParVector[+T] extends ParSeq[T] with GenericParTemplate[T, ParVector] with ParSeqLike[T, ParVector[T], immutable.Vector[T]] 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.

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

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

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

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

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

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

T

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

Источник
ParVector.scala
С тех пор

2.9

См. также

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

Линейные надтипы

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

новый ParVector()

новый ParVector(vector: immutable.Vector[T])

Члены типов

класс 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

класс ParVectorIterator extends VectorIterator[T] with SeqSplitter[T]

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

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

тип SuperParIterator = IterableSplitter[T]

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

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

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

returns

true если !(this == that), иначе false.

Definition Classes
AnyRef → Any

final def ##(): Int

Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для числовых типов возвращает хэш-значение, согласованное с равенством значений: если два экземпляра типа значения сравниваются как true, то ## для каждого из них вернет одинаковое хэш-значение. Для null возвращает хэш-код, где null.hashCode генерирует NullPointerException.

returns

хэш-значение, согласованное с ==

Definition Classes
AnyRef → Any

def +(other: String): String

Неявный
Этот член добавлен с помощью неявного преобразования из ParVector[T] в any2stringadd[ParVector[T]], выполненного методом any2stringadd в scala.Predef.
Definition Classes
any2stringadd

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

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

That

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

that

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

bf

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

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

[use case]

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

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

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

Пример:

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

префиксный элемент

returns

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

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

def ->[B](y: B): (ParVector[T], B)

Неявный
Этот член добавлен с помощью неявного преобразования из ParVector[T] в ArrowAssoc[ParVector[T]], выполненного методом ArrowAssoc в scala.Predef.
Definition Classes
ArrowAssoc
Annotations
@inline()

def /:[S](z: S)(op: (S, T) ⇒ 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): ParVector[A]

[use case]

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

Мемоника для +: против :+: двоеточие ставится со стороны коллекции.

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

Пример:

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

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

возвращает

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

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

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

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

Примечание: :\ — это альтернативная запись для foldRight; xs :\ z — то же самое, что и xs foldRight z.

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

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

Примеры:

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

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

scala> val b = (a :\ 5)(_+_)
b: Int = 15

scala> val c = (a :\ 5)((x,y) => x + y)
c: Int = 15
z

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

op

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

возвращает

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

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

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

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

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

возвращает

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

Определяющие классы
AnyRef → Any

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

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

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

Например, можно обработать некоторые элементы и затем получить Set. В этом случае seqop обрабатывает элемент и добавляет его в множество, а combop объединяет два множества из разных разделов вместе. Начальное значение z будет пустым множеством.

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

Другой пример — вычисление геометрического среднего из коллекции двойных значений (для этого обычно требуется большое значение типа double).

S

тип накопленных результатов

z

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

seqop

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

combop

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

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

def apply(idx: Int): T

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

Пример:

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

Выбираемый индекс.

возвращает

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

Определяющие классы
ParVector → ParSeq → GenSeqLike
Исключения

IndexOutOfBoundsException если idx не удовлетворяет условию 0 <= idx < length.

final def asInstanceOf[T0]: T0

Преобразовать объект-получатель в объект типа T0.

Обратите внимание, что успешность приведения типа во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит исключение ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] — нет. В последнем примере, так как аргумент типа стирается во время компиляции, невозможно проверить, относятся ли элементы списка к требуемому типу.

возвращает

объект-получатель.

Определяющие классы
Any
Исключения

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

def bf2seq[S, That](bf: CanBuildFrom[ParVector[T], S, That]): CanBuildFrom[immutable.Vector[T], S, That]

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

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

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

def canEqual(other: Any): Boolean

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

def clone(): AnyRef

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

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

возвращает

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

Атрибуты
protected[lang]
Определяющие классы
AnyRef
Аннотации
@throws( ... ) @native()
Примечание

не определено SLS как член AnyRef

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

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

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

B

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

pf

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

возвращает

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

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

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

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

def combinerFactory: CombinerFactory[T, ParVector[T]]

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

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

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

def companion: ParVector.type

Объект-компаньон фабрики, который создаёт экземпляры класса immutable.ParVector. (или его Iterable суперкласса, где класс immutable.ParVector не является Seq.)

Definition Classes
ParVector → 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: (T, S) ⇒ Boolean): Boolean

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

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

S

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

that

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

p

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

returns

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

Definition Classes
ParSeqLike → GenSeqLike

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

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

p

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

returns

количество элементов, удовлетворяющих предикату 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]): ParVector[A]

[use case]

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

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

that

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

returns

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

Definition Classes
ParSeqLike → GenSeqLike
Full Signature

def distinct: ParVector[T]

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

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

returns

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

Definition Classes
ParSeqLike → GenSeqLike

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

Attributes
protected[this]
Definition Classes
ParSeqLike

def drop(n: Int): ParVector[T]

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

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

n

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

def dropWhile(pred: (T) ⇒ Boolean): ParVector[T]

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

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

pred

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

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

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

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

S

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

that

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

returns

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

Definition Classes
ParSeqLike → GenSeqLike

def ensuring(cond: (ParVector[T]) ⇒ Boolean, msg: ⇒ Any): ParVector[T]

Implicit
Этот член добавлен неявным преобразованием из ParVector[T] в Ensuring[ParVector[T]] выполняемого методом Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: (ParVector[T]) ⇒ Boolean): ParVector[T]

Implicit
Этот член добавлен неявным преобразованием из ParVector[T] в Ensuring[ParVector[T]] выполняемого методом Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean, msg: ⇒ Any): ParVector[T]

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

def ensuring(cond: Boolean): ParVector[T]

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

final def eq(arg0: AnyRef): Boolean

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

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

    Он согласован: для любых непустых экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false. Для любого непустого экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false. null.eq(null) возвращает true.

При переопределении методов equals или hashCode важно обеспечить согласованность их поведения с равенством ссылок. Таким образом, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и должны иметь одинаковое значение хеша (o1.hashCode == o2.hashCode).

возвращает

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

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

def equals(that: Any): Boolean

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

that

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

возвращает

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

Определяющие классы
GenSeqLike → Equals → Any

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

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

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

p

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

возвращает

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

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

def filter(pred: (T) ⇒ Boolean): ParVector[T]

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

pred

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

возвращает

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

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

def filterNot(pred: (T) ⇒ Boolean): ParVector[T]

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

pred

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

возвращает

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

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

def finalize(): Unit

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

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

Атрибуты
protected[lang]
Определяющие классы
AnyRef
Аннотации
@throws( classOf[java.lang.Throwable] )
Примечание

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

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

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

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

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

p

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): ParVector[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]: ParVector[B]

[use case]

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

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

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

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

returns

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

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

def fold[U >: T](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, T) ⇒ 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: (T, 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: (T) ⇒ Boolean): Boolean

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

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

p

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

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

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

U

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

f

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

Definition Classes
ParIterableLike → GenTraversableLike → GenTraversableOnce

def formatted(fmtstr: String): String

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

Implicit
Этот член добавляется неявным преобразованием из ParVector[T] в StringFormat[ParVector[T]] с помощью метода StringFormat в scala.Predef.
Definition Classes
StringFormat
Annotations
@inline()

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

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

Definition Classes
GenericParTemplate → GenericTraversableTemplate

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

Definition Classes
GenericParTemplate

final def getClass(): Class[_]

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

returns

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

Definition Classes
AnyRef → Any
Annotations
@native()

def groupBy[K](f: (T) ⇒ K): ParMap[K, ParVector[T]]

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

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

K

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

f

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

returns

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

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

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

Definition Classes
ParIterableLike → GenTraversableLike

def hasDefiniteSize: Boolean

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

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

def hashCode(): Int

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

возвращает

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

Определяющие классы
GenSeqLike → Any

def head: T

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

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

возвращает

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

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

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

def headOption: Option[T]

Необязательно выбирает первый элемент.

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

возвращает

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

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

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

[use case]

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

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

elem

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

from

стартовый индекс

возвращает

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

Определяющие классы
GenSeqLike
Полная сигнатура

def indexOf(elem: T): Int

[use case]

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

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

elem

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

возвращает

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

Определяющие классы
GenSeqLike
Полная сигнатура

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

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

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

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

p

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

from

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

возвращает

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

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

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

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

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

p

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

возвращает

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

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

def init: ParVector[T]

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

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

возвращает

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

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

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

def initTaskSupport(): Unit

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

def intersect(that: scala.Seq[T]): ParVector[T]

[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[T]

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

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

returns

итератор разбиений

Definition Classes
ParSeqLike → ParIterableLike → GenIterableLike

def last: T

Выбирает последний элемент.

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike
Исключения

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

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

[use case]

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

elem

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

end

индекс окончания.

returns

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

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

def lastIndexOf(elem: T): Int

[use case]

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

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

elem

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

returns

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

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

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

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

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

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

p

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

end

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

returns

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

Definition Classes
ParSeqLike → GenSeqLike

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

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

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

p

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

returns

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

Definition Classes
GenSeqLike

def lastOption: Option[T]

Выбирает последний элемент.

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

def length: Int

Длина неизменяемого параллельного вектора.

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

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

returns

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

Definition Classes
ParVector → GenSeqLike
Exceptions thrown

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

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

[use case]

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

B

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

f

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

returns

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

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

def max: A

[use case]

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce
Полная подпись
Exceptions thrown

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

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

[use case]

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

B

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

f

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce
Полная подпись
Exceptions thrown

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

def min: A

[use case]

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce
Полная подпись
Exceptions thrown

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

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

[use case]

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

B

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

f

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

returns

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

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

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

def mkString: String

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

def mkString(sep: String): String

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

sep

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

returns

строковое представление этого параллельного итерируемого объекта. В результирующей строке строковые представления (с помощью метода 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[T, ParVector[T]]

Би́лдер, который создаёт экземпляры типа Traversable[A]

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

def newCombiner: Combiner[T, ParVector[T]]

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()
Примечание

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

final def notifyAll(): Unit

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

Definition Classes
AnyRef
Annotations
@native()
Примечание

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

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

[служебный случай]

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

len

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

elem

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

возвращает

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

Классы-определения
ParSeqLike → GenSeqLike
Полная подпись

def par: ParVector[T]

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

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

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

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

возвращает

параллельная реализация этого набора

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

def parCombiner: Combiner[T, ParVector[T]]

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

возвращает

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

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

def partition(pred: (T) ⇒ Boolean): (ParVector[T], ParVector[T])

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

pred

предикат для разделения.

возвращает

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

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

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

[служебный случай]

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

from

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

replaced

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

возвращает

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

Классы-определения
ParSeqLike → GenSeqLike
Полная подпись

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

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

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

p

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

возвращает

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

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

def product: A

[служебный случай]

Перемножает элементы этого набора.

возвращает

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

Классы-определения
ParIterableLike → GenTraversableOnce
Полная подпись

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

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

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

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

U

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

op

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce
Исключения

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

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

Definition Classes
ParIterableLike

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

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

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

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

op

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

returns

значение option, содержащее результат reduceLeft(op), если это параллельное множество элементов непусто, None в противном случае.

Definition Classes
ParIterableLike → GenTraversableOnce

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

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

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

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

U

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

op

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

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

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

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

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

op

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

returns

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

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

где x1, ..., xn — элементы этого параллельного итерируемого множества.

Definition Classes
ParIterableLike → GenTraversableOnce
Исключения

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

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

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

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

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

op

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

returns

значение option, содержащее результат reduceRight(op), если это параллельное множество элементов непусто, None в противном случае.

Definition Classes
ParIterableLike → GenTraversableOnce

def repr: ParVector[T]

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: ParVector[T]

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

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

returns

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

Definition Classes
ParSeqLike → GenSeqLike

def reverseMap[B](f: (A) ⇒ B): ParVector[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: T)(op: (T, T) ⇒ T): ParVector[T]

[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, T) ⇒ S)(implicit bf: CanBuildFrom[ParVector[T], S, That]): That

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

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

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

That

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

z

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

op

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

bf

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

def scanRight[S, That](z: S)(op: (T, S) ⇒ S)(implicit bf: CanBuildFrom[ParVector[T], 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: (T) ⇒ Boolean, from: Int): Int

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

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

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

p

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

from

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

returns

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

Definition Classes
ParSeqLike → GenSeqLike

def seq: immutable.Vector[T]

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

def sequentially[S, That <: Parallel](b: (immutable.Vector[T]) ⇒ Parallelizable[S, That]): ParVector[T]

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): ParVector[T]

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

from <= indexOf(x) < until

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

unc_from

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

unc_until

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

def span(pred: (T) ⇒ Boolean): (ParVector[T], ParVector[T])

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

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

pred

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

def splitAt(n: Int): (ParVector[T], ParVector[T])

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

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

n

позиция, в которой нужно разделить.

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

def splitter: SeqSplitter[T]

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

returns

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

Definition Classes
ParVector → 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

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

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: ParVector[T]

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

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike
Исключения

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

def take(n: Int): ParVector[T]

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

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

n

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

def takeWhile(pred: (T) ⇒ Boolean): ParVector[T]

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

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

pred

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

returns

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

Definition Classes
ParIterableLike → GenTraversableLike

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

Атрибуты
protected
Definition Classes
ParIterableLike

def tasksupport: TaskSupport

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

Definition Classes
ParIterableLike
См. также

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
См. также

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 >: T]: Buffer[U]

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

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

def toIndexedSeq: immutable.IndexedSeq[T]

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

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

def toIterable: ParIterable[T]

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

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

returns

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

Definition Classes
ParIterable → ParIterableLike → GenTraversableOnce

def toIterator: scala.Iterator[T]

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

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

def toList: List[T]

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

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

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]

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

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

Attributes
protected
Definition Classes
ParIterableLike

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

Attributes
protected
Definition Classes
ParIterableLike

def toSeq: ParSeq[T]

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

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

returns

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

Definition Classes
ParSeq → ParIterable → ParSeqLike → ParIterableLike → GenSeqLike → GenTraversableOnce

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

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

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

def toStream: Stream[T]

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

def toString(): String

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

returns

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

Definition Classes
ParSeq → ParSeqLike → ParIterableLike → AnyRef → Any

def toTraversable: GenTraversable[T]

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

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

returns

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

Definition Classes
ParIterableLike → GenTraversableOnce

def toVector: immutable.Vector[T]

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

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

returns

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

Definition Classes
ParVector → ParIterableLike → GenTraversableOnce

def transpose[B](implicit asTraversable: (T) ⇒ GenTraversableOnce[B]): ParVector[ParVector[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[T]): ParVector[T]

[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: (T) ⇒ (A1, A2)): (ParVector[A1], ParVector[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: (T) ⇒ (A1, A2, A3)): (ParVector[A1], ParVector[A2], ParVector[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): ParVector[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: (T) ⇒ Boolean): ParVector[T]

Definition Classes
ParIterableLike

def wrap[R](body: ⇒ R): NonDivisible[R]

Attributes
protected
Definition Classes
ParIterableLike

def zip[B](that: GenIterable[B]): ParVector[(A, B)]

[use case]

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

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

B

тип второй половины возвращаемых пар

that

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

returns

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

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

def zipAll[B](that: Iterable[B], thisElem: A, thatElem: B): ParVector[(A, B)]

[use case]

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

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

B

тип второй половины возвращаемых пар

that

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

thisElem

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

thatElem

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

returns

новый неизменяемый параллельный вектор, содержащий пары, состоящие из соответствующих элементов этого неизменяемого параллельного вектора и that. Длина возвращаемой коллекции — максимальное значение длин этого неизменяемого параллельного вектора и that. Если этот неизменяемый параллельный вектор короче that, значения thisElem используются для дополнения результата. Если that короче этого неизменяемого параллельного вектора, значения thatElem используются для дополнения результата.

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

def zipWithIndex: ParVector[(A, Int)]

[use case]

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

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

returns

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

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

    List("a", "b", "c").zipWithIndex = List(("a", 0), ("b", 1), ("c", 2))

def →[B](y: B): (ParVector[T], B)

Неявный
Этот член добавлен неявным преобразованием из ParVector[T] в ArrowAssoc[ParVector[T]], выполненное методом 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/ParVector.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API