Spec-Zone.ru › Scala 3.1

Трейт scala.collection.IterableOnce

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

трейт IterableOnce[+A]

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

Примечание: IterableOnce не расширяет IterableOnceOps. Это отличается от общей концепции библиотеки коллекций, которая использует следующий шаблон:

trait Seq extends Iterable with SeqOps
trait SeqOps extends IterableOps

trait IndexedSeq extends Seq with IndexedSeqOps
trait IndexedSeqOps extends SeqOps

Цель состоит в предоставлении минимального интерфейса без каких-либо последовательных операций. Это позволяет сторонним расширениям, таким как параллельные коллекции Scala, интегрироваться на уровне IterableOnce без наследования нежелательных реализаций.

Наследники
класс Any
Известные подтипы
257 типов
класс Option[A]
объект None.type
класс Some[A]
трайт Iterable[A]
класс AbstractIterable[A]
класс AbstractMap[K, V]
класс AbstractMap[K, V]
класс HashMap[K, V]
класс IntMap[T]
класс ListMap[K, V]
класс LongMap[T]
класс Map1[K, V]
класс Map2[K, V]
класс Map3[K, V]
класс Map4[K, V]
класс WithDefault[K, V]
класс WithDefault[K, V]
класс TreeMap[K, V]
класс TreeSeqMap[K, V]
класс VectorMap[K, V]
класс AbstractMap[K, V]
класс TrieMap[K, V]
класс AnyRefMap[K, V]
класс CollisionProofHashMap[K, V]
класс HashMap[K, V]
класс LinkedHashMap[K, V]
класс ListMap[K, V]
класс LongMap[V]
класс WithDefault[K, V]
класс WithDefault[K, V]
класс OpenHashMap[Key, Value]
класс TreeMap[K, V]
класс SystemProperties
класс AbstractSeq[A]
класс AbstractSeq[A]
класс ArraySeq[A]
класс ofBoolean
класс ofByte
класс ofChar
класс ofDouble
класс ofFloat
класс ofInt
класс ofLong
класс ofRef[T]
класс ofShort
класс ofUnit
класс LazyList[A]
класс List[A]
класс ::[A]
объект Nil.type
класс NumericRange[T]
класс Exclusive[T]
класс Inclusive[T]
класс Queue[A]
класс Range
класс Exclusive
класс Inclusive
класс Stream[A]
класс Cons[A]
объект Empty.type
класс Vector[A]
класс WrappedString
класс AbstractSeq[A]
класс AbstractBuffer[A]
класс ArrayBuffer[A]
класс ArrayDeque[A]
класс Queue[A]
класс Stack[A]
класс ListBuffer[A]
класс UnrolledBuffer[T]
класс ArraySeq[T]
класс ofBoolean
класс ofByte
класс ofChar
класс ofDouble
класс ofFloat
класс ofInt
класс ofLong
класс ofRef[T]
класс ofShort
класс ofUnit
класс StringBuilder
класс AbstractSet[A]
класс AbstractSet[A]
класс ValueSet
класс ImmutableKeySet
класс BitSet
класс BitSet1
класс BitSet2
класс BitSetN
класс HashSet[A]
класс ListSet[A]
класс Set1[A]
класс Set2[A]
класс Set3[A]
класс Set4[A]
класс ImmutableKeySortedSet
класс TreeSet[A]
класс AbstractSet[A]
класс BitSet
класс HashSet[A]
класс LinkedHashSet[A]
класс TreeSet[A]
класс AbstractView[A]
класс AbstractMapView[K, V]
класс Filter[K, V]
класс FilterKeys[K, V]
класс Id[K, V]
класс MapValues[K, V, W]
класс TapEach[K, V, U]
класс AbstractSeqView[A]
класс AbstractIndexedSeqView[A]
класс Slice[A]
класс StringView
класс ArrayBufferView[A]
класс Id[A]
класс Id[A]
класс Reverse[A]
класс Reverse[A]
класс Appended[A]
класс Appended[A]
класс Appended[A]
класс Collect[A, B]
класс Concat[A]
класс Concat[A]
класс Concat[A]
класс DistinctBy[A, B]
класс Drop[A]
класс Drop[A]
класс Drop[A]
класс DropRight[A]
класс DropRight[A]
класс DropRight[A]
класс DropWhile[A]
класс Elems[A]
объект Empty.type
класс Fill[A]
класс Filter[A]
класс FlatMap[A, B]
класс Iterate[A]
класс LeftPartitionMapped[A, A1, A2]
класс Map[A, B]
класс Map[A, B]
класс Map[A, B]
класс PadTo[A]
класс Prepended[A]
класс Prepended[A]
class Prepended[A]
class RightPartitionMapped[A, A1, A2]
class ScanLeft[A, B]
class Single[A]
class Tabulate[A]
class Take[A]
class Take[A]
class Take[A]
class TakeRight[A]
class TakeRight[A]
class TakeRight[A]
class TakeWhile[A]
class Unfold[A, S]
class Updated[A]
class Zip[A, B]
class ZipAll[A, B]
class ZipWithIndex[A]
class AbstractIterable[A]
class Очередь с приоритетами[A]
trait Map[K, V]
trait DefaultMap[K, V]
trait SeqMap[K, V]
trait SeqMap[K, V]
trait SeqMap[K, V]
trait SortedMap[K, V]
trait SortedMap[K, V]
trait SortedMap[K, V]
trait Map[K, V]
trait Map[K, V]
trait Map[K, V]
trait Мультикарта[K, V]
trait Seq[A]
trait IndexedSeq[A]
trait IndexedSeq[A]
trait IndexedSeq[T]
trait IndexedBuffer[A]
trait LinearSeq[A]
trait LinearSeq[A]
trait Seq[A]
trait Seq[A]
trait Буфер[A]
class Accumulator[A, CC, C]
class AnyAccumulator[A]
class DoubleAccumulator
class IntAccumulator
class LongAccumulator
trait Множество[A]
trait Отсортированное множество[A]
trait Битовый массив
trait SortedSet[A]
trait SortedSet[A]
trait Set[A]
trait Set[A]
trait Представление[A]
trait MapView[K, V]
trait SeqView[A]
trait IndexedSeqView[A]
class Sorted[A, B]
trait Iterable[A]
trait Iterable[A]
trait IterableOps[A, CC, C]
trait EvidenceIterableFactoryDefaults[A, CC, Ev]
trait IterableFactoryDefaults[A, CC]
trait MapFactoryDefaults[K, V, CC, WithFilterCC]
class Слабый хэш-мап[K, V]
trait MapOps[K, V, CC, C]
trait SortedMapFactoryDefaults[K, V, CC, WithFilterCC, UnsortedCC]
trait SortedMapOps[K, V, CC, C]
trait StrictOptimizedSortedMapOps[K, V, CC, C]
trait StrictOptimizedSortedMapOps[K, V, CC, C]
trait SortedMapOps[K, V, CC, C]
trait SortedMapOps[K, V, CC, C]
trait StrictOptimizedMapOps[K, V, CC, C]
trait StrictOptimizedMapOps[K, V, CC, C]
trait MapOps[K, V, CC, C]
trait MapOps[K, V, CC, C]
trait SeqOps[A, CC, C]
trait IndexedSeqOps[A, CC, C]
trait IndexedSeqOps[A, CC, C]
trait IndexedSeqOps[A, CC, C]
trait LinearSeqOps[A, CC, C]
trait StrictOptimizedLinearSeqOps[A, CC, C]
trait LinearSeqOps[A, CC, C]
trait StrictOptimizedSeqOps[A, CC, C]
trait StrictOptimizedSeqOps[A, CC, C]
trait ArrayDequeOps[A, CC, C]
trait SeqOps[A, CC, C]
trait SeqOps[A, CC, C]
trait SetOps[A, CC, C]
trait SortedSetOps[A, CC, C]
trait BitSetOps[C]
trait SortedSetFactoryDefaults[A, CC, WithFilterCC]
trait StrictOptimizedSortedSetOps[A, CC, C]
trait StrictOptimizedSortedSetOps[A, CC, C]
trait SortedSetOps[A, CC, C]
trait SortedSetOps[A, CC, C]
trait StrictOptimizedSetOps[A, CC, C]
trait StrictOptimizedSetOps[A, CC, C]
trait SetOps[A, CC, C]
trait SetOps[A, CC, C]
trait StrictOptimizedIterableOps[A, CC, C]
trait Итератор[A]
class AbstractIterator[A]
class GroupedIterator[B]
class BufferedLineIterator
class LineIterator
class MatchIterator
trait BufferedIterator[A]
class Источник
class Буферизованный источник

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

Источник
def iterator: Итератор[A]

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

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

Источник
def knownSize: Int

Возвращает

Количество элементов в этом наборе, если его можно вычислить недорого, иначе -1. Недорого обычно означает: не требует обхода коллекции.

Источник
def stepper[S <: Степпер[_]](implicit shape: StepperShape[A, S]): S

Возвращает scala.collection.Stepper для элементов этой коллекции.

Степпер позволяет создавать поток Java для работы с коллекцией, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, степпер может использоваться как итератор, который не упаковывает элементы.

Неявный параметр scala.collection.StepperShape определяет тип возвращаемого степпера в соответствии с типом элементов этой коллекции.

  • Для коллекций Int, Short, Byte или Char, возвращается scala.collection.IntStepper

  • Для коллекций Double или Float, возвращается scala.collection.DoubleStepper

  • Для коллекций Long возвращается scala.collection.LongStepper

  • Для любого другого типа элементов возвращается scala.collection.AnyStepper

Обратите внимание, что этот метод переопределяется в подклассах, а тип возвращаемого значения уточняется до S with EfficientSplit, например scala.collection.IndexedSeqOps.stepper. Для шагающих механизмов, помеченных scala.collection.Stepper.EfficientSplit, преобразователи в scala.jdk.StreamConverters позволяют создавать параллельные потоки, тогда как обычные шагающие механизмы могут быть преобразованы только в последовательные потоки.

© 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/IterableOnce.html

Spec-Zone.ru

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