Spec-Zone.ru › Scala 3.2

Object ArraySeq.ArraySeq

Класс-компаньон • Исходный код

object ArraySeq extends StrictOptimizedClassTagSeqFactory[ArraySeq]

Этот объект предоставляет набор операций для создания Iterable значений.

Суперайтепы
Трейт StrictOptimizedClassTagSeqFactory[ArraySeq]
Трейт ClassTagSeqFactory[ArraySeq]
Трейт ClassTagIterableFactory[ArraySeq]
Трейт EvidenceIterableFactory[ArraySeq, ClassTag]
Трейт Serializable
Класс Object
Трейт Matchable
Класс Any
Тип самого себя
ArraySeq.type

Классы

Исходный код
final class ofBoolean(val unsafeArray: Array[Boolean]) extends ArraySeq[Boolean]

Исходный код
final class ofByte(val unsafeArray: Array[Byte]) extends ArraySeq[Byte]

Исходный код
final class ofChar(val unsafeArray: Array[Char]) extends ArraySeq[Char]

Исходный код
final class ofDouble(val unsafeArray: Array[Double]) extends ArraySeq[Double]

Исходный код
final class ofFloat(val unsafeArray: Array[Float]) extends ArraySeq[Float]

Исходный код
final class ofInt(val unsafeArray: Array[Int]) extends ArraySeq[Int]

Исходный код
final class ofLong(val unsafeArray: Array[Long]) extends ArraySeq[Long]

Исходный код
final class ofRef[T <: AnyRef](val unsafeArray: Array[T]) extends ArraySeq[T]

Исходный код
final class ofShort(val unsafeArray: Array[Short]) extends ArraySeq[Short]

Исходный код
final class ofUnit(val unsafeArray: Array[Unit]) extends ArraySeq[Unit]

Конкретные методы

Source
def empty[A : ClassTag]: ArraySeq[A]

Source
override def fill[A : ClassTag](n: Int)(elem: => A): ArraySeq[A]

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

Параметры значения
elem

вычисление элемента

n

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

Возвращает

Неизменяемый массив, содержащий результаты n вычислений elem.

Классы определений StrictOptimizedClassTagSeqFactory -> EvidenceIterableFactory

Source
def from[A](it: IterableOnce[A])(implicit tag: ClassTag[A]): ArraySeq[A]

Source
def newBuilder[A : ClassTag]: Builder[A, ArraySeq[A]]

Source
override def tabulate[A : ClassTag](n: Int)(f: Int => A): ArraySeq[A]

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

Параметры значения
f

Функция вычисления значений элементов

n

Количество элементов в неизменяемом массиве

Возвращает

Неизменяемый массив, состоящий из элементов f(0), ..., f(n -1)

Классы определений StrictOptimizedClassTagSeqFactory -> EvidenceIterableFactory

Source
def unsafeWrapArray[T](x: Array[T]): ArraySeq[T]

Оборачивает существующий Array в ArraySeq соответствующего типа примитивного специализированного типа без копирования. Любые изменения в обернутом массиве нарушат ожидаемую неизменяемость.

Обратите внимание, что массив, содержащий упакованные примитивы, может быть обернут в ArraySeq без копирования. Например, val a: Array[Any] = Array(1) является массивом Object во время выполнения, содержащим Integer. ArraySeq[Int] можно получить с помощью преобразования: ArraySeq.unsafeWrapArray(a).asInstanceOf[ArraySeq[Int]]. Значения всё ещё упакованы, результирующий экземпляр является ArraySeq.ofRef. Написание ArraySeq.unsafeWrapArray(a.asInstanceOf[Array[Int]]) не работает, оно генерирует ClassCastException во время выполнения.

Наследованные методы

Source
def apply[A : ClassTag](xs: A*): CC[A]

Наследован из EvidenceIterableFactory

Source
def fill[A : ClassTag](n1: Int, n2: Int, n3: Int, n4: Int, n5: Int)(elem: => A): CC[CC[CC[CC[CC[A]]]]]

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

Параметры значения
elem

вычисление элемента

n1

количество элементов в первом измерении

n2

количество элементов во втором измерении

n3

количество элементов в третьем измерении

n4

количество элементов в четвёртом измерении

n5

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

Возвращает

Коллекция, содержащая результаты n1 x n2 x n3 x n4 x n5 вычислений elem.

Унаследовано от ClassTagIterableFactory

Исходный код
def fill[A : ClassTag](n1: Int, n2: Int, n3: Int, n4: Int)(elem: => A): CC[CC[CC[CC[A]]]]

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

Параметры значения
elem

вычисление элемента

n1

количество элементов в первом измерении

n2

количество элементов во втором измерении

n3

количество элементов в третьем измерении

n4

количество элементов в четвёртом измерении

Возвращает

Коллекция, содержащая результаты n1 x n2 x n3 x n4 вычислений elem.

Унаследовано от ClassTagIterableFactory

Исходный код
def fill[A : ClassTag](n1: Int, n2: Int, n3: Int)(elem: => A): CC[CC[CC[A]]]

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

Параметры значения
elem

вычисление элемента

n1

количество элементов в первом измерении

n2

количество элементов во втором измерении

n3

количество элементов в третьем измерении

Возвращает

Коллекция, содержащая результаты n1 x n2 x n3 вычислений elem.

Унаследовано от ClassTagIterableFactory

Исходный код
def fill[A : ClassTag](n1: Int, n2: Int)(elem: => A): CC[CC[A]]

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

Параметры значения
elem

вычисление элемента

n1

количество элементов в первом измерении

n2

количество элементов во втором измерении

Возвращает

Коллекция, содержащая результаты n1 x n2 вычислений elem.

Унаследовано от ClassTagIterableFactory

Исходный код
def iterate[A : ClassTag](start: A, len: Int)(f: A => A): CC[A]

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

Параметры значения
f

функция, которая многократно применяется

len

количество элементов в коллекции

start

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

Возвращает

коллекция со значениями len в последовательности start, f(start), f(f(start)), ....

Унаследовано от EvidenceIterableFactory

Исходный код
def range[A : ClassTag](start: A, end: A, step: A): CC[A]

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

Параметры значения
end

конечное значение коллекции (первое значение, НЕ содержащееся)

start

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

step

разница между последовательными элементами коллекции (должна быть положительной или отрицательной)

Возвращает

коллекция со значениями start, start + step, ... до, но не включая end

Унаследовано от ClassTagIterableFactory

Источник
def range[A : ClassTag](start: A, end: A): CC[A]

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

Параметры значения
end

конечное значение коллекции (первое значение, НЕ содержащееся)

start

первый элемент коллекции

Возвращает

коллекцию со значениями start, start + 1, ..., end - 1

Унаследовано от ClassTagIterableFactory

Источник
def tabulate[A : ClassTag](n1: Int, n2: Int, n3: Int, n4: Int, n5: Int)(f: (Int, Int, Int, Int, Int) => A): CC[CC[CC[CC[CC[A]]]]]

Создаёт пятимерную коллекцию, содержащую значения заданной функции по диапазонам целочисленных значений, начиная с 0.

Параметры значения
f

Функция вычисления значений элементов

n1

количество элементов в первом измерении

n2

количество элементов во втором измерении

n3

количество элементов в третьем измерении

n4

количество элементов в четвёртом измерении

n5

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

Возвращает

коллекция, состоящая из элементов f(i1, i2, i3, i4, i5) для 0 <= i1 < n1, 0 <= i2 < n2, 0 <= i3 < n3, 0 <= i4 < n4, и 0 <= i5 < n5.

Унаследовано от ClassTagIterableFactory

Источник
def tabulate[A : ClassTag](n1: Int, n2: Int, n3: Int, n4: Int)(f: (Int, Int, Int, Int) => A): CC[CC[CC[CC[A]]]]

Создаёт четырёхмерную коллекцию, содержащую значения заданной функции по диапазонам целочисленных значений, начиная с 0.

Параметры значения
f

Функция вычисления значений элементов

n1

количество элементов в первом измерении

n2

количество элементов во втором измерении

n3

количество элементов в третьем измерении

n4

количество элементов в четвёртом измерении

Возвращает

коллекцию, состоящую из элементов f(i1, i2, i3, i4) для 0 <= i1 < n1, 0 <= i2 < n2, 0 <= i3 < n3, и 0 <= i4 < n4.

Унаследовано от ClassTagIterableFactory

Источник
def tabulate[A : ClassTag](n1: Int, n2: Int, n3: Int)(f: (Int, Int, Int) => A): CC[CC[CC[A]]]

Создаёт трёхмерную коллекцию, содержащую значения заданной функции по диапазонам целочисленных значений, начиная с 0.

Параметры значения
f

Функция, вычисляющая значения элементов

n1

количество элементов в 1-м измерении

n2

количество элементов во 2-м измерении

n3

количество элементов в 3-м измерении

Возвращаемое значение

Коллекция, состоящая из элементов f(i1, i2, i3) для 0 <= i1 < n1, 0 <= i2 < n2, и 0 <= i3 < n3.

Унаследовано от ClassTagIterableFactory

Источник
def tabulate[A : ClassTag](n1: Int, n2: Int)(f: (Int, Int) => A): CC[CC[A]]

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

Параметры значения
f

Функция, вычисляющая значения элементов

n1

количество элементов в 1-м измерении

n2

количество элементов во 2-м измерении

Возвращаемое значение

Коллекция, состоящая из элементов f(i1, i2) для 0 <= i1 < n1 и 0 <= i2 < n2.

Унаследовано от ClassTagIterableFactory

Источник
final def unapplySeq[A](x: ArraySeq[A]): UnapplySeqWrapper[A]

Унаследовано от ClassTagSeqFactory

Источник
def unfold[A : ClassTag, S](init: S)(f: S => Option[(A, S)]): CC[A]

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

Параметры типа
A

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

S

Тип внутреннего состояния

Параметры значения
f

Вычисляет следующий элемент (или возвращает None для сигнализации о конце коллекции)

init

Начальное значение состояния

Возвращаемое значение

Коллекция, генерирующая элементы с помощью f до тех пор, пока f не вернёт None

Унаследовано от EvidenceIterableFactory

Конкретные поля

Источник
val untagged: SeqFactory[ArraySeq]

Унаследованные неявные параметры

Источник
implicit def evidenceIterableFactory[A : ClassTag]: Factory[A, CC[A]]

Унаследовано от EvidenceIterableFactory

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/collection/immutable/ArraySeq$.html

Spec-Zone.ru

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