Spec-Zone.ru › Scala 3.1

Трейт scala.collection.IterableFactory

Объект-компаньон • Исходный код

трейт IterableFactory[+CC[_]] extends Serializable

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

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

Конструктор типа коллекции (например, List)

Супертипы
трейт Serializable
класс Object
трейт Matchable
класс Any
Известные подтипы
39 типов
класс AnyIterableDelegate[CC]
класс AnySeqDelegate[CC]
класс Delegate[CC]
объект Iterable.type
объект Set.type
объект Iterable.type
объект Iterable.type
объект Set.type
объект Iterator.type
трейт SeqFactory[CC]
класс Delegate[CC]
объект IndexedSeq.type
объект LinearSeq.type
объект Seq.type
объект IndexedSeq.type
объект LinearSeq.type
объект Seq.type
объект Buffer.type
объект IndexedBuffer.type
объект IndexedSeq.type
объект Seq.type
трейт StrictOptimizedSeqFactory[CC]
объект List.type
объект Queue.type
объект Vector.type
объект ArrayBuffer.type
объект ArrayDeque.type
объект ListBuffer.type
объект Queue.type
объект Stack.type
объект LazyList.type
объект Stream.type
объект AnyAccumulator.type
объект View.type
объект HashSet.type
объект ListSet.type
объект Set.type
объект HashSet.type
объект LinkedHashSet.type

Абстрактные методы

Исходный код
def empty[A]: CC[A]

Пустая коллекция

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

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

Исходный код
def from[A](source: IterableOnce[A]): CC[A]

Создает целевую коллекцию из существующей исходной коллекции

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

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

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

Исходная коллекция

Возвращает

новая коллекция с элементами source

Исходный код
def fromSpecific(from: From)(it: IterableOnce[A]): C

Неявным образом добавлено toBuildFrom

Исходный код
def fromSpecific(it: IterableOnce[A]): C

Неявным образом добавлено toFactory
Параметры значения
it

Исходная коллекция

Возвращает

Коллекция типа C содержащая те же элементы, что и исходная коллекция it.

Исходный код
def newBuilder(from: From): Builder[A, C]

Неявным образом добавлено toBuildFrom

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

Исходный код
def newBuilder: Builder[A, C]

Неявным образом добавлено toFactory

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

Исходный код
def newBuilder[A]: Builder[A, CC[A]]

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

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

Возвращает

Конструктор для объектов Iterable.

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

Исходный код
def apply[A](elems: A*): CC[A]

Создает коллекцию со указанными элементами.

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

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

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

элементы создаваемой коллекции

Возвращает

новая коллекция с элементами elems

Исходный код
def concat[A](xss: Iterable[A]*): CC[A]

Конкатенирует все коллекции-аргументы в одну коллекцию.

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

коллекции, которые должны быть конкатенированы.

Возвращает

конкатенацию всех коллекций.

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

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

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

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

n

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

Возвращает

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

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

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

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

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

n1

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

n2

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

Возвращает

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

END_OF_DOCUMENT_MARKER

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

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

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

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

n1

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

n2

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

n3

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

Возвращает

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

Source
def fill[A](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.

Source
def fill[A](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.

Source
def iterate[A](start: A, len: Int)(f: A => A): CC[A]

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

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

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

len

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

start

начальное значение множества

Возвращает

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

Source
def range[A : Integral](start: A, end: A): CC[A]

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

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

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

start

первый элемент множества

Возвращает

множество со значениями start, start + 1, ..., end - 1

Source
def range[A : Integral](start: A, end: A, step: A): CC[A]

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

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

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

start

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

step

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

Возвращает

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

Исходный код
def tabulate[A](n: Int)(f: Int => A): CC[A]

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

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

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

n

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

Возвращает

Коллекцию, состоящую из элементов f(0), ..., f(n -1)

Исходный код
def tabulate[A](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.

Исходный код
def tabulate[A](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.

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

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

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

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

n1

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

n2

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

n3

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

n4

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

Возвращает

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

Исходный код
def tabulate[A](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

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

n2

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

n3

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

n4

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

n5

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

Возвращает

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

Source
def toFactory(from: From): Factory[A, C]

Неявным образом добавлен функцией toBuildFrom

Частично примените BuildFrom к Factory

Source
def unfold[A, S](init: S)(f: S => Option[(A, S)]): CC[A]

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

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

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

S

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

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

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

init

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

Возвращает

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

Неявные значения

Source
implicit def iterableFactory[A]: Factory[A, CC[A]]

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

Spec-Zone.ru

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