Class

com.datastax.spark.connector.util

SpanningIterator

Related Doc: package util

Permalink

class SpanningIterator[K, T] extends Iterator[(K, Seq[T])]

An iterator that groups items having the same value of the given function (key). To be included in the same group, items with the same key must be next to each other in the original collection.

SpanningIterator buffers internally one group at a time and the wrapped iterator is consumed in a lazy way.

Example:

val collection = Seq(1 -> "a", 1 -> "b", 1 -> "c", 2 -> "d", 2 -> "e")
val iterator = new SpanningIterator(collection.iterator, (x: (Int, String)) => x._1)
val result = iterator.toSeq  // Seq(1 -> Seq("a", "b", "c"), 2 -> Seq("d", "e"))
Linear Supertypes
Iterator[(K, Seq[T])], TraversableOnce[(K, Seq[T])], GenTraversableOnce[(K, Seq[T])], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. SpanningIterator
  2. Iterator
  3. TraversableOnce
  4. GenTraversableOnce
  5. AnyRef
  6. Any
Implicitly
  1. by MonadOps
  2. by CollectionsHaveToParArray
  3. by any2stringadd
  4. by StringFormat
  5. by Ensuring
  6. by ArrowAssoc
  7. by alternateImplicit
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SpanningIterator(iterator: Iterator[T], f: (T) ⇒ K)

    Permalink

Type Members

  1. class GroupedIterator[B >: A] extends AbstractIterator[Seq[B]] with Iterator[Seq[B]]

    Permalink
    Definition Classes
    Iterator

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from SpanningIterator[K, T] to any2stringadd[SpanningIterator[K, T]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ++[B >: (K, Seq[T])](that: ⇒ GenTraversableOnce[B]): Iterator[B]

    Permalink
    Definition Classes
    Iterator
  5. def ->[B](y: B): (SpanningIterator[K, T], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from SpanningIterator[K, T] to ArrowAssoc[SpanningIterator[K, T]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  6. def /:[B](z: B)(op: (B, (K, Seq[T])) ⇒ B): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  7. def :\[B](z: B)(op: ((K, Seq[T]), B) ⇒ B): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  8. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  9. def addString(b: StringBuilder): StringBuilder

    Permalink
    Definition Classes
    TraversableOnce
  10. def addString(b: StringBuilder, sep: String): StringBuilder

    Permalink
    Definition Classes
    TraversableOnce
  11. def addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder

    Permalink
    Definition Classes
    TraversableOnce
  12. def aggregate[B](z: ⇒ B)(seqop: (B, (K, Seq[T])) ⇒ B, combop: (B, B) ⇒ B): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  13. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  14. def buffered: BufferedIterator[(K, Seq[T])]

    Permalink
    Definition Classes
    Iterator
  15. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  16. def collect[B](pf: PartialFunction[(K, Seq[T]), B]): Iterator[B]

    Permalink
    Definition Classes
    Iterator
    Annotations
    @migration
    Migration

    (Changed in version 2.8.0) collect has changed. The previous behavior can be reproduced with toSeq.

  17. def collectFirst[B](pf: PartialFunction[(K, Seq[T]), B]): Option[B]

    Permalink
    Definition Classes
    TraversableOnce
  18. def contains(elem: Any): Boolean

    Permalink
    Definition Classes
    Iterator
  19. def copyToArray[B >: (K, Seq[T])](xs: Array[B], start: Int, len: Int): Unit

    Permalink
    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  20. def copyToArray[B >: (K, Seq[T])](xs: Array[B]): Unit

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  21. def copyToArray[B >: (K, Seq[T])](xs: Array[B], start: Int): Unit

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  22. def copyToBuffer[B >: (K, Seq[T])](dest: Buffer[B]): Unit

    Permalink
    Definition Classes
    TraversableOnce
  23. def corresponds[B](that: GenTraversableOnce[B])(p: ((K, Seq[T]), B) ⇒ Boolean): Boolean

    Permalink
    Definition Classes
    Iterator
  24. def count(p: ((K, Seq[T])) ⇒ Boolean): Int

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  25. def drop(n: Int): Iterator[(K, Seq[T])]

    Permalink
    Definition Classes
    Iterator
  26. def dropWhile(p: ((K, Seq[T])) ⇒ Boolean): Iterator[(K, Seq[T])]

    Permalink
    Definition Classes
    Iterator
  27. def duplicate: (Iterator[(K, Seq[T])], Iterator[(K, Seq[T])])

    Permalink
    Definition Classes
    Iterator
  28. def ensuring(cond: (SpanningIterator[K, T]) ⇒ Boolean, msg: ⇒ Any): SpanningIterator[K, T]

    Permalink
    Implicit information
    This member is added by an implicit conversion from SpanningIterator[K, T] to Ensuring[SpanningIterator[K, T]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  29. def ensuring(cond: (SpanningIterator[K, T]) ⇒ Boolean): SpanningIterator[K, T]

    Permalink
    Implicit information
    This member is added by an implicit conversion from SpanningIterator[K, T] to Ensuring[SpanningIterator[K, T]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  30. def ensuring(cond: Boolean, msg: ⇒ Any): SpanningIterator[K, T]

    Permalink
    Implicit information
    This member is added by an implicit conversion from SpanningIterator[K, T] to Ensuring[SpanningIterator[K, T]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  31. def ensuring(cond: Boolean): SpanningIterator[K, T]

    Permalink
    Implicit information
    This member is added by an implicit conversion from SpanningIterator[K, T] to Ensuring[SpanningIterator[K, T]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  32. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  33. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  34. def exists(p: ((K, Seq[T])) ⇒ Boolean): Boolean

    Permalink
    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  35. def filter(p: ((K, Seq[T])) ⇒ Boolean): Iterator[(K, Seq[T])]

    Permalink
    Definition Classes
    Iterator
  36. def filterNot(p: ((K, Seq[T])) ⇒ Boolean): Iterator[(K, Seq[T])]

    Permalink
    Definition Classes
    Iterator
  37. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  38. def find(p: ((K, Seq[T])) ⇒ Boolean): Option[(K, Seq[T])]

    Permalink
    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  39. def flatMap[B](f: ((K, Seq[T])) ⇒ GenTraversableOnce[B]): Iterator[B]

    Permalink
    Definition Classes
    Iterator
  40. def fold[A1 >: (K, Seq[T])](z: A1)(op: (A1, A1) ⇒ A1): A1

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  41. def foldLeft[B](z: B)(op: (B, (K, Seq[T])) ⇒ B): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  42. def foldRight[B](z: B)(op: ((K, Seq[T]), B) ⇒ B): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  43. def forall(p: ((K, Seq[T])) ⇒ Boolean): Boolean

    Permalink
    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  44. def foreach[U](f: ((K, Seq[T])) ⇒ U): Unit

    Permalink
    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  45. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from SpanningIterator[K, T] to StringFormat[SpanningIterator[K, T]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  46. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  47. def grouped[B >: (K, Seq[T])](size: Int): GroupedIterator[B]

    Permalink
    Definition Classes
    Iterator
  48. def hasDefiniteSize: Boolean

    Permalink
    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  49. def hasNext: Boolean

    Permalink
    Definition Classes
    SpanningIterator → Iterator
  50. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  51. def indexOf[B >: (K, Seq[T])](elem: B): Int

    Permalink
    Definition Classes
    Iterator
  52. def indexWhere(p: ((K, Seq[T])) ⇒ Boolean): Int

    Permalink
    Definition Classes
    Iterator
  53. def isEmpty: Boolean

    Permalink
    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  54. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  55. def isTraversableAgain: Boolean

    Permalink
    Definition Classes
    Iterator → GenTraversableOnce
  56. def length: Int

    Permalink
    Definition Classes
    Iterator
  57. def map[B](f: ((K, Seq[T])) ⇒ B): Iterator[B]

    Permalink
    Definition Classes
    Iterator
  58. def max[B >: (K, Seq[T])](implicit cmp: Ordering[B]): (K, Seq[T])

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  59. def maxBy[B](f: ((K, Seq[T])) ⇒ B)(implicit cmp: Ordering[B]): (K, Seq[T])

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  60. def min[B >: (K, Seq[T])](implicit cmp: Ordering[B]): (K, Seq[T])

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  61. def minBy[B](f: ((K, Seq[T])) ⇒ B)(implicit cmp: Ordering[B]): (K, Seq[T])

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  62. def mkString: String

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  63. def mkString(sep: String): String

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  64. def mkString(start: String, sep: String, end: String): String

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  65. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  66. def next(): (K, Seq[T])

    Permalink
    Definition Classes
    SpanningIterator → Iterator
  67. def nonEmpty: Boolean

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  68. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  69. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  70. def padTo[A1 >: (K, Seq[T])](len: Int, elem: A1): Iterator[A1]

    Permalink
    Definition Classes
    Iterator
  71. def partition(p: ((K, Seq[T])) ⇒ Boolean): (Iterator[(K, Seq[T])], Iterator[(K, Seq[T])])

    Permalink
    Definition Classes
    Iterator
  72. def patch[B >: (K, Seq[T])](from: Int, patchElems: Iterator[B], replaced: Int): Iterator[B]

    Permalink
    Definition Classes
    Iterator
  73. def product[B >: (K, Seq[T])](implicit num: Numeric[B]): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  74. def reduce[A1 >: (K, Seq[T])](op: (A1, A1) ⇒ A1): A1

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  75. def reduceLeft[B >: (K, Seq[T])](op: (B, (K, Seq[T])) ⇒ B): B

    Permalink
    Definition Classes
    TraversableOnce
  76. def reduceLeftOption[B >: (K, Seq[T])](op: (B, (K, Seq[T])) ⇒ B): Option[B]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  77. def reduceOption[A1 >: (K, Seq[T])](op: (A1, A1) ⇒ A1): Option[A1]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  78. def reduceRight[B >: (K, Seq[T])](op: ((K, Seq[T]), B) ⇒ B): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  79. def reduceRightOption[B >: (K, Seq[T])](op: ((K, Seq[T]), B) ⇒ B): Option[B]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  80. def reversed: List[(K, Seq[T])]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    TraversableOnce
  81. def sameElements(that: Iterator[_]): Boolean

    Permalink
    Definition Classes
    Iterator
  82. def scanLeft[B](z: B)(op: (B, (K, Seq[T])) ⇒ B): Iterator[B]

    Permalink
    Definition Classes
    Iterator
  83. def scanRight[B](z: B)(op: ((K, Seq[T]), B) ⇒ B): Iterator[B]

    Permalink
    Definition Classes
    Iterator
  84. def seq: Iterator[(K, Seq[T])]

    Permalink
    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  85. def size: Int

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  86. def slice(from: Int, until: Int): Iterator[(K, Seq[T])]

    Permalink
    Definition Classes
    Iterator
  87. def sliding[B >: (K, Seq[T])](size: Int, step: Int): GroupedIterator[B]

    Permalink
    Definition Classes
    Iterator
  88. def span(p: ((K, Seq[T])) ⇒ Boolean): (Iterator[(K, Seq[T])], Iterator[(K, Seq[T])])

    Permalink
    Definition Classes
    Iterator
  89. def sum[B >: (K, Seq[T])](implicit num: Numeric[B]): B

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  90. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  91. def take(n: Int): Iterator[(K, Seq[T])]

    Permalink
    Definition Classes
    Iterator
  92. def takeWhile(p: ((K, Seq[T])) ⇒ Boolean): Iterator[(K, Seq[T])]

    Permalink
    Definition Classes
    Iterator
  93. def to[Col[_]](implicit cbf: CanBuildFrom[Nothing, (K, Seq[T]), Col[(K, Seq[T])]]): Col[(K, Seq[T])]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  94. def toArray[B >: (K, Seq[T])](implicit arg0: ClassTag[B]): Array[B]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  95. def toBuffer[B >: (K, Seq[T])]: Buffer[B]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  96. def toIndexedSeq: IndexedSeq[(K, Seq[T])]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  97. def toIterable: Iterable[(K, Seq[T])]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  98. def toIterator: Iterator[(K, Seq[T])]

    Permalink
    Definition Classes
    Iterator → GenTraversableOnce
  99. def toList: List[(K, Seq[T])]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  100. def toMap[T, U](implicit ev: <:<[(K, Seq[T]), (T, U)]): Map[T, U]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  101. def toParArray: ParArray[T]

    Permalink
    Implicit information
    This member is added by an implicit conversion from SpanningIterator[K, T] to CollectionsHaveToParArray[SpanningIterator[K, T], T] performed by method CollectionsHaveToParArray in scala.collection.parallel. This conversion will take place only if an implicit value of type (SpanningIterator[K, T]) ⇒ GenTraversableOnce[T] is in scope.
    Definition Classes
    CollectionsHaveToParArray
  102. def toSeq: Seq[(K, Seq[T])]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  103. def toSet[B >: (K, Seq[T])]: Set[B]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  104. def toStream: Stream[(K, Seq[T])]

    Permalink
    Definition Classes
    Iterator → GenTraversableOnce
  105. def toString(): String

    Permalink
    Definition Classes
    Iterator → AnyRef → Any
  106. def toTraversable: Traversable[(K, Seq[T])]

    Permalink
    Definition Classes
    Iterator → TraversableOnce → GenTraversableOnce
  107. def toVector: Vector[(K, Seq[T])]

    Permalink
    Definition Classes
    TraversableOnce → GenTraversableOnce
  108. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  109. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  110. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  111. def withFilter(p: ((K, Seq[T])) ⇒ Boolean): Iterator[(K, Seq[T])]

    Permalink
    Definition Classes
    Iterator
  112. def zip[B](that: Iterator[B]): Iterator[((K, Seq[T]), B)]

    Permalink
    Definition Classes
    Iterator
  113. def zipAll[B, A1 >: (K, Seq[T]), B1 >: B](that: Iterator[B], thisElem: A1, thatElem: B1): Iterator[(A1, B1)]

    Permalink
    Definition Classes
    Iterator
  114. def zipWithIndex: Iterator[((K, Seq[T]), Int)]

    Permalink
    Definition Classes
    Iterator
  115. def [B](y: B): (SpanningIterator[K, T], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from SpanningIterator[K, T] to ArrowAssoc[SpanningIterator[K, T]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Shadowed Implicit Value Members

  1. def filter(p: ((K, Seq[T])) ⇒ Boolean): TraversableOnce[(K, Seq[T])]

    Permalink
    Implicit information
    This member is added by an implicit conversion from SpanningIterator[K, T] to MonadOps[(K, Seq[T])] performed by method MonadOps in scala.collection.TraversableOnce.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (spanningIterator: MonadOps[(K, Seq[T])]).filter(p)
    Definition Classes
    MonadOps
  2. def flatMap[B](f: ((K, Seq[T])) ⇒ GenTraversableOnce[B]): TraversableOnce[B]

    Permalink
    Implicit information
    This member is added by an implicit conversion from SpanningIterator[K, T] to MonadOps[(K, Seq[T])] performed by method MonadOps in scala.collection.TraversableOnce.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (spanningIterator: MonadOps[(K, Seq[T])]).flatMap(f)
    Definition Classes
    MonadOps
  3. def map[B](f: ((K, Seq[T])) ⇒ B): TraversableOnce[B]

    Permalink
    Implicit information
    This member is added by an implicit conversion from SpanningIterator[K, T] to MonadOps[(K, Seq[T])] performed by method MonadOps in scala.collection.TraversableOnce.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (spanningIterator: MonadOps[(K, Seq[T])]).map(f)
    Definition Classes
    MonadOps
  4. def withFilter(p: ((K, Seq[T])) ⇒ Boolean): Iterator[(K, Seq[T])]

    Permalink
    Implicit information
    This member is added by an implicit conversion from SpanningIterator[K, T] to MonadOps[(K, Seq[T])] performed by method MonadOps in scala.collection.TraversableOnce.
    Shadowing
    This implicitly inherited member is shadowed by one or more members in this class.
    To access this member you can use a type ascription:
    (spanningIterator: MonadOps[(K, Seq[T])]).withFilter(p)
    Definition Classes
    MonadOps

Inherited from Iterator[(K, Seq[T])]

Inherited from TraversableOnce[(K, Seq[T])]

Inherited from GenTraversableOnce[(K, Seq[T])]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion MonadOps from SpanningIterator[K, T] to MonadOps[(K, Seq[T])]

Inherited by implicit conversion CollectionsHaveToParArray from SpanningIterator[K, T] to CollectionsHaveToParArray[SpanningIterator[K, T], T]

Inherited by implicit conversion any2stringadd from SpanningIterator[K, T] to any2stringadd[SpanningIterator[K, T]]

Inherited by implicit conversion StringFormat from SpanningIterator[K, T] to StringFormat[SpanningIterator[K, T]]

Inherited by implicit conversion Ensuring from SpanningIterator[K, T] to Ensuring[SpanningIterator[K, T]]

Inherited by implicit conversion ArrowAssoc from SpanningIterator[K, T] to ArrowAssoc[SpanningIterator[K, T]]

Inherited by implicit conversion alternateImplicit from SpanningIterator[K, T] to ForceImplicitAmbiguity

Ungrouped