A template trait for collections which can be traversed either once only or one or more times.
Note: IterableOnce does not extend IterableOnceOps. This is different than the general design of the collections library, which uses the following pattern:
trait Seq extends Iterable with SeqOps
trait SeqOps extends IterableOps
trait IndexedSeq extends Seq with IndexedSeqOps
trait IndexedSeqOps extends SeqOps
The goal is to provide a minimal interface without any sequential operations. This allows third-party extension like Scala parallel collections to integrate at the level of IterableOnce without inheriting unwanted implementations.
Attributes
- Companion
- object
- Source
- IterableOnce.scala
- Graph
-
- Supertypes
-
class Any
- Known subtypes
-
trait Iterable[A]trait Iterable[A]class IntMap[T]class LongMap[T]trait Seq[A]class AbstractSeq[A]class ArraySeq[A]class ofBooleanclass ofByteclass ofCharclass ofDoubleclass ofFloatclass ofIntclass ofLongclass ofRef[T]class ofShortclass ofUnitclass LazyList[A]class List[A]class ::[A]object Nilclass NumericRange[T]class Exclusive[T]class Inclusive[T]class Queue[A]class Rangeclass Exclusiveclass Inclusiveclass Stream[A]class Cons[A]object Emptyclass Vector[A]class WrappedStringtrait IndexedSeq[A]trait LinearSeq[A]trait Set[A]class AbstractSet[A]class BitSetclass BitSet1class BitSet2class BitSetNclass HashSet[A]class ListSet[A]class Set1[A]class Set2[A]class Set3[A]class Set4[A]class TreeSet[A]trait SortedSet[A]trait Iterable[A]class AbstractIterable[A]class PriorityQueue[A]class LongMap[V]class SystemPropertiestrait Seq[A]class AbstractSeq[A]class AbstractBuffer[A]class ArrayBuffer[A]class ArrayDeque[A]class Queue[A]class Stack[A]class ListBuffer[A]class UnrolledBuffer[T]class ArraySeq[T]class ofBooleanclass ofByteclass ofCharclass ofDoubleclass ofFloatclass ofIntclass ofLongclass ofRef[T]class ofShortclass ofUnitclass StringBuildertrait Buffer[A]trait IndexedBuffer[A]trait IndexedSeq[T]class AnyAccumulator[A]class DoubleAccumulatorclass IntAccumulatorclass LongAccumulatortrait Set[A]class AbstractSet[A]class BitSetclass HashSet[A]class LinkedHashSet[A]class TreeSet[A]trait SortedSet[A]class AbstractIterable[A]class AbstractSeq[A]class AbstractSet[A]class AbstractView[A]class AbstractSeqView[A]class AbstractIndexedSeqView[A]class ArrayBufferView[A]class Slice[A]class StringViewclass Id[A]class Id[A]class Reverse[A]class Reverse[A]class Appended[A]class Appended[A]class Appended[A]class Concat[A]class Concat[A]class Concat[A]class Drop[A]class Drop[A]class Drop[A]class DropRight[A]class DropRight[A]class DropRight[A]class DropWhile[A]class Elems[A]object Emptyclass Fill[A]class Filter[A]class Iterate[A]class PadTo[A]class Prepended[A]class Prepended[A]class Prepended[A]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 Updated[A]class ZipWithIndex[A]trait Seq[A]trait IndexedSeq[A]trait LinearSeq[A]trait Set[A]trait SortedSet[A]trait BitSettrait View[A]trait SeqView[A]trait IndexedSeqView[A]trait BitSetOps[C]trait Iterator[A]class AbstractIterator[A]class MatchIteratortrait BufferedIterator[A]class Sourceclass BufferedSourceclass Option[A]object Noneclass Some[A]Show all
Members list
Value members
Abstract methods
An scala.collection.Iterator over the elements of this collection.
An scala.collection.Iterator over the elements of this collection.
If an IterableOnce object is in fact an scala.collection.Iterator, this method always returns itself, in its current state, but if it is an scala.collection.Iterable, this method always returns a new scala.collection.Iterator.
Attributes
- Source
- IterableOnce.scala
Concrete methods
The number of elements in this collection, if it can be cheaply computed, -1 otherwise.
The number of elements in this collection, if it can be cheaply computed, -1 otherwise. Cheaply usually means: Not requiring a collection traversal.
Attributes
- Source
- IterableOnce.scala
Returns a scala.collection.Stepper for the elements of this collection.
Returns a scala.collection.Stepper for the elements of this collection.
The Stepper enables creating a Java stream to operate on the collection, see scala.jdk.StreamConverters. For collections holding primitive values, the Stepper can be used as an iterator which doesn't box the elements.
The implicit scala.collection.StepperShape parameter defines the resulting Stepper type according to the element type of this collection.
-
For collections of
Int,Short,ByteorChar, an scala.collection.IntStepper is returned -
For collections of
DoubleorFloat, a scala.collection.DoubleStepper is returned -
For collections of
Longa scala.collection.LongStepper is returned -
For any other element type, an scala.collection.AnyStepper is returned
Note that this method is overridden in subclasses and the return type is refined to S with EfficientSplit, for example scala.collection.IndexedSeqOps.stepper. For Steppers marked with scala.collection.Stepper.EfficientSplit, the converters in scala.jdk.StreamConverters allow creating parallel streams, whereas bare Steppers can be converted only to sequential streams.
Attributes
- Source
- IterableOnce.scala
Deprecated methods
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.foldLeft instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.foldRight instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.collectFirst(...) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.copyToBuffer(...) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.count(...) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.exists(...) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.filter(...) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.find instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.flatMap instead or consider requiring an Iterable - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.fold instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.foldLeft instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.foldRight instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.forall(...) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.foreach(...) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.isEmpty instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.map instead or consider requiring an Iterable - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.max instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.maxBy(...) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.min instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.minBy(...) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.mkString instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.mkString instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.mkString instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.nonEmpty instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.product instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.reduce(...) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.reduceLeft(...) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.reduceLeftOption(...) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.reduceOption(...) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.reduceRight(...) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.reduceRightOption(...) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.sameElements instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.size instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.sum instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.to(factory) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.toArray - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.to(ArrayBuffer) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.toIndexedSeq instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.to(Iterable) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.to(List) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.to(Map) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.to(Seq) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.to(Set) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.to(LazyList) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.to(Iterable) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.to(Vector) instead - Source
- IterableOnce.scala
Attributes
- Deprecated
-
[Since version 2.13.0]Use .iterator.withFilter(...) instead - Source
- IterableOnce.scala