Трейт scala.collection.IterableViewLike.TakenWhile
trait TakenWhile extends IterableViewLike.TakenWhile with Transformed[A]
- Источник
- IterableViewLike.scala
Члены типов
трайт Appended[B >: A] extends IterableViewLike.Appended[B] with Transformed[B]
- Определяющие классы
- IterableViewLike
трайт DroppedWhile extends IterableViewLike.DroppedWhile with Transformed[A]
- Определяющие классы
- IterableViewLike
трайт EmptyView extends Transformed[Nothing] with IterableViewLike.EmptyView
- Определяющие классы
- IterableViewLike
трайт Filtered extends IterableViewLike.Filtered with Transformed[A]
- Определяющие классы
- IterableViewLike
трайт FlatMapped[B] extends IterableViewLike.FlatMapped[B] with Transformed[B]
- Определяющие классы
- IterableViewLike
трайт Forced[B] extends IterableViewLike.Forced[B] with Transformed[B]
- Определяющие классы
- IterableViewLike
трайт Mapped[B] extends IterableViewLike.Mapped[B] with Transformed[B]
- Определяющие классы
- IterableViewLike
трайт Prepended[B >: A] extends IterableViewLike.Prepended[B] with Transformed[B]
- Определяющие классы
- IterableViewLike
трайт Sliced extends IterableViewLike.Sliced with Transformed[A]
- Определяющие классы
- IterableViewLike
трайт TakenWhile extends IterableViewLike.TakenWhile with Transformed[A]
- Определяющие классы
- IterableViewLike
тип Self = IterableView[A, Coll]
Тип, реализующий этот обход
- Атрибуты
- protected[this]
- Определяющие классы
- TraversableLike
трайт Transformed[+B] extends IterableView[B, Coll] with IterableViewLike.Transformed[B]
- Определяющие классы
- IterableViewLike
трайт Zipped[B] extends Transformed[(A, B)]
- Определяющие классы
- IterableViewLike
тракт ZippedAll[A1 >: A, B] extends Transformed[(A1, B)]
- Определяющие классы
- IterableViewLike
класс WithFilter extends FilterMonadic[A, Repr]
Класс, поддерживающий отфильтрованные операции. Экземпляры этого класса возвращаются методом withFilter.
- Определяющие классы
- TraversableLike
Абстрактные члены-значения
абстрактное значение pred: (A) ⇒ Boolean
- Атрибуты
- protected[this]
- Определяющие классы
- TakenWhile
Члены-значения конкретного типа
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- returns
trueесли !(this == that), иначе false.
- Definition Classes
- AnyRef → Any
final def ##(): Int
Эквивалентно x.hashCode, за исключением упакованных числовых типов и null. Для чисел возвращает хеш-значение, согласованное с равенством значений: если два экземпляра типа значения сравниваются как true, то ## вернёт одинаковое хеш-значение для каждого из них. Для null возвращает хешкод, где null.hashCode вызывает NullPointerException.
- returns
хеш-значение, согласованное с ==
- Definition Classes
- AnyRef → Any
def +(other: String): String
- Неявный
- Этот член добавлен неявным преобразованием из TakenWhile в any2stringadd[TakenWhile] с помощью метода any2stringadd в scala.Predef.
- Definition Classes
- any2stringadd
def ++[B >: A, That](xs: GenTraversableOnce[B])(implicit bf: CanBuildFrom[IterableView[A, Coll], B, That]): That
Возвращает новый набор, содержащий элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элемента набора — наиболее специфический суперкласс, охватывающий типы элементов двух операндов.
- B
тип элемента возвращаемого набора.
- That
класс возвращаемого набора. Где возможно,
That— это тот же класс, что и текущий класс набораRepr, но это зависит от типа элементаB, который должен быть допустимым для этого класса, что означает, что найден неявный экземпляр типаCanBuildFrom[Repr, B, That].- bf
неявное значение класса
CanBuildFrom, определяющее класс результатаThatпо текущему типу представленияReprи новому типу элементаB.- returns
новый набор типа
That, который содержит все элементы этого набора, за которыми следуют все элементыthat.
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike
def ++:[B >: A, That](xs: Traversable[B])(implicit bf: CanBuildFrom[IterableView[A, Coll], B, That]): That
Как и в случае с ++, возвращает новый набор, содержащий элементы из левого операнда, за которыми следуют элементы из правого операнда.
Отличается от ++ тем, что правый операнд определяет тип результирующего набора, а не левый. Мемоническая подсказка: двоеточие стоит со стороны нового типа набора.
Пример:
scala> val x = List(1) x: List[Int] = List(1) scala> val y = LinkedList(2) y: scala.collection.mutable.LinkedList[Int] = LinkedList(2) scala> val z = x ++: y z: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2)
Этот перегруз существует потому, что: для реализации ++: следует использовать реализацию ++, так как многие наборы переопределяют её более эффективными версиями.
Поскольку у TraversableOnce нет метода ++, нам нужно реализовать его напрямую, но Traversable и ниже могут использовать перегруз.
- B
тип элемента возвращаемого набора.
- That
класс возвращаемого набора. Где возможно,
That— это тот же класс, что и текущий класс набораRepr, но это зависит от типа элементаB, который должен быть допустимым для этого класса, что означает, что найден неявный экземпляр типаCanBuildFrom[Repr, B, That].- bf
неявное значение класса
CanBuildFrom, определяющее класс результатаThatпо текущему типу представленияReprи новому типу элементаB.- returns
новый набор типа
That, содержащий все элементы этого набора, за которыми следуют все элементыthat.
- Definition Classes
- TraversableViewLike → TraversableLike
def ++:[B](that: TraversableOnce[B]): Iterable[B]
Как и в случае с ++, возвращает новый набор, содержащий элементы из левого операнда, за которыми следуют элементы из правого операнда.
Отличается от ++ тем, что правый операнд определяет тип результирующего набора, а не левый. Мемоническая подсказка: двоеточие стоит со стороны нового типа набора.
Пример:
scala> val x = List(1) x: List[Int] = List(1) scala> val y = LinkedList(2) y: scala.collection.mutable.LinkedList[Int] = LinkedList(2) scala> val z = x ++: y z: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2)
- B
тип элемента возвращаемого набора.
- that
набор для добавления.
- returns
новый итерируемый набор, который содержит все элементы этого итерируемого набора, за которыми следуют все элементы
that.
- Definition Classes
- TraversableViewLike → TraversableLike
def ->[B](y: B): (TakenWhile, B)
- Implicit
- This member is added by an implicit conversion from TakenWhile to ArrowAssoc[TakenWhile] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
def /:[B](z: B)(op: (B, A) ⇒ B): B
Применяет бинарный оператор к начальному значению и всем элементам этого итерируемого объекта или итератора, слева направо.
Примечание: /: — это альтернативная запись для foldLeft; z /: xs эквивалентно xs foldLeft z.
Примеры:
Обратите внимание, что функция свертки, используемая для вычисления b, эквивалентна функции свертки, используемой для вычисления c.
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = (5 /: a)(_+_) b: Int = 15 scala> val c = (5 /: a)((x,y) => x + y) c: Int = 15
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен, или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- z
начальное значение.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого итерируемого объекта или итератора слева направо с начальным значениемzслева:op(...op(op(z, x_1), x_2), ..., x_n)
где
x1, ..., xn— элементы этого итерируемого объекта или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def :\[B](z: B)(op: (A, B) ⇒ B): B
Применяет бинарный оператор ко всем элементам этого итерируемого объекта или итератора и начальному значению, справа налево.
Примечание: :\ — это альтернативная запись для foldRight; xs :\ z эквивалентно xs foldRight z.
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен, или оператор не ассоциативен и коммутативен.
Примеры:
Обратите внимание, что функция свертки, используемая для вычисления b, эквивалентна функции свертки, используемой для вычисления c.
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = (a :\ 5)(_+_) b: Int = 15 scala> val c = (a :\ 5)((x,y) => x + y) c: Int = 15
- B
тип результата бинарного оператора.
- z
начальное значение
- op
бинарный оператор
- returns
-
результат вставки
opмежду последовательными элементами этого итерируемого объекта или итератора справа налево с начальным значениемzсправа:op(x_1, op(x_2, ... op(x_n, z)...))
где
x1, ..., xn— элементы этого итерируемого объекта или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
final def ==(arg0: Any): Boolean
Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).
- returns
true, если объект получателя эквивалентен аргументу;falseв противном случае.
- Definition Classes
- AnyRef → Any
def addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder
- Definition Classes
- ViewMkString
def addString(b: StringBuilder): StringBuilder
Добавляет все элементы этого итерируемого объекта или итератора в строковый буфер. Записываемый текст состоит из строковых представлений (с использованием метода toString) всех элементов этого итерируемого объекта или итератора без разделительной строки.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> val h = a.addString(b) h: StringBuilder = 1234
- b
строковый буфер, в который добавляются элементы.
- returns
строковый буфер
b, в который были добавлены элементы.
- Definition Classes
- TraversableOnce
def addString(b: StringBuilder, sep: String): StringBuilder
Добавляет все элементы этого итерируемого объекта или итератора в строковый буфер с использованием разделительной строки. Записываемый текст состоит из строковых представлений (с использованием метода toString) всех элементов этого итерируемого объекта или итератора, разделенных строкой sep.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> a.addString(b, ", ") res0: StringBuilder = 1, 2, 3, 4
- b
строковый буфер, в который добавляются элементы.
- sep
разделительная строка.
- returns
строковый буфер
b, в который были добавлены элементы.
- Definition Classes
- TraversableOnce
def aggregate[B](z: ⇒ B)(seqop: (B, A) ⇒ B, combop: (B, B) ⇒ B): B
Агрегирует результаты применения оператора к последующим элементам.
Это более общий вид fold и reduce. Он похож на foldLeft тем, что не требует, чтобы результат был супертипом типа элемента. Кроме того, он позволяет обрабатывать параллельные коллекции по частям, а затем объединяет промежуточные результаты.
aggregate разбивает итератор или перечислимый объект на разделы и обрабатывает каждый раздел, последовательно применяя seqop, начиная с z (как в foldLeft). Затем эти промежуточные результаты объединяются с помощью combop (как в fold). Реализация этой операции может работать с произвольным количеством разделов коллекции (даже с 1), поэтому combop может вызываться произвольное количество раз (даже 0).
Например, рассмотрим суммирование целых значений списка символов. Начальное значение суммы равно 0. Сначала seqop преобразует каждый входной символ в Int и добавляет его к сумме (раздела). Затем combop нужно просто просуммировать промежуточные результаты разделов:
List('a', 'b', 'c').aggregate(0)({ (sum, ch) => sum + ch.toInt }, { (p1, p2) => p1 + p2 })
- B
тип аккумулированных результатов
- z
начальное значение аккумулированного результата раздела — обычно это нейтральный элемент для оператора
seqop(например,Nilдля конкатенации списков или0для суммирования) и может быть вычислен более чем один раз- seqop
оператор, используемый для накопления результатов в пределах раздела
- combop
ассоциативный оператор, используемый для объединения результатов из разных разделов
- Definition Classes
- TraversableOnce → GenTraversableOnce
final def asInstanceOf[T0]: T0
Приведение объекта-получателя к типу T0.
Обратите внимание, что успех приведения во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] вызовет ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] нет. В последнем примере, поскольку тип аргумента стирается во время компиляции, невозможно проверить, соответствуют ли содержимое списка нужному типу.
- returns
объект-получатель.
- Definition Classes
- Any
- Exceptions thrown
ClassCastException, если объект-получатель не является экземпляром стирания типаT0.
def canEqual(that: Any): Boolean
Метод, вызываемый методами равенства, чтобы пользовательские подклассы могли отказать в равенстве другим коллекциям того же типа.
- that
Объект, с которым следует сравнить эту коллекцию итераций
- returns
true, если эта коллекция итераций может быть равнойthat,falseв противном случае. Тест учитывает только типы объектов во время выполнения, но игнорирует их элементы.
- Definition Classes
- IterableLike → Equals
def clone(): AnyRef
Создает копию объекта-получателя.
По умолчанию реализация метода clone зависит от платформы.
- returns
копия объекта-получателя.
def collect[B](pf: PartialFunction[A, B]): Iterable[B]
Создает новую коллекцию, применяя частичную функцию ко всем элементам этой коллекции, для которых функция определена.
- B
тип элементов возвращаемой коллекции.
- pf
частичная функция, которая фильтрует и отображает коллекцию итераций.
- returns
новая коллекция итераций, полученная путем применения заданной частичной функции
pfк каждому элементу, для которого она определена, и сбора результатов. Порядок элементов сохраняется.
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike
def collectFirst[B](pf: PartialFunction[A, B]): Option[B]
Находит первый элемент итератора или перечислимого объекта, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- pf
частичная функция
- returns
значение Option, содержащее результат применения pf к первому значению, для которого оно определено, или
None, если такового нет.
- Definition Classes
- TraversableOnce
Seq("a", 1, 5L).collectFirst({ case x: Int => x*10 }) = Some(10)
def companion: GenericCompanion[Iterable]
Объект-компаньон фабрики, который создаёт экземпляры класса Iterable. (или его Iterable суперкласса, где класс Iterable не является Seq.)
- Definition Classes
- Iterable → GenIterable → Traversable → GenTraversable → GenericTraversableTemplate
def copyToArray(xs: Array[A], start: Int, len: Int): Unit
Копирует элементы этого итерируемого набора в массив. Заполняет данный массив xs не более чем len элементами этого итерируемого набора, начиная с позиции start. Копирование прекращается, когда достигается конец текущего итерируемого набора, конец целевого массива или когда len элемента были скопированы.
Примечание: не завершится для коллекций бесконечного размера.
- xs
массив для заполнения.
- start
начальный индекс.
- len
максимальное количество копируемых элементов.
- Definition Classes
- IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce
def copyToArray(xs: Array[A]): Unit
Копирует элементы этого итерируемого набора в массив. Заполняет данный массив xs значениями этого итерируемого набора. Копирование прекращается, когда достигается конец текущего итерируемого набора или конец целевого массива.
Примечание: не завершится для коллекций бесконечного размера.
- xs
массив для заполнения.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def copyToArray(xs: Array[A], start: Int): Unit
Копирует элементы этого итерируемого набора в массив. Заполняет данный массив xs значениями этого итерируемого набора, начиная с индекса start. Копирование прекращается, когда достигается конец текущего итерируемого набора или конец целевого массива.
Примечание: не завершится для коллекций бесконечного размера.
- xs
массив для заполнения.
- start
начальный индекс.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def copyToBuffer[B >: A](dest: Buffer[B]): Unit
Копирует все элементы этого итерируемого набора или итератора в буфер.
Примечание: не завершится для коллекций бесконечного размера.
- dest
Буфер, в который копируются элементы.
- Definition Classes
- TraversableOnce
def count(p: (A) ⇒ Boolean): Int
Подсчитывает количество элементов в итерируемом наборе или итераторе, которые удовлетворяют условию предиката.
- p
предикат, используемый для проверки элементов.
- returns
количество элементов, удовлетворяющих предикату
p.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def drop(n: Int): IterableView[A, Coll]
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- n
количество элементов, которые нужно отбросить из этого итерируемого набора.
- returns
итерируемый набор, состоящий из всех элементов этого итерируемого набора, кроме первых
n, или пустого итерируемого набора, если в этом итерируемом наборе меньшеnэлементов. Еслиnотрицательно, не отбрасывать элементы.
- Definition Classes
- IterableViewLike → TraversableViewLike → IterableLike → TraversableLike → GenTraversableLike
def dropRight(n: Int): IterableView[A, Coll]
Выбирает все элементы, кроме последних n.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- n
Количество элементов для взятия
- returns
итерируемый набор, состоящий из всех элементов этого итерируемого набора, кроме последних
n, или пустого итерируемого набора, если в этом итерируемом наборе меньшеnэлементов.
- Definition Classes
- IterableViewLike → IterableLike
def dropWhile(p: (A) ⇒ Boolean): IterableView[A, Coll]
Удаляет самую длинную префиксную последовательность элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора данных не упорядочен.
- возвращает
самый длинный суффикс этого набора данных, первый элемент которого не удовлетворяет предикату
p.
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike
def ensuring(cond: (TakenWhile) ⇒ Boolean, msg: ⇒ Any): TakenWhile
- Implicit
- Этот член добавлен неявным преобразованием из TakenWhile в Ensuring[TakenWhile] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: (TakenWhile) ⇒ Boolean): TakenWhile
- Implicit
- Этот член добавлен неявным преобразованием из TakenWhile в Ensuring[TakenWhile] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean, msg: ⇒ Any): TakenWhile
- Implicit
- Этот член добавлен неявным преобразованием из TakenWhile в Ensuring[TakenWhile] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean): TakenWhile
- Implicit
- Этот член добавлен неявным преобразованием из TakenWhile в Ensuring[TakenWhile] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
final def eq(arg0: AnyRef): Boolean
Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).
Метод eq реализует отношение эквивалентности на не-null экземплярах AnyRef и имеет три дополнительных свойства:
-
Он является согласованным: для любых не-null экземпляров
x и y типа AnyRef многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false. Для любого не-null экземпляра x типа AnyRef, вызовы x.eq(null) и null.eq(x) возвращают false.
null.eq(null) возвращает true. При переопределении методов equals или hashCode важно обеспечить согласованность их поведения с равенством по ссылке. Поэтому, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и иметь одинаковое значение хэша (o1.hashCode == o2.hashCode).
- возвращает
true, если аргумент является ссылкой на объект-получатель;falseв противном случае.
- Definition Classes
- AnyRef
def equals(arg0: Any): Boolean
Метод проверки равенства для ссылочных типов. Реализация по умолчанию делегирует eq.
См. также equals в scala.Any.
- возвращает
true, если объект-получатель эквивалентен аргументу;falseв противном случае.
- Definition Classes
- AnyRef → Any
def exists(p: (A) ⇒ Boolean): Boolean
Проверяет, выполняется ли предикат хотя бы для одного элемента этого итерируемого набора данных.
Примечание: может не завершиться для бесконечных наборов данных.
- p
предикат, используемый для проверки элементов.
- возвращает
false, если этот итерируемый набор данных пуст, в противном случаеtrue, если данный предикатpвыполняется для некоторых элементов этого итерируемого набора данных, в противном случаеfalse
- Definition Classes
- IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce
def filter(p: (A) ⇒ Boolean): IterableView[A, Coll]
Выбирает все элементы этого набора, удовлетворяющие предикату.
- p
предикат, используемый для проверки элементов.
- returns
новый набор, состоящий из всех элементов этого набора, удовлетворяющих заданному предикату
p. Порядок элементов сохраняется.
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike
def filterNot(p: (A) ⇒ Boolean): IterableView[A, Coll]
Выбирает все элементы этого набора, которые не удовлетворяют предикату.
- p
предикат, используемый для проверки элементов.
- returns
новый набор, состоящий из всех элементов этого набора, которые не удовлетворяют заданному предикату
p. Порядок элементов сохраняется.
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike
def finalize(): Unit
Вызывается сборщиком мусора для объекта-получателя, когда больше нет ссылок на объект.
Подробности о том, когда и если вызывается метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями, зависят от платформы.
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- Note
не указано SLS в качестве члена AnyRef
def find(p: (A) ⇒ Boolean): Option[A]
Ищет первый элемент в итерируемом наборе, удовлетворяющий предикату, если таковой имеется.
Примечание: может не завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
- p
предикат, используемый для проверки элементов.
- returns
значение типа option, содержащее первый элемент в итерируемом наборе, удовлетворяющий
p, илиNone, если таковой не существует.
- Definition Classes
- IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce
def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): Iterable[B]
Строит новый набор, применяя функцию ко всем элементам этого итерируемого набора и используя элементы полученных наборов.
Например:
def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")
Тип результирующего набора определяется статическим типом итерируемого набора. Это может иногда приводить к неожиданным результатам. Например:
// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)
// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap (word => word.toSeq)
// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)
// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
- B
тип элементов возвращаемого набора.
- f
функция, применяемая к каждому элементу.
- returns
новый итерируемый набор, полученный путем применения заданной функции, возвращающей набор
f, к каждому элементу этого итерируемого набора и конкатенации результатов.
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike → FilterMonadic
def flatten[B]: Iterable[B]
Преобразует этот итерируемый набор наборов в итерируемый набор, образованный элементами этих наборов.
Тип результирующего набора будет определяться статическим типом итерируемого набора. Например:
val xs = List(
Set(1, 2, 3),
Set(1, 2, 3)
).flatten
// xs == List(1, 2, 3, 1, 2, 3)
val ys = Set(
List(1, 2, 3),
List(3, 2, 1)
).flatten
// ys == Set(1, 2, 3)
- B
тип элементов каждого набора.
- returns
новый итерируемый набор, полученный путем конкатенации всех элементов наборов.
- Definition Classes
- TraversableViewLike → GenericTraversableTemplate
def fold[A1 >: A](z: A1)(op: (A1, A1) ⇒ A1): A1
Вычисляет результирующее значение, комбинируя элементы этого итерируемого набора с помощью заданного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть недетерминированным.
Примечание: не завершится для наборов бесконечного размера.
- A1
тип параметра для бинарного оператора, надтипа
A.- z
нейтральный элемент для операции сворачивания; может быть добавлен к результату произвольное количество раз, и не должен изменять результат (например,
Nilдля конкатенации списков, 0 для сложения или 1 для умножения).- op
бинарный оператор, который должен быть ассоциативным.
- returns
результат применения оператора сворачивания
opмежду всеми элементами иz, илиz, если этот итерируемый набор пустой.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def foldLeft[B](z: B)(op: (B, A) ⇒ B): B
Применяет бинарный оператор к начальному значению и всем элементам этого перебираемого объекта или итератора, слева направо.
Примечание: не завершится для бесконечных коллекций.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- z
начальное значение.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого перебираемого объекта или итератора, слева направо с начальным значениемzслева:op(...op(z, x_1), x_2, ..., x_n)
где
x1, ..., xnявляются элементами этого перебираемого объекта или итератора. Возвращаетz, если этот перебираемый объект или итератор пуст.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def foldRight[B](z: B)(op: (A, B) ⇒ B): B
Применяет бинарный оператор ко всем элементам этого итерируемого набора и начальному значению, справа налево.
Примечание: не завершится для бесконечных коллекций.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции упорядочен. или оператор является ассоциативным и коммутативным.
- B
тип результата бинарного оператора.
- z
начальное значение.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого итерируемого набора, справа налево с начальным значениемzсправа:op(x_1, op(x_2, ... op(x_n, z)...))
где
x1, ..., xn— элементы этого итерируемого набора. Возвращаетz, если этот итерируемый набор пуст.
- Definition Classes
- IterableLike → TraversableOnce → GenTraversableOnce
def forall(p: (A) ⇒ Boolean): Boolean
Проверяет, выполняется ли предикат для всех элементов этого итерируемого набора.
Примечание: может не завершиться для бесконечных коллекций.
- p
предикат, используемый для проверки элементов.
- returns
true, если этот итерируемый набор пуст или заданный предикатpвыполняется для всех элементов этого итерируемого набора, в противном случаеfalse.
- Definition Classes
- IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce
def force[B >: A, That](implicit bf: CanBuildFrom[Coll, B, That]): That
- Definition Classes
- TraversableViewLike
def foreach(f: (A) ⇒ Unit): Unit
Применяет функцию f ко всем элементам этого итерируемого набора.
- f
функция, которая применяется для побочного эффекта к каждому элементу. Результат функции
fигнорируется.
- Definition Classes
- Transformed → Transformed → IterableLike → GenericTraversableTemplate → TraversableLike → GenTraversableLike → TraversableOnce → GenTraversableOnce → FilterMonadic
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной строкой format. Строки формата такие же, как в String.format (@см. java.lang.String.format).
- Неявный
- Этот член добавляется неявным преобразованием из TakenWhile в StringFormat[TakenWhile] с помощью метода StringFormat в scala.Predef.
- Definition Classes
- StringFormat
- Аннотации
- @inline()
def genericBuilder[B]: Builder[B, Iterable[B]]
Общий билдер, который строит экземпляры Traversable для произвольных типов элементов.
- Definition Classes
- GenericTraversableTemplate
final def getClass(): Class[_]
Возвращает представление класса объекта во время выполнения.
- returns
объект класса, соответствующий типу получателя во время выполнения.
def groupBy[K](f: (A) ⇒ K): immutable.Map[K, IterableView[A, Coll]]
Разделяет эту коллекцию на карту коллекций в соответствии с функцией-дискриминатором.
Примечание: этот метод не переопределяется представлениями. Это означает, что при применении к представлению он всегда будет принудительно возвращать новую коллекцию.
- K
тип ключей, возвращаемых функцией-дискриминатором.
- f
функция-дискриминатор.
- returns
-
Карта из ключей в коллекции, удовлетворяющая следующему инварианту:
(xs groupBy f)(k) = xs filter (x => f(x) == k)
То есть, каждый ключ
kсвязан с коллекцией тех элементовx, для которыхf(x)равноk.
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike
def grouped(size: Int): Iterator[IterableView[A, Coll]]
Разделяет элементы на итерируемые коллекции фиксированного размера.
- size
количество элементов в группе
- returns
Итератор, генерирующий итерируемые коллекции размером
size, за исключением последней, которая будет меньше, чем размерsize, если элементы не делятся на него без остатка.
- Definition Classes
- IterableViewLike → IterableLike
- См. также
scala.collection.Iterator, метод
grouped
def hasDefiniteSize: Boolean
Проверяет, имеет ли эта итерируемая коллекция определенный конечный размер. Все строгие коллекции известны как имеющие конечный размер. Для нестрогой коллекции, такой как Stream, предикат возвращает true, если все элементы были вычислены. Он возвращает false, если поток еще не обработан до конца. Непустые итераторы обычно возвращают false, даже если они были созданы из коллекции с известным конечным размером.
Примечание: многие методы коллекций не будут работать с коллекциями бесконечных размеров. Типичный режим сбоя - бесконечный цикл. Эти методы всегда пытаются пройти по коллекции, не проверяя сначала, что hasDefiniteSize возвращает true. Однако проверка hasDefiniteSize может гарантировать, что размер определен и невозвращение не является проблемой.
- returns
true, если эта коллекция имеет конечный размер,falseв противном случае.
- Definition Classes
- TraversableLike → TraversableOnce → GenTraversableOnce
def hashCode(): Int
Метод hashCode для ссылочных типов. См. hashCode в scala.Any.
- returns
значение хэш-кода для этого объекта.
def head: A
Выбирает первый элемент этой итерируемой коллекции.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- returns
первый элемент этой итерируемой коллекции.
- Definition Classes
- IterableLike → TraversableLike → GenTraversableLike
- Исключения
NoSuchElementException, если итерируемая коллекция пуста.
def headOption: Option[A]
Необязательно выбирает первый элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- returns
первый элемент этой коллекции, если она непуста,
None, если она пуста.
- Definition Classes
- Transformed → TraversableLike → GenTraversableLike
def init: IterableView[A, Coll]
Выбирает все элементы, кроме последнего.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- returns
коллекция, состоящая из всех элементов этой коллекции, кроме последнего.
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike
- Исключения
UnsupportedOperationException, если коллекция пуста.
def inits: Iterator[IterableView[A, Coll]]
Итерирует по начальным значениям этого набора. Первое значение будет этим набором, а последнее — пустым набором, а промежуточные значения — результатом последовательных применений init.
- returns
итератор по всем начальным значениям этого набора
- Definition Classes
- TraversableViewLike → TraversableLike
List(1,2,3).inits = Iterator(List(1,2,3), List(1,2), List(1), Nil)
def isEmpty: Boolean
Проверяет, является ли этот итерируемый набор пустым.
- returns
true, если итерируемый набор не содержит элементов,falseв противном случае.
- Definition Classes
- Transformed → IterableLike → GenericTraversableTemplate → TraversableLike → TraversableOnce → GenTraversableOnce
final def isInstanceOf[T0]: Boolean
Проверяет, является ли динамический тип объекта-приемника T0.
Обратите внимание, что результат проверки зависит от стирания типов в Scala. Таким образом, выражение 1.isInstanceOf[String] вернёт false, в то время как выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, поскольку тип аргумента стирается во время компиляции, невозможно проверить, соответствуют ли элементы списка заданному типу.
- returns
true, если объект-приемник является экземпляром стираемого типаT0;falseв противном случае.
- Definition Classes
- Any
final def isTraversableAgain: Boolean
Проверяет, можно ли многократно итерировать по этому набору.
- returns
true
- Definition Classes
- TraversableLike → GenTraversableLike → GenTraversableOnce
def iterator: Iterator[A]
Создаёт новый итератор по всем элементам, содержащимся в этом итерируемом объекте.
- returns
новый итератор
- Definition Classes
- TakenWhile → Transformed → IterableLike → GenIterableLike
def last: A
Возвращает последний элемент.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
- returns
Последний элемент этого набора.
- Definition Classes
- Transformed → TraversableLike → GenTraversableLike
- Исключения
NoSuchElementExceptionЕсли набор пуст.
def lastOption: Option[A]
Возвращает последний элемент, если он есть.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
- returns
последний элемент этого набора, если он не пустой,
None, если он пустой.
- Definition Classes
- Transformed → TraversableLike → GenTraversableLike
def map[B](f: (A) ⇒ B): Iterable[B]
Создаёт новый набор, применяя функцию ко всем элементам этого итерируемого набора.
- B
тип элемента возвращаемого набора.
- f
функция, которую нужно применить к каждому элементу.
- returns
новый итерируемый набор, полученный путём применения заданной функции
fк каждому элементу этого итерируемого набора и сбора результатов.
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike → FilterMonadic
def max: A
Находит наибольший элемент.
- returns
наибольший элемент этого итерируемого набора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationException, если этот итерируемый набор пуст.
def maxBy[B](f: (A) ⇒ B): A
Находит первый элемент, который возвращает наибольшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- возвращает
первый элемент этого итерируемого набора с наибольшим значением, измеренным функцией f.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationException, если этот итерируемый набор пуст.
def min: A
Находит наименьший элемент.
- возвращает
наименьший элемент этого итерируемого набора
- Определяющие классы
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationException, если этот итерируемый набор пуст.
def minBy[B](f: (A) ⇒ B): A
Находит первый элемент, который возвращает наименьшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- возвращает
первый элемент этого итерируемого набора с наименьшим значением, измеренным функцией f.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли этот итерируемый набор пуст.
def mkString(start: String, sep: String, end: String): String
- Определяющие классы
- ViewMkString
def mkString(sep: String): String
- Определяющие классы
- ViewMkString
def mkString: String
- Определяющие классы
- ViewMkString
final def ne(arg0: AnyRef): Boolean
Эквивалентно !(this eq that).
- возвращает
true, если аргумент не является ссылкой на объект-получатель;falseв противном случае.
- Определяющие классы
- AnyRef
def newAppended[B >: A](that: GenTraversable[B]): Transformed[B]
- Атрибуты
- protected
- Определяющие классы
- IterableViewLike → TraversableViewLike
def newBuilder: Builder[A, IterableView[A, Coll]]
Построитель, который создаёт экземпляры типа Traversable[A]
- Атрибуты
- protected[this]
- Определяющие классы
- TraversableViewLike → GenericTraversableTemplate → TraversableLike → HasNewBuilder
def newDropped(n: Int): Transformed[A]
- Атрибуты
- protected
- Определяющие классы
- IterableViewLike → TraversableViewLike
def newDroppedWhile(p: (A) ⇒ Boolean): Transformed[A]
- Атрибуты
- protected
- Определяющие классы
- IterableViewLike → TraversableViewLike
def newFiltered(p: (A) ⇒ Boolean): Transformed[A]
- Атрибуты
- protected
- Классы-определения
- IterableViewLike → TraversableViewLike
def newFlatMapped[B](f: (A) ⇒ GenTraversableOnce[B]): Transformed[B]
- Атрибуты
- protected
- Классы-определения
- IterableViewLike → TraversableViewLike
def newForced[B](xs: ⇒ GenSeq[B]): Transformed[B]
Метод-шаблон, переопределяемый в каждом подклассе. Этот метод можно исключить, если в Scala были бы виртуальные классы
- Атрибуты
- protected
- Классы-определения
- IterableViewLike → TraversableViewLike
def newMapped[B](f: (A) ⇒ B): Transformed[B]
- Атрибуты
- protected
- Классы-определения
- IterableViewLike → TraversableViewLike
def newPrepended[B >: A](that: GenTraversable[B]): Transformed[B]
- Атрибуты
- protected
- Классы-определения
- IterableViewLike → TraversableViewLike
def newSliced(_endpoints: SliceInterval): Transformed[A]
- Атрибуты
- protected
- Классы-определения
- IterableViewLike → TraversableViewLike
def newTaken(n: Int): Transformed[A]
- Атрибуты
- protected
- Классы-определения
- IterableViewLike → TraversableViewLike
def newTakenWhile(p: (A) ⇒ Boolean): Transformed[A]
- Атрибуты
- protected
- Классы-определения
- IterableViewLike → TraversableViewLike
def newZipped[B](that: GenIterable[B]): Transformed[(A, B)]
Метод-шаблон, переопределяемый в каждом подклассе. Этот метод можно исключить, если в Scala были бы виртуальные классы
- Атрибуты
- protected
- Классы-определения
- IterableViewLike
def newZippedAll[A1 >: A, B](that: GenIterable[B], _thisElem: A1, _thatElem: B): Transformed[(A1, B)]
- Атрибуты
- protected
- Классы-определения
- IterableViewLike
def nonEmpty: Boolean
Проверяет, является ли обход или итератор непустым.
- returns
true, если обход или итератор содержит по крайней мере один элемент,falseв противном случае.
- Definition Classes
- TraversableOnce → GenTraversableOnce
final def notify(): Unit
Разбуждает один поток, ожидающий монитора объекта-приёмника.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Note
не указано SLS как член AnyRef
final def notifyAll(): Unit
Разбуждает все потоки, ожидающие монитора объекта-приёмника.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Note
не указано SLS как член AnyRef
def par: ParIterable[A]
Возвращает параллельную реализацию этого набора.
Для большинства типов наборов этот метод создаёт новый параллельный набор, копируя все элементы. Для этих наборов, par занимает линейное время. Изменяемые наборы в этой категории не создают изменяемый параллельный набор с тем же базовым набором данных, поэтому изменения в одном наборе не будут отражаться в другом.
Специфические наборы (например, ParArray или mutable.ParHashMap) переопределяют это поведение по умолчанию, создавая параллельный набор, который разделяет тот же базовый набор данных. Для этих наборов, par занимает постоянное или сублинейное время.
Все параллельные наборы возвращают ссылку на себя.
- returns
параллельная реализация этого набора
- Definition Classes
- Parallelizable
def parCombiner: Combiner[A, ParIterable[A]]
Реализация par по умолчанию использует комбинирующий элемент, предоставленный этим методом, для создания нового параллельного набора.
- returns
комбинирующий элемент для параллельного набора типа
ParRepr
- Attributes
- protected[this]
- Definition Classes
- TraversableLike → Parallelizable
def partition(p: (A) ⇒ Boolean): (IterableView[A, Coll], IterableView[A, Coll])
Разделяет этот набор на два набора в соответствии с предикатом.
- p
предикат для разделения.
- returns
пара наборов: первый набор состоит из всех элементов, которые удовлетворяют предикату
p, а второй набор состоит из всех элементов, которые не удовлетворяют. Относительный порядок элементов в результирующих наборах такой же, как и в исходном наборе.
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike
def product: A
Перемножает элементы этого набора.
- returns
произведение всех элементов в этом итерируемом наборе чисел типа
Int. ВместоInt, можно использовать любой другой типTс неявной реализациейNumeric[T]в качестве типа элемента итерируемого набора и как тип результатаproduct. Примеры таких типов:Long,Float,Double,BigInt.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def reduce[A1 >: A](op: (A1, A1) ⇒ A1): A1
Приводит элементы этого обхода или итератора к использованию указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
- A1
Параметр типа для бинарного оператора, супертип
A.- op
Бинарный оператор, который должен быть ассоциативным.
- returns
Результат применения оператора reduce
opмежду всеми элементами, если обход или итератор непустой.
- Definition Classes
- TraversableOnce → GenTraversableOnce
- Exceptions thrown
UnsupportedOperationException, если этот обход или итератор пустой.
def reduceLeft[B >: A](op: (B, A) ⇒ B): B
Применяет бинарный оператор ко всем элементам этого перебираемого объекта или итератора, слева направо.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого перебираемого объекта или итератора, слева направо:op( op( ... op(x_1, x_2) ..., x_{n-1}), x_n)где
x1, ..., xn- элементы этого перебираемого объекта или итератора.
- Definition Classes
- TraversableOnce
- Исключения
UnsupportedOperationExceptionесли этот перебираемый объект или итератор пуст.
def reduceLeftOption[B >: A](op: (B, A) ⇒ B): Option[B]
Возвращает значение бинарного оператора, примененного ко всем элементам этого перебираемого объекта или итератора, слева направо.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
значение Option, содержащее результат
reduceLeft(op), если этот перебираемый объект или итератор не пустой,Noneв противном случае.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def reduceOption[A1 >: A](op: (A1, A1) ⇒ A1): Option[A1]
Применяет заданный ассоциативный бинарный оператор к элементам этого перебираемого объекта или итератора.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
- A1
Параметр типа для бинарного оператора, надтипом
A.- op
Бинарный оператор, который должен быть ассоциативным.
- returns
Значение Option, содержащее результат применения оператора reduce
opмежду всеми элементами, если коллекция не пуста, иNoneв противном случае.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def reduceRight[B >: A](op: (A, B) ⇒ B): B
Применяет бинарный оператор ко всем элементам этой итерируемой коллекции, справа налево.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этой итерируемой коллекции, справа налево:op(x_1, op(x_2, ..., op(x_{n-1}, x_n)...))где
x1, ..., xn- элементы этой итерируемой коллекции.
- Definition Classes
- IterableLike → TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли эта итерируемая коллекция пуста.
def reduceRightOption[B >: A](op: (A, B) ⇒ B): Option[B]
Возвращает значение Option, содержащее результат бинарного оператора, примененного ко всем элементам этого перебираемого объекта или итератора, справа налево.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
значение Option, содержащее результат
reduceRight(op), если этот перебираемый объект или итератор не пустой,Noneв противном случае.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def repr: IterableView[A, Coll]
Коллекция типа перебираемой коллекции, лежащая в основе этого TraversableLike объекта. По умолчанию это сам объект TraversableLike, но это можно переопределить.
- Definition Classes
- TraversableLike → GenTraversableLike
def reversed: List[A]
- Attributes
- protected[this]
- Definition Classes
- TraversableOnce
def sameElements(that: GenIterable[A]): Boolean
Проверяет, содержит ли другая итерируемая коллекция те же элементы в том же порядке, что и эта итерируемая коллекция.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
Примечание: не будет завершаться для коллекций бесконечного размера.
- that
коллекция для сравнения.
- returns
true, если обе коллекции содержат одинаковые элементы в одинаковом порядке,falseв противном случае.
- Definition Classes
- IterableLike → GenIterableLike
def scan[B >: A, That](z: B)(op: (B, B) ⇒ B)(implicit cbf: CanBuildFrom[IterableView[A, Coll], B, That]): That
Вычисляет префиксный сканирование элементов коллекции.
Примечание: нейтральный элемент z может применяться более одного раза.
- B
тип элементов результирующей коллекции
- That
тип результирующей коллекции
- z
нейтральный элемент для оператора
op- op
ассоциативный оператор для сканирования
- cbf
фабрика комбинирования, которая предоставляет комбинировщик
- returns
новая коллекция traversable, содержащая префиксный сканирование элементов в этой коллекции traversable
- Definition Classes
- TraversableLike → GenTraversableLike
def scanLeft[B, That](z: B)(op: (B, A) ⇒ B)(implicit bf: CanBuildFrom[IterableView[A, Coll], B, That]): That
Создаёт коллекцию, содержащую кумулятивные результаты применения оператора слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- B
тип элементов в результирующей коллекции
- That
фактический тип результирующей коллекции
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- bf
неявное значение класса
CanBuildFrom, определяющее класс результатаThatиз текущего типа представленияReprи нового типа элементаB.- returns
коллекция со промежуточными результатами
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike
def scanRight[B, That](z: B)(op: (A, B) ⇒ B)(implicit bf: CanBuildFrom[IterableView[A, Coll], B, That]): That
Создаёт коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Голова коллекции — это последний кумулятивный результат.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
- B
тип элементов в результирующей коллекции
- That
фактический тип результирующей коллекции
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- bf
неявное значение класса
CanBuildFrom, определяющее класс результатаThatиз текущего типа представленияReprи нового типа элементаB.- returns
коллекция со промежуточными результатами
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike
- Annotations
- @migration
- Migration
(Изменено в версии 2.9.0) Поведение
scanRightизменилось. Предыдущее поведение можно воспроизвести с помощью scanRight.reverse.
def seq: Iterable[A]
Версия этой коллекции, в которой все операции реализованы последовательно (т.е. в однопоточном режиме).
Этот метод возвращает ссылку на эту коллекцию. В параллельных коллекциях он переопределён для возвращения последовательной реализации этой коллекции. В обоих случаях сложность составляет O(1).
- returns
последовательный вид коллекции.
- Definition Classes
- Iterable → GenIterable → Traversable → GenTraversable → Parallelizable → TraversableOnce → GenTraversableOnce
def size: Int
Размер этого итерируемого объекта или итератора.
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
количество элементов в этом итерируемом объекте или итераторе.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
def sizeHintIfCheap: Int
Размер этой коллекции или итератора, если он может быть вычислен недорого.
- возвращает
количество элементов в этой коллекции или итераторе, или -1, если размер нельзя определить недорого
- Атрибуты
- protected[collection]
- Определяющие классы
- GenTraversableOnce
def slice(from: Int, until: Int): IterableView[A, Coll]
Выбирает интервал элементов. Возвращаемая коллекция состоит из всех элементов x, которые удовлетворяют инварианту:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- возвращает
итерируемая коллекция, содержащая элементы, большие или равные индексу
from, и простирающаяся до (но не включая) индексuntilэтой итерируемой коллекции.
- Определяющие классы
- IterableLike → TraversableLike → GenTraversableLike
def sliding(size: Int): Iterator[IterableView[A, Coll]]
Группирует элементы в блоки фиксированного размера, передавая «скользящее окно» над ними (в отличие от разбиения их, как это делается в grouped.) Шаг «скользящего окна» установлен в один.
- size
количество элементов в каждой группе
- возвращает
Итератор, генерирующий итерируемые коллекции размера
size, за исключением последнего элемента (который может быть единственным элементом), который будет усечен, если оставшихся элементов для группировки меньше, чемsize.
- Определяющие классы
- IterableViewLike → IterableLike
- См. также
scala.collection.Iterator, метод
sliding
def sliding(size: Int, step: Int): Iterator[IterableView[A, Coll]]
Группирует элементы в блоки фиксированного размера, передавая «скользящее окно» над ними (в отличие от разбиения их, как это делается в grouped).
- size
количество элементов в каждой группе
- step
расстояние между первыми элементами последовательных групп
- возвращает
Итератор, генерирующий итерируемые коллекции размера
size, за исключением последнего элемента (который может быть единственным элементом), который будет усечен, если оставшихся элементов для группировки меньше, чемsize.
- Определяющие классы
- IterableViewLike → IterableLike
- См. также
scala.collection.Iterator, метод
sliding
def span(p: (A) ⇒ Boolean): (IterableView[A, Coll], IterableView[A, Coll])
Разделяет эту коллекцию на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- возвращает
пара, состоящая из самого длинного префикса этой коллекции, элементы которой удовлетворяют
p, и остальной части этой коллекции.
- Определяющие классы
- TraversableViewLike → TraversableLike → GenTraversableLike
def splitAt(n: Int): (IterableView[A, Coll], IterableView[A, Coll])
Разделяет эту коллекцию на две части в заданной позиции. Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- n
позиция разделения.
- возвращает
пара коллекций, состоящая из первых
nэлементов этой коллекции и других элементов.
- Определяющие классы
- TraversableViewLike → TraversableLike → GenTraversableLike
def stringPrefix: String
Определяет префикс представления этого объекта.
- возвращает
строковое представление, которое начинается с результата
toString, примененного к этой итерируемой коллекции. По умолчанию строковый префикс — это простое имя класса коллекции итерируемая коллекция.
- Определяющие классы
- IterableViewLike → TraversableViewLike → TraversableLike → GenTraversableLike
def sum: A
Суммирует элементы этой коллекции.
- returns
сумму всех элементов в этом итерируемом наборе чисел типа
Int. ВместоInt, может быть использован любой другой типTс неявнымNumeric[T]реализацией, как тип элементов итерируемой коллекции, и как тип результатаsum. Примеры таких типов:Long,Float,Double,BigInt.
- Definition Classes
- TraversableOnce → GenTraversableOnce
final def synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
def tail: IterableView[A, Coll]
Выбирает все элементы, кроме первого.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен.
- returns
коллекцию, состоящую из всех элементов этой коллекции, кроме первого.
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike
- Исключения
java.lang.UnsupportedOperationExceptionесли коллекция пуста.
def tails: Iterator[IterableView[A, Coll]]
Итерирует по хвостам этой коллекции. Первое значение будет этой коллекцией, а последнее — пустой коллекцией, промежуточные значения — результаты последовательных применений tail.
- returns
итератор по всем хвостам этой коллекции
- Definition Classes
- TraversableViewLike → TraversableLike
List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)
def take(n: Int): IterableView[A, Coll]
Выбирает первые n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен.
- n
число элементов для взятия из этой итерируемой коллекции.
- returns
итерируемую коллекцию, содержащую только первые
nэлементы этой итерируемой коллекции, или же всю итерируемую коллекцию, если в ней меньше чемnэлементов. Еслиnотрицательно, возвращает пустую итерируемую коллекцию.
- Definition Classes
- IterableViewLike → TraversableViewLike → IterableLike → TraversableLike → GenTraversableLike
def takeRight(n: Int): IterableView[A, Coll]
Выбирает последние n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен.
- n
число элементов для взятия
- returns
итерируемую коллекцию, содержащую только последние
nэлементы этой итерируемой коллекции, или же всю итерируемую коллекцию, если в ней меньше чемnэлементов.
- Definition Classes
- IterableViewLike → IterableLike
def takeWhile(p: (A) ⇒ Boolean): IterableView[A, Coll]
Берет самую длинную префиксную часть элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен.
- returns
самый длинный префикс этой итерируемой коллекции, чьи элементы все удовлетворяют предикату
p.
- Definition Classes
- IterableLike → TraversableLike → GenTraversableLike
def thisCollection: Iterable[A]
Базовая коллекция, рассматриваемая как экземпляр Iterable. По умолчанию это сам текущий объект коллекции, но это можно переопределить.
- Атрибуты
- protected[this]
- Definition Classes
- IterableLike → TraversableLike
def thisSeq: Seq[A]
- Атрибуты
- protected[this]
- Definition Classes
- ViewMkString
def to[Col[_]]: Col[A]
Преобразует эту итерируемую коллекцию в другую, скопировав все элементы.
Примечание: не завершится для коллекций бесконечного размера.
- Col
Тип коллекции для построения.
- возвращает
новая коллекция, содержащая все элементы этой итерируемой коллекции.
- Классы-определения
- TraversableLike → TraversableOnce → GenTraversableOnce
def toArray: Array[A]
Преобразует эту итерируемую коллекцию в массив.
Примечание: не завершится для коллекций бесконечного размера.
- возвращает
массив, содержащий все элементы этой итерируемой коллекции. Для типа элементов этой итерируемой коллекции должен быть доступен
ClassTag.
- Классы-определения
- TraversableOnce → GenTraversableOnce
def toBuffer[B >: A]: Buffer[B]
Использует содержимое этой итерируемой коллекции или итератора для создания нового изменяемого буфера.
Примечание: не завершится для коллекций бесконечного размера.
- возвращает
буфер, содержащий все элементы этой итерируемой коллекции или итератора.
- Классы-определения
- TraversableOnce → GenTraversableOnce
def toCollection(repr: IterableView[A, Coll]): Iterable[A]
Преобразование из коллекций типа Repr в объекты типа Iterable. По умолчанию это реализуется просто как приведение типа, но это можно переопределить.
- Атрибуты
- protected[this]
- Классы-определения
- IterableLike → TraversableLike
def toIndexedSeq: immutable.IndexedSeq[A]
Преобразует эту итерируемую коллекцию или итератор в индексированную последовательность.
Примечание: не завершится для коллекций бесконечного размера.
- возвращает
индексированная последовательность, содержащая все элементы этой итерируемой коллекции или итератора.
- Классы-определения
- TraversableOnce → GenTraversableOnce
def toIterable: Iterable[A]
Возвращает эту итерируемую коллекцию как итерируемую коллекцию.
Новая коллекция не будет создана; ленивые коллекции останутся ленивыми.
Примечание: не завершится для коллекций бесконечного размера.
- возвращает
Iterable, содержащая все элементы этой итерируемой коллекции.
- Классы-определения
- IterableLike → TraversableOnce → GenTraversableOnce
def toIterator: Iterator[A]
Возвращает итератор по элементам в этой итерируемой коллекции. Производит тот же результат, что и iterator.
Примечание: не завершится для коллекций бесконечного размера.
- возвращает
Итератор, содержащий все элементы этой итерируемой коллекции.
- Классы-определения
- IterableLike → TraversableLike → GenTraversableOnce
- Аннотации
- @deprecatedOverriding( message = ... , since = "2.11.0" )
def toList: List[A]
Преобразует эту итерируемую коллекцию или итератор в список.
Примечание: не завершится для коллекций бесконечного размера.
- возвращает
список, содержащий все элементы этой итерируемой коллекции или итератора.
- Классы-определения
- TraversableOnce → GenTraversableOnce
def toMap[T, U]: Map[T, U]
Преобразует эту итерируемую коллекцию в карту. Этот метод недоступен, если элементы не являются членами Tuple2, каждый ((T, U)) становится парой ключ-значение в карте. Повторяющиеся ключи будут перезаписаны последующими ключами: если это неупорядоченная коллекция, какой ключ находится в результирующей карте, не определено.
Примечание: не завершится для коллекций бесконечного размера.
- возвращает
карта типа
immutable.Map[T, U], содержащая все пары ключ/значение типа(T, U)этой итерируемой коллекции.
- Классы-определения
- TraversableOnce → GenTraversableOnce
def toParArray: ParArray[T]
- Неявный
- Этот член добавлен неявным преобразованием из TakenWhile в CollectionsHaveToParArray[TakenWhile, T] с помощью метода CollectionsHaveToParArray в scala.collection.parallel. Это преобразование произойдёт только в том случае, если в области видимости имеется неявное значение типа (TakenWhile) ⇒ GenTraversableOnce[T].
- Классы-определения
- CollectionsHaveToParArray
def toSeq: Seq[A]
Преобразует этот итератор или коллекцию в последовательность. Как и в случае с toIterable, эта реализация ленивая, так как этот TraversableOnce может быть ленивым и не вычисленным.
Примечание: не будет завершаться для бесконечных коллекций.
- возвращает
последовательность, содержащую все элементы этого итератора или коллекции.
- Классы-определения
- TraversableOnce → GenTraversableOnce
def toSet[B >: A]: immutable.Set[B]
Преобразует этот итератор или коллекцию в множество.
Примечание: не будет завершаться для бесконечных коллекций.
- возвращает
множество, содержащее все элементы этого итератора или коллекции.
- Классы-определения
- TraversableOnce → GenTraversableOnce
def toStream: immutable.Stream[A]
Преобразует эту итерируемую коллекцию в поток.
- возвращает
поток, содержащий все элементы этой итерируемой коллекции.
- Классы-определения
- IterableLike → TraversableLike → GenTraversableOnce
def toString(): String
Преобразует эту итерируемую коллекцию в строку.
- возвращает
строковое представление этой коллекции. По умолчанию эта строка состоит из
stringPrefixэтой итерируемой коллекции, за которым следуют все элементы, разделенные запятыми и заключенные в скобки.
- Классы-определения
- Transformed → Transformed → TraversableViewLike → TraversableLike → AnyRef → Any
def toTraversable: Traversable[A]
Преобразует эту итерируемую коллекцию в неспецифическое Traversable. Вернёт ту же коллекцию, если этот экземпляр уже является Traversable.
Примечание: не будет завершаться для бесконечных коллекций.
- возвращает
Traversable, содержащий все элементы этой итерируемой коллекции.
- Классы-определения
- TraversableLike → TraversableOnce → GenTraversableOnce
- Аннотации
- @deprecatedOverriding( message = ... , since = "2.11.0" )
def toVector: Vector[A]
Преобразует этот итератор или коллекцию в вектор.
Примечание: не будет завершаться для бесконечных коллекций.
- возвращает
вектор, содержащий все элементы этого итератора или коллекции.
- Классы-определения
- TraversableOnce → GenTraversableOnce
def transpose[B](implicit asTraversable: (A) ⇒ GenTraversableOnce[B]): Iterable[Iterable[B]]
Транспонирует эту коллекцию итерируемых коллекций в коллекцию коллекций.
Тип результирующей коллекции определяется статическим типом коллекции. Например:
val xs = List(
Set(1, 2, 3),
Set(4, 5, 6)).transpose
// xs == List(
// List(1, 4),
// List(2, 5),
// List(3, 6))
val ys = Vector(
List(1, 2, 3),
List(4, 5, 6)).transpose
// ys == Vector(
// Vector(1, 4),
// Vector(2, 5),
// Vector(3, 6))
- B
тип элементов каждой итерируемой коллекции.
- asTraversable
неявное преобразование, утверждающее, что тип элемента этой коллекции является
Traversable.- возвращает
двухмерная коллекция коллекций, у которой n-я строка является n-м столбцом этой коллекции.
- Классы-определения
- GenericTraversableTemplate
- Аннотации
- @migration
- Миграция
(Изменено в версии 2.9.0)
transposeвызываетIllegalArgumentException, если размеры коллекций не одинаковые.- Исключения
IllegalArgumentException, если все коллекции в этой коллекции не имеют одинакового размера.
lazy val underlying: Coll
- Классы-определения
- Transformed → TraversableViewLike
def unzip[A1, A2](implicit asPair: (A) ⇒ (A1, A2)): (TakenWhile.Transformed[A1], TakenWhile.Transformed[A2])
Преобразует эту коллекцию пар в две коллекции первой и второй половины каждой пары.
val xs = Traversable(
(1, "one"),
(2, "two"),
(3, "three")).unzip
// xs == (Traversable(1, 2, 3),
// Traversable(one, two, three))
- A1
тип первой половины пар элементов
- A2
тип второй половины пар элементов
- asPair
неявное преобразование, которое утверждает, что тип элемента этой коллекции является парой.
- returns
пара коллекций, содержащих первую и вторую половину каждой пары элементов этой коллекции.
- Definition Classes
- TraversableViewLike → GenericTraversableTemplate
def unzip3[A1, A2, A3](implicit asTriple: (A) ⇒ (A1, A2, A3)): (TakenWhile.Transformed[A1], TakenWhile.Transformed[A2], TakenWhile.Transformed[A3])
Преобразует эту коллекцию троек в три коллекции первого, второго и третьего элемента каждой тройки.
val xs = Traversable(
(1, "one", '1'),
(2, "two", '2'),
(3, "three", '3')).unzip3
// xs == (Traversable(1, 2, 3),
// Traversable(one, two, three),
// Traversable(1, 2, 3))
- A1
тип первого элемента троек элементов
- A2
тип второго элемента троек элементов
- A3
тип третьего элемента троек элементов
- asTriple
неявное преобразование, которое утверждает, что тип элемента этой коллекции является тройкой.
- returns
тройка коллекций, содержащих первый, второй и третий элемент каждой тройки элементов этой коллекции.
- Definition Classes
- TraversableViewLike → GenericTraversableTemplate
def view(from: Int, until: Int): IterableView[A, IterableView[A, Coll]]
Создает нестрогий вид среза этой итерируемой коллекции.
Примечание: разница между view и slice заключается в том, что view создает вид текущей итерируемой коллекции, тогда как slice создает новую итерируемую коллекцию.
Примечание: view(from, to) эквивалентно view.slice(from, to)
Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен.
- from
индекс первого элемента вида
- until
индекс элемента, следующего за видом
- returns
нестрогий вид среза этой итерируемой коллекции, начиная с индекса
fromи заканчивая (но не включая) индексuntil.
- Definition Classes
- IterableLike → TraversableLike
def view: IterableView[A, IterableView[A, Coll]]
Создает нестрогий вид этой итерируемой коллекции.
- returns
нестрогий вид этой итерируемой коллекции.
- Definition Classes
- IterableLike → TraversableLike
final def viewIdString: String
- Attributes
- protected[this]
- Definition Classes
- Transformed → TraversableViewLike
final def viewIdentifier: String
- Attributes
- protected[this]
- Definition Classes
- TakenWhile → TraversableViewLike
def viewToString: String
- Definition Classes
- TraversableViewLike
final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
final def wait(arg0: Long): Unit
def withFilter(p: (A) ⇒ Boolean): IterableView[A, Coll]
Создаёт нестрогий фильтр этой коллекции.
Примечание: разница между c filter p и c withFilter p заключается в том, что первый создаёт новую коллекцию, тогда как второй только ограничивает область действия последующих операций map, flatMap, foreach и withFilter.
Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен.
- p
предикат, используемый для проверки элементов.
- returns
объект класса
WithFilter, который поддерживает операцииmap,flatMap,foreachиwithFilter. Все эти операции применяются к тем элементам этой коллекции, которые удовлетворяют предикатуp.
- Definition Classes
- TraversableViewLike → TraversableLike → FilterMonadic
def zip[B](that: GenIterable[B]): Iterable[(A, B)]
Возвращает итерируемую коллекцию, образованную из этой итерируемой коллекции и другой итерируемой коллекции путём объединения соответствующих элементов в пары. Если одна из двух коллекций длиннее другой, её оставшиеся элементы игнорируются.
Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен.
- B
тип второй половины возвращаемых пар
- that
Итерируемый объект, предоставляющий вторую половину каждой результирующей пары
- returns
новая итерируемая коллекция, содержащая пары, состоящие из соответствующих элементов этой итерируемой коллекции и
that. Длина возвращаемой коллекции равна минимуму длин этой итерируемой коллекции иthat.
- Definition Classes
- IterableViewLike → IterableLike → GenIterableLike
def zipAll[B](that: Iterable[B], thisElem: A, thatElem: B): Iterable[(A, B)]
Возвращает итерируемую коллекцию, образованную из этой итерируемой коллекции и другой итерируемой коллекции путём объединения соответствующих элементов в пары. Если одна из двух коллекций короче другой, используются элементы-заполнители для расширения более короткой коллекции до длины более длинной.
Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен.
- B
тип второй половины возвращаемых пар
- that
Итерируемый объект, предоставляющий вторую половину каждой результирующей пары
- thisElem
элемент, который будет использоваться для заполнения результата, если эта итерируемая коллекция короче
that.- thatElem
элемент, который будет использоваться для заполнения результата, если
thatкороче этой итерируемой коллекции.- returns
новая итерируемая коллекция, содержащая пары, состоящие из соответствующих элементов этой итерируемой коллекции и
that. Длина возвращаемой коллекции равна максимуму длин этой итерируемой коллекции иthat. Если эта итерируемая коллекция корочеthat, значенияthisElemиспользуются для заполнения результата. Еслиthatкороче этой итерируемой коллекции, значенияthatElemиспользуются для заполнения результата.
- Definition Classes
- IterableViewLike → IterableLike → GenIterableLike
def zipWithIndex: Iterable[(A, Int)]
Объединяет эту итерируемую коллекцию с её индексами.
Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен.
- returns
Новая итерируемая коллекция, содержащая пары, состоящие из всех элементов этой итерируемой коллекции, объединённых с их индексами. Индексы начинаются с
0.
- Definition Classes
- IterableViewLike → IterableLike → GenIterableLike
List("a", "b", "c").zipWithIndex = List(("a", 0), ("b", 1), ("c", 2))
def →[B](y: B): (TakenWhile, B)
- Неявный
- Этот член добавляется неявным преобразованием из TakenWhile в ArrowAssoc[TakenWhile], выполняемым методом ArrowAssoc в scala.Predef.
- Definition Classes
- ArrowAssoc
Члены-значения с затемнением неявных значений
def filter(p: (A) ⇒ Boolean): TraversableOnce[A]
- Неявный
- Этот член добавлен неявным преобразованием из TakenWhile в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
- Затемнение
- Этот неявно унаследованный член затемнён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типов:(takenWhile: MonadOps[A]).filter(p)
- Определяющие классы
- MonadOps
def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): TraversableOnce[B]
- Неявный
- Этот член добавлен неявным преобразованием из TakenWhile в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
- Затемнение
- Этот неявно унаследованный член затемнён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типов:(takenWhile: MonadOps[A]).flatMap(f)
- Определяющие классы
- MonadOps
def map[B](f: (A) ⇒ B): TraversableOnce[B]
- Неявный
- Этот член добавлен неявным преобразованием из TakenWhile в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
- Затемнение
- Этот неявно унаследованный член затемнён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типов:(takenWhile: MonadOps[A]).map(f)
- Определяющие классы
- MonadOps
def withFilter(p: (A) ⇒ Boolean): Iterator[A]
- Неявный
- Этот член добавлен неявным преобразованием из TakenWhile в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
- Затемнение
- Этот неявно унаследованный член затемнён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типов:(takenWhile: MonadOps[A]).withFilter(p)
- Определяющие классы
- MonadOps
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.12.9/scala/collection/IterableViewLike$TakenWhile.html