Трейт scala.collection.TraversableView
Компонент объект TraversableView
trait TraversableView[+A, +Coll] extends TraversableViewLike[A, Coll, TraversableView[A, Coll]]
Члены типа
класс WithFilter extends FilterMonadic[A, Repr]
Класс, поддерживающий отфильтрованные операции. Экземпляры этого класса возвращаются методом withFilter.
- Определяющие классы
- TraversableLike
тип Self = TraversableView[A, Coll]
Тип, реализующий этот итерируемый объект
- Атрибуты
- protected[this]
- Определяющие классы
- TraversableLike
тракт Appended[B >: A] extends Transformed[B]
- Определяющие классы
- TraversableViewLike
тракт DroppedWhile extends Transformed[A]
- Определяющие классы
- TraversableViewLike
тракт EmptyView extends Transformed[Nothing]
- Определяющие классы
- TraversableViewLike
тракт Filtered extends Transformed[A]
- Определяющие классы
- TraversableViewLike
тракт FlatMapped[B] extends Transformed[B]
- Определяющие классы
- TraversableViewLike
тракт Forced[B] extends Transformed[B]
Спад, который принуждает все к вектору, а затем применяет к нему операцию. Используется для тех операций, которые не подходят для представления.
- Определяющие классы
- TraversableViewLike
тракт Mapped[B] extends Transformed[B]
- Определяющие классы
- TraversableViewLike
тракт Prepended[B >: A] extends Transformed[B]
- Определяющие классы
- TraversableViewLike
тракт Sliced extends Transformed[A]
- Определяющие классы
- TraversableViewLike
тракт TakenWhile extends Transformed[A]
- Определяющие классы
- TraversableViewLike
тракт Transformed[+B] extends TraversableView[B, Coll]
Базовый реализующий тракт этого представления. Этот тракт и все его подтракты должны быть переопределены для каждого класса ViewLike.
- Определяющие классы
- TraversableViewLike
Члены абстрактных значений
абстрактный def underlying: Coll
- Атрибуты
- protected
- Определяющие классы
- TraversableViewLike
Члены конкретных значений
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- возвращает
trueесли !(this == that), в противном случае false.
- Определяющие классы
- AnyRef → Any
final def ##(): Int
Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для чисел возвращает значение хэша, соответствующее равенству значений: если две инстанции типа значения сравниваются как true, то ## выведет одинаковое значение хэша для каждой из них. Для null возвращает хэш-код, где null.hashCode вызывает NullPointerException.
- возвращает
значение хэша, соответствующее ==
- Определяющие классы
- AnyRef → Any
def +(other: String): String
- Неявный
- Этот член добавляется неявным преобразованием из TraversableView[A, Coll] в any2stringadd[TraversableView[A, Coll]] выполняемым методом any2stringadd в scala.Predef.
- Определяющие классы
- any2stringadd
def ++[B >: A, That](xs: GenTraversableOnce[B])(implicit bf: CanBuildFrom[TraversableView[A, Coll], B, That]): That
Возвращает новый набор, содержащий элементы из левого операнда, за которым следуют элементы из правого операнда. Тип элементов набора — наиболее специфический суперкласс, охватывающий типы элементов двух операндов.
- B
тип элемента возвращаемого набора.
- That
класс возвращаемого набора. Там, где это возможно,
Thatсовпадает с классом текущего набораRepr, но это зависит от типа элементаBдопустимого для этого класса, что означает, что найдена неявная инстанция типаCanBuildFrom[Repr, B, That].- bf
неявное значение класса
CanBuildFrom, которое определяет класс результатаThatиз текущего типа представленияReprи нового типа элементаB.- возвращает
новый набор типа
That, который содержит все элементы этого набора, за которыми следуют все элементыthat.
- Определяющие классы
- TraversableViewLike → TraversableLike → GenTraversableLike
def ++:[B >: A, That](xs: Traversable[B])(implicit bf: CanBuildFrom[TraversableView[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.- возвращает
новый набор типа
That, который содержит все элементы этого набора, за которыми следуют все элементыthat.
- Определяющие классы
- TraversableViewLike → TraversableLike
def ++:[B](that: TraversableOnce[B]): Traversable[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
набор для добавления.
- возвращает
новый набор, который содержит все элементы этого набора, за которыми следуют все элементы
that.
- Определяющие классы
- TraversableViewLike → TraversableLike
def ->[B](y: B): (TraversableView[A, Coll], B)
- Неявный
- Этот член добавлен неявным преобразованием из TraversableView[A, Coll] в ArrowAssoc[TraversableView[A, Coll]] с помощью метода ArrowAssoc в scala.Predef.
- Классы определений
- ArrowAssoc
- Аннотации
- @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
бинарный оператор.
- возвращает
-
результат вставки
opмежду последовательными элементами этого обходчика или итератора, слева направо с начальным значениемzслева:op(...op(op(z, x_1), x_2), ..., x_n)
где
x1, ..., xn— элементы этого обходчика или итератора.
- Классы определений
- 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
бинарный оператор
- возвращает
-
результат вставки
opмежду последовательными элементами этого обходчика или итератора, справа налево с начальным значениемzсправа:op(x_1, op(x_2, ... op(x_n, z)...))
где
x1, ..., xn— элементы этого обходчика или итератора.
- Классы определений
- TraversableOnce → GenTraversableOnce
final def ==(arg0: Any): Boolean
Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).
- возвращает
trueесли объект получателя эквивалентен аргументу;falseв противном случае.
- Классы определений
- AnyRef → Any
def addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder
- Классы определений
- 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
строковый буфер, в который добавляются элементы.
- возвращает
строковый буфер
b, в который были добавлены элементы.
- Классы определений
- 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
разделительная строка.
- возвращает
строковый буфер
b, в который были добавлены элементы.
- Классы определений
- 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 преобразует каждый вводимый символ в целое число и добавляет его к сумме (раздела). Затем 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 clone(): AnyRef
Создает копию объекта-получателя.
По умолчанию реализация метода clone зависит от платформы.
- returns
копия объекта-получателя.
def collect[B](pf: PartialFunction[A, B]): Traversable[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[Traversable]
Объект-компаньон фабрики, который создаёт экземпляры класса Traversable. (или его Iterable суперкласс, если класс Traversable не является Seq.)
- Definition Classes
- Traversable → GenTraversable → GenericTraversableTemplate
def copyToArray(xs: Array[A], start: Int, len: Int): Unit
Копирует элементы этого набора в массив. Заполняет заданный массив xs не более чем len элементами этого набора, начиная с позиции start. Копирование остановится, как только будет достигнут конец текущего набора, или конец целевого массива, или len элементов будут скопированы.
Примечание: не будет завершаться для наборов бесконечного размера.
- xs
массив для заполнения.
- start
начальный индекс.
- len
максимальное количество элементов для копирования.
- Definition Classes
- 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): TraversableView[A, Coll]
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- n
количество элементов, которые нужно удалить из этого набора.
- returns
набор, состоящий из всех элементов этого набора, кроме первых
nэлементов, или пустой набор, если в этом наборе меньшеnэлементов. Еслиnотрицательно, не удалять никаких элементов.
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike
def dropWhile(p: (A) ⇒ Boolean): TraversableView[A, Coll]
Удаляет самую длинную префиксную последовательность элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- returns
самый длинный суффикс этого набора, первый элемент которого не удовлетворяет предикату
p.
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike
def ensuring(cond: (TraversableView[A, Coll]) ⇒ Boolean, msg: ⇒ Any): TraversableView[A, Coll]
- Неявный
- Этот член добавлен неявным преобразованием из TraversableView[A, Coll] в Ensuring[TraversableView[A, Coll]] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: (TraversableView[A, Coll]) ⇒ Boolean): TraversableView[A, Coll]
- Implicit
- Этот член добавлен с помощью неявного преобразования из TraversableView[A, Coll] в Ensuring[TraversableView[A, Coll]] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean, msg: ⇒ Any): TraversableView[A, Coll]
- Implicit
- Этот член добавлен с помощью неявного преобразования из TraversableView[A, Coll] в Ensuring[TraversableView[A, Coll]] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean): TraversableView[A, Coll]
- Implicit
- Этот член добавлен с помощью неявного преобразования из TraversableView[A, Coll] в Ensuring[TraversableView[A, Coll]] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
final def eq(arg0: AnyRef): Boolean
Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).
Метод eq реализует отношение эквивалентности на непустых экземплярах AnyRef, и имеет три дополнительных свойства:
-
Он согласован: для любых непустых экземпляров
x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого непустого экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false.
null.eq(null) возвращает true. При переопределении методов equals или hashCode важно обеспечить согласованность их поведения с равенством по ссылке. Следовательно, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и они должны хешироваться к одному значению (o1.hashCode == o2.hashCode).
- returns
trueесли аргумент является ссылкой на объект-получатель;falseв противном случае.
- Definition Classes
- AnyRef
def equals(arg0: Any): Boolean
Метод равенства для ссылочных типов. Реализация по умолчанию делегирует eq.
См. также equals в scala.Any.
- returns
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Definition Classes
- AnyRef → Any
def exists(p: (A) ⇒ Boolean): Boolean
Проверяет, выполняется ли предикат хотя бы для одного элемента этого итерируемого набора.
Примечание: может не завершиться для бесконечных коллекций.
- p
предикат, используемый для проверки элементов.
- returns
falseесли этот итерируемый набор пуст, иначеtrueесли данный предикатpвыполняется для некоторых элементов этого итерируемого набора, иначеfalse
- Definition Classes
- TraversableLike → TraversableOnce → GenTraversableOnce
def filter(p: (A) ⇒ Boolean): TraversableView[A, Coll]
Отбирает все элементы этой коллекции, которые удовлетворяют предикату.
- p
предикат, используемый для проверки элементов.
- returns
новая коллекция, состоящая из всех элементов этой коллекции, удовлетворяющих заданному предикату
p. Порядок элементов сохраняется.
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike
def filterNot(p: (A) ⇒ Boolean): TraversableView[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
- TraversableLike → TraversableOnce → GenTraversableOnce
def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): Traversable[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]: Traversable[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
- TraversableOnce → GenTraversableOnce
def forall(p: (A) ⇒ Boolean): Boolean
Проверяет, выполняется ли предикат для всех элементов этой итерируемой коллекции.
Примечание: может не завершиться для бесконечных коллекций.
- p
предикат, используемый для проверки элементов.
- returns
trueесли эта итерируемая коллекция пуста или данный предикатpвыполняется для всех элементов этой итерируемой коллекции, в противном случаеfalse.
- Definition Classes
- TraversableLike → TraversableOnce → GenTraversableOnce
def force[B >: A, That](implicit bf: CanBuildFrom[Coll, B, That]): That
- Definition Classes
- TraversableViewLike
abstract def foreach(f: (A) ⇒ Unit): Unit
- f
функция, которая применяется для побочного эффекта к каждому элементу. Результат функции
fигнорируется.
- Definition Classes
- GenericTraversableTemplate
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной строкой format. Форматные строки такие же, как и для String.format (@см java.lang.String.format).
- Неявный
- Этот член добавляется неявным преобразованием из TraversableView[A, Coll] в StringFormat[TraversableView[A, Coll]] с помощью метода StringFormat в scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
def genericBuilder[B]: Builder[B, Traversable[B]]
Неявный билдер, который строит экземпляры Traversable для произвольных типов элементов.
- Definition Classes
- GenericTraversableTemplate
final def getClass(): Class[_]
Возвращает представление класса объекта во время выполнения.
- returns
объект класса, соответствующий типу получателя во время выполнения.
def groupBy[K](f: (A) ⇒ K): immutable.Map[K, TraversableView[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 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
- TraversableLike → GenTraversableLike
- Exceptions thrown
NoSuchElementException, если итерируемая коллекция пуста.
def headOption: Option[A]
Возвращает первый элемент, если он существует.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- returns
первый элемент данной итерируемой коллекции, если она не пуста,
Noneесли она пуста.
- Definition Classes
- TraversableLike → GenTraversableLike
def init: TraversableView[A, Coll]
Выбирает все элементы, кроме последнего.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- returns
коллекция, содержащая все элементы данной коллекции, кроме последнего.
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike
- Exceptions thrown
UnsupportedOperationException, если коллекция пуста.
def inits: Iterator[TraversableView[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
- 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 last: A
Выбирает последний элемент.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
- возвращает
Последний элемент этого итерируемого набора.
- Классы определений
- TraversableLike → GenTraversableLike
- Исключения
NoSuchElementExceptionЕсли итерируемый набор пуст.
def lastOption: Option[A]
Выбирает последний элемент (по возможности).
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
- возвращает
последний элемент этого итерируемого набора, если он не пуст,
Noneесли он пуст.
- Классы определений
- TraversableLike → GenTraversableLike
def map[B](f: (A) ⇒ B): Traversable[B]
Создаёт новый набор, применяя функцию ко всем элементам этого набора.
- B
тип элементов возвращаемого набора.
- f
функция, применяемая к каждому элементу.
- возвращает
новый набор, полученный путём применения заданной функции
fк каждому элементу этого набора и сбора результатов.
- Классы определений
- TraversableViewLike → TraversableLike → GenTraversableLike → FilterMonadic
def max: A
Находит наибольший элемент.
- возвращает
наибольший элемент этого набора.
- Классы определений
- 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
- Классы-определения
- TraversableViewLike
def newBuilder: Builder[A, TraversableView[A, Coll]]
Построитель, создающий экземпляры типа Traversable[A]
- Атрибуты
- protected[this]
- Классы-определения
- TraversableViewLike → GenericTraversableTemplate → TraversableLike → HasNewBuilder
def newDropped(n: Int): Transformed[A]
- Атрибуты
- protected
- Классы-определения
- TraversableViewLike
def newDroppedWhile(p: (A) ⇒ Boolean): Transformed[A]
- Атрибуты
- protected
- Классы-определения
- TraversableViewLike
def newFiltered(p: (A) ⇒ Boolean): Transformed[A]
- Атрибуты
- protected
- Классы-определения
- TraversableViewLike
def newFlatMapped[B](f: (A) ⇒ GenTraversableOnce[B]): Transformed[B]
- Атрибуты
- protected
- Классы-определения
- TraversableViewLike
def newForced[B](xs: ⇒ GenSeq[B]): Transformed[B]
Метод-шаблон, для переопределения в каждом подклассе. Этот метод можно исключить, если в Scala были бы виртуальные классы
- Атрибуты
- protected
- Классы-определения
- TraversableViewLike
def newMapped[B](f: (A) ⇒ B): Transformed[B]
- Атрибуты
- protected
- Классы-определения
- TraversableViewLike
def newPrepended[B >: A](that: GenTraversable[B]): Transformed[B]
- Атрибуты
- protected
- Классы-определения
- TraversableViewLike
def newSliced(_endpoints: SliceInterval): Transformed[A]
- Атрибуты
- protected
- Классы-определения
- TraversableViewLike
def newTaken(n: Int): Transformed[A]
- Атрибуты
- protected
- Классы-определения
- TraversableViewLike
def newTakenWhile(p: (A) ⇒ Boolean): Transformed[A]
- Атрибуты
- protected
- Классы-определения
- TraversableViewLike
def nonEmpty: Boolean
Проверяет, не является ли обозреваемый или итератор пустым.
- возвращает
trueесли обозреваемый или итератор содержит по крайней мере один элемент,falseв противном случае.
- Классы-определения
- TraversableOnce → GenTraversableOnce
final def notify(): Unit
Разбуждает один поток, ожидающий монитора объекта-получателя.
- Классы-определения
- AnyRef
- Аннотации
- @native()
- Примечание
не определен SLS в качестве члена AnyRef
final def notifyAll(): Unit
Разбуждает все потоки, ожидающие монитора объекта-получателя.
- Классы-определения
- AnyRef
- Аннотации
- @native()
- Примечание
не определен SLS в качестве члена AnyRef
def par: ParIterable[A]
Возвращает параллельную реализацию этого набора.
Для большинства типов коллекций этот метод создает новый параллельный набор, копируя все элементы. Для этих коллекций par занимает линейное время. Изменяемые коллекции в этой категории не создают изменяемый параллельный набор с тем же базовым набором данных, поэтому изменения в одной коллекции не будут отражены в другой.
Определенные коллекции (например, ParArray или mutable.ParHashMap) переопределяют это поведение по умолчанию, создавая параллельную коллекцию, которая использует те же базовые данные. Для этих коллекций par занимает постоянное или сублинейное время.
Все параллельные коллекции возвращают ссылку на самих себя.
- возвращает
параллельная реализация этого набора
- Классы-определения
- Parallelizable
def parCombiner: Combiner[A, ParIterable[A]]
Реализация par по умолчанию использует комбинирующую функцию, предоставленную этим методом, для создания нового параллельного набора.
- возвращает
комбинатор для параллельной коллекции типа
ParRepr
- Атрибуты
- protected[this]
- Классы-определения
- TraversableLike → Parallelizable
def partition(p: (A) ⇒ Boolean): (TraversableView[A, Coll], TraversableView[A, Coll])
Разделяет этот набор на два набора в соответствии с предикатом.
- p
предикат для разделения.
- возвращает
пара коллекций: первая коллекция содержит все элементы, удовлетворяющие предикату
p, а вторая коллекция содержит все элементы, которые не удовлетворяют ему. Относительный порядок элементов в результирующих коллекциях такой же, как в исходной коллекции.
- Классы-определения
- TraversableViewLike → TraversableLike → GenTraversableLike
def product: A
Перемножает элементы этого набора.
- возвращает
произведение всех элементов в этой коллекции чисел типа
Int. ВместоInt, любой другой типTс неявной реализациейNumeric[T]может быть использован в качестве типа элемента коллекции и в качестве типа результатаproduct. Примеры таких типов:Long,Float,Double,BigInt.
- Классы-определения
- TraversableOnce → GenTraversableOnce
def reduce[A1 >: A](op: (A1, A1) ⇒ A1): A1
Сводит элементы этого обозреваемого или итератора с использованием заданного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
- A1
Параметр типа для бинарного оператора, надтип
A.- op
Бинарный оператор, который должен быть ассоциативным.
- возвращает
Результат применения оператора сводки
opмежду всеми элементами, если обозреваемый или итератор не пустой.
- Классы-определения
- TraversableOnce → GenTraversableOnce
- Исключения
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
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли этот итерируемый объект или перечислитель пуст.
def reduceRightOption[B >: A](op: (A, B) ⇒ B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этого итерируемого объекта или перечислителя, справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
значение option, содержащее результат
reduceRight(op), если этот итерируемый объект или перечислитель не пуст,Noneв противном случае.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def repr: TraversableView[A, Coll]
Коллекция типа итерируемая коллекция, лежащая в основе этого TraversableLike объекта. По умолчанию это реализовано как сам TraversableLike объект, но это можно переопределить.
- Definition Classes
- TraversableLike → GenTraversableLike
def reversed: List[A]
- Атрибуты
- protected[this]
- Definition Classes
- TraversableOnce
def scan[B >: A, That](z: B)(op: (B, B) ⇒ B)(implicit cbf: CanBuildFrom[TraversableView[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[TraversableView[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[TraversableView[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: Traversable[A]
Версия этой коллекции, в которой все операции реализованы последовательно (т. е. в однопоточном режиме).
Этот метод возвращает ссылку на эту коллекцию. В параллельных коллекциях он переопределяется, чтобы вернуть последовательную реализацию этой коллекции. В обоих случаях сложность составляет O(1).
- returns
последовательный вид коллекции.
- Definition Classes
- Traversable → GenTraversable → Parallelizable → TraversableOnce → GenTraversableOnce
def size: Int
Размер этой traversable или итератора.
Примечание: не будет завершаться для коллекций бесконечного размера.
- returns
количество элементов в этой traversable или итераторе.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def sizeHintIfCheap: Int
Размер этого набора или итератора, если его можно вычислить недорого
- возвращает
количество элементов в этом наборе или итераторе, или -1, если размер нельзя определить недорого
- Атрибуты
- protected[collection]
- Определяющие классы
- GenTraversableOnce
def slice(from: Int, until: Int): TraversableView[A, Coll]
Выбирает интервал элементов. Возвращаемый набор состоит из всех элементов x, которые удовлетворяют инварианту:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- возвращает
набор, содержащий элементы, большие или равные индексу
from, и простирающийся до (но не включая) индексаuntilэтого набора.
- Определяющие классы
- TraversableViewLike → TraversableLike → GenTraversableLike
def span(p: (A) ⇒ Boolean): (TraversableView[A, Coll], TraversableView[A, Coll])
Разделяет этот набор на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- возвращает
пару, состоящую из самого длинного префикса этого набора, элементы которого удовлетворяют
p, и остальной части этого набора.
- Определяющие классы
- TraversableViewLike → TraversableLike → GenTraversableLike
def splitAt(n: Int): (TraversableView[A, Coll], TraversableView[A, Coll])
Разделяет этот набор на два в заданной позиции. Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- n
позиция, в которой нужно разделить.
- возвращает
пару наборов, состоящую из первых
nэлементов этого набора и других элементов.
- Определяющие классы
- TraversableViewLike → TraversableLike → GenTraversableLike
def stringPrefix: String
Определяет префикс представления этого объекта.
- возвращает
строковое представление, которое начинает результат применения
toStringк этому набору. По умолчанию префикс строки — это простое имя класса набора collection.
- Определяющие классы
- TraversableViewLike → TraversableLike → GenTraversableLike
def sum: A
Суммирует элементы этого набора.
- возвращает
сумма всех элементов в этом наборе чисел типа
Int. ВместоInt, любой другой типTс неявнымNumeric[T]реализацией может использоваться в качестве типа элементов набора и в качестве типа результатаsum. Примеры таких типов:Long,Float,Double,BigInt.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
final def synchronized[T0](arg0: ⇒ T0): T0
- Определяющие классы
- AnyRef
def tail: TraversableView[A, Coll]
Выбирает все элементы, кроме первого.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- возвращает
набор, содержащий все элементы этого набора, кроме первого.
- Определяющие классы
- TraversableViewLike → TraversableLike → GenTraversableLike
- Исключения
java.lang.UnsupportedOperationException, если набор пустой.
def tails: Iterator[TraversableView[A, Coll]]
Итерируется по хвостам этого набора. Первое значение будет этим набором, а последнее — пустым набором, промежуточные значения будут результатом последовательных применений tail.
- возвращает
итератор по всем хвостам этого набора
- Определяющие классы
- TraversableViewLike → TraversableLike
List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)
def take(n: Int): TraversableView[A, Coll]
Выбирает первые n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- n
количество элементов, которые нужно взять из этого набора.
- returns
набор, содержащий только первые
nэлементов этого набора, или весь набор, если в нём меньшеnэлементов. Еслиnотрицательное, возвращается пустой набор.
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike
def takeWhile(p: (A) ⇒ Boolean): TraversableView[A, Coll]
Берет самое длинное префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- returns
самое длинное префикс этого набора, элементы которого удовлетворяют предикату
p.
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike
def thisCollection: Traversable[A]
Базовый набор, рассматриваемый как экземпляр Traversable. По умолчанию это реализуется как текущий объект набора, но это можно переопределить.
- Attributes
- protected[this]
- Definition Classes
- TraversableLike
def thisSeq: Seq[A]
- Attributes
- protected[this]
- Definition Classes
- ViewMkString
def to[Col[_]]: Col[A]
Преобразует этот набор в другой, копируя все элементы.
Примечание: не будет завершаться для наборов бесконечной размерности.
- Col
Тип набора, который нужно построить.
- returns
новый набор, содержащий все элементы этого набора.
- Definition Classes
- TraversableLike → TraversableOnce → GenTraversableOnce
def toArray: Array[A]
Преобразует этот набор в массив.
Примечание: не будет завершаться для наборов бесконечной размерности.
- returns
массив, содержащий все элементы этого набора. Для типа элементов этого набора должен быть доступен
ClassTag.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toBuffer[B >: A]: Buffer[B]
Использует содержимое этого итерируемого объекта или итератора для создания нового изменяемого буфера.
Примечание: не будет завершаться для наборов бесконечной размерности.
- returns
буфер, содержащий все элементы этого итерируемого объекта или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toCollection(repr: TraversableView[A, Coll]): Traversable[A]
Преобразование из наборов типа Repr в объекты Traversable. По умолчанию это реализуется просто как приведение типа, но это можно переопределить.
- Attributes
- protected[this]
- Definition Classes
- TraversableLike
def toIndexedSeq: immutable.IndexedSeq[A]
Преобразует этот итерируемый объект или итератор в индексированную последовательность.
Примечание: не будет завершаться для наборов бесконечной размерности.
- returns
индексированная последовательность, содержащая все элементы этого итерируемого объекта или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toIterable: Iterable[A]
Преобразует этот итерируемый объект или итератор в итерируемый набор. Обратите внимание, что выбор целевого Iterable ленивый в этой реализации по умолчанию, так как этот TraversableOnce может быть ленивым и невычисленным (т.е. может быть итератором, который можно пройти только один раз).
Примечание: не будет завершаться для наборов бесконечной размерности.
- returns
Iterableсодержащий все элементы этого итерируемого объекта или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toIterator: Iterator[A]
Возвращает итератор по элементам в этом итерируемом наборе. Вернёт тот же итератор, если этот экземпляр уже является итератором.
Примечание: не завершится для коллекций бесконечного размера.
- returns
итератор, содержащий все элементы этого итерируемого набора.
- Definition Classes
- TraversableLike → GenTraversableOnce
def toList: List[A]
Преобразует этот итерируемый набор или итератор в список.
Примечание: не завершится для коллекций бесконечного размера.
- returns
список, содержащий все элементы этого итерируемого набора или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toMap[T, U]: Map[T, U]
Преобразует эту коллекцию в карту. Этот метод недоступен, если элементы не являются членами Tuple2, каждая ((T, U)) становится парой ключ-значение в карте. Повторяющиеся ключи будут перезаписаны последующими ключами: если это неупорядоченная коллекция, какой ключ находится в результирующей карте не определено.
Примечание: не завершится для коллекций бесконечного размера.
- returns
карта типа
immutable.Map[T, U]содержащая все пары ключ/значение типа(T, U)этой коллекции.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toParArray: ParArray[T]
- Неявный
- Этот член добавлен неявным преобразованием из TraversableView[A, Coll] в CollectionsHaveToParArray[TraversableView[A, Coll], T] выполненное методом CollectionsHaveToParArray в scala.collection.parallel. Это преобразование произойдёт только если неявное значение типа (TraversableView[A, Coll]) ⇒ GenTraversableOnce[T] находится в области видимости.
- Definition Classes
- CollectionsHaveToParArray
def toSeq: Seq[A]
Преобразует этот итерируемый набор или итератор в последовательность. Как и toIterable, он ленивый в этом реализации по умолчанию, так как этот TraversableOnce может быть ленивым и невычисленным.
Примечание: не завершится для коллекций бесконечного размера.
- returns
последовательность, содержащая все элементы этого итерируемого набора или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toSet[B >: A]: immutable.Set[B]
Преобразует этот итерируемый набор или итератор в множество.
Примечание: не завершится для коллекций бесконечного размера.
- returns
множество, содержащее все элементы этого итерируемого набора или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def toStream: Stream[A]
Преобразует этот итерируемый набор в поток.
- returns
поток, содержащий все элементы этого итерируемого набора.
- Definition Classes
- TraversableLike → GenTraversableOnce
def toString(): String
Преобразует эту коллекцию в строку.
- returns
строковое представление этой коллекции. По умолчанию эта строка состоит из
stringPrefixэтой коллекции, за которой следуют все элементы, разделенные запятыми и заключённые в скобки.
- Definition Classes
- TraversableViewLike → TraversableLike → AnyRef → Any
def toTraversable: Traversable[A]
Преобразует этот итерируемый набор в неопределённый Traversable. Вернёт ту же коллекцию, если этот экземпляр уже Traversable.
Примечание: не завершится для коллекций бесконечного размера.
- returns
Traversable, содержащий все элементы этого итерируемого набора.
- Definition Classes
- TraversableLike → TraversableOnce → GenTraversableOnce
- Аннотации
- @deprecatedOverriding( message = ... , since = "2.11.0" )
def toVector: Vector[A]
Преобразует этот итерируемый объект или итератор в вектор.
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
вектор, содержащий все элементы этого итерируемого объекта или итератора.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
def transpose[B](implicit asTraversable: (A) ⇒ GenTraversableOnce[B]): Traversable[Traversable[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если все коллекции в этой коллекции не имеют одинаковый размер.
def unzip[A1, A2](implicit asPair: (A) ⇒ (A1, A2)): (Transformed[A1], Transformed[A2])
Преобразует эту коллекцию пар в две коллекции первой и второй половины каждой пары.
val xs = Traversable(
(1, "one"),
(2, "two"),
(3, "three")).unzip
// xs == (Traversable(1, 2, 3),
// Traversable(one, two, three))
- A1
тип первой половины пар элементов
- A2
тип второй половины пар элементов
- asPair
неявное преобразование, которое утверждает, что тип элемента этой коллекции является парой.
- возвращает
пара коллекций, содержащая первую и, соответственно, вторую половину каждой пары элементов этой коллекции.
- Определяющие классы
- TraversableViewLike → GenericTraversableTemplate
def unzip3[A1, A2, A3](implicit asTriple: (A) ⇒ (A1, A2, A3)): (Transformed[A1], Transformed[A2], 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
неявное преобразование, которое утверждает, что тип элемента этой коллекции является тройкой.
- возвращает
тройка коллекций, содержащая первый, второй, соответственно третий член каждой тройки элементов этой коллекции.
- Определяющие классы
- TraversableViewLike → GenericTraversableTemplate
def view(from: Int, until: Int): TraversableView[A, TraversableView[A, Coll]]
Создает нестрогую представленную часть среза этой коллекции итераторов.
Примечание: разница между view и slice заключается в том, что view создает представление текущей коллекции итераторов, а slice создает новую коллекцию итераторов.
Примечание: view(from, to) эквивалентно view.slice(from, to).
Примечание: могут быть получены различные результаты при разных запусках, если тип базовой коллекции не является упорядоченным.
- from
индекс первого элемента представленной части
- until
индекс элемента, следующего за представленной частью
- возвращает
нестрогую представленную часть среза этой коллекции итераторов, начиная с индекса
fromи продолжаясь до (но не включая) индексuntil.
- Определяющие классы
- TraversableLike
def view: TraversableView[A, TraversableView[A, Coll]]
Создает нестрогую представленную часть этой коллекции итераторов.
- возвращает
нестрогую представленную часть этой коллекции итераторов.
- Определяющие классы
- TraversableLike
def viewIdString: String
- Атрибуты
- protected[this]
- Определяющие классы
- TraversableViewLike
def viewIdentifier: String
- Атрибуты
- protected[this]
- Классы-определения
- TraversableViewLike
def viewToString: String
- Классы-определения
- TraversableViewLike
final def wait(): Unit
- Классы-определения
- AnyRef
- Аннотации
- @throws( ... )
final def wait(arg0: Long, arg1: Int): Unit
- Классы-определения
- AnyRef
- Аннотации
- @throws( ... )
final def wait(arg0: Long): Unit
def withFilter(p: (A) ⇒ Boolean): TraversableView[A, Coll]
Создаёт нестрогий фильтр этой коллекции.
Примечание: разница между c filter p и c withFilter p заключается в том, что первый создаёт новую коллекцию, а второй только ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.
Примечание: результаты могут отличаться при разных запусках, если тип базовой коллекции не является упорядоченным.
- p
предикат для проверки элементов.
- возвращает
объект класса
WithFilter, который поддерживаетmap,flatMap,foreach, иwithFilterоперации. Все эти операции применяются к тем элементам этой коллекции, которые удовлетворяют предикатуp.
- Классы-определения
- TraversableViewLike → TraversableLike → FilterMonadic
def →[B](y: B): (TraversableView[A, Coll], B)
- Неявный
- Этот член добавлен неявным преобразованием из TraversableView[A, Coll] в ArrowAssoc[TraversableView[A, Coll]] с помощью метода ArrowAssoc в scala.Predef.
- Классы-определения
- ArrowAssoc
Скрытые неявные члены-значения
def filter(p: (A) ⇒ Boolean): TraversableOnce[A]
- Неявный
- Этот член добавлен неявным преобразованием из TraversableView[A, Coll] в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
- Затенение
- Этот неявно унаследованный член затенен одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать привязку типа:(traversableView: MonadOps[A]).filter(p)
- Определяющие классы
- MonadOps
def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): TraversableOnce[B]
- Неявный
- Этот член добавлен неявным преобразованием из TraversableView[A, Coll] в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
- Затенение
- Этот неявно унаследованный член затенен одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать привязку типа:(traversableView: MonadOps[A]).flatMap(f)
- Определяющие классы
- MonadOps
def map[B](f: (A) ⇒ B): TraversableOnce[B]
- Неявный
- Этот член добавлен неявным преобразованием из TraversableView[A, Coll] в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
- Затенение
- Этот неявно унаследованный член затенен одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать привязку типа:(traversableView: MonadOps[A]).map(f)
- Определяющие классы
- MonadOps
def withFilter(p: (A) ⇒ Boolean): Iterator[A]
- Неявный
- Этот член добавлен неявным преобразованием из TraversableView[A, Coll] в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
- Затенение
- Этот неявно унаследованный член затенен одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать привязку типа:(traversableView: 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/TraversableView.html
Базовый трейт для ленивых представлений итерабельных коллекций.
Представление — это ленивая версия некоторой коллекции. Трансформеры коллекций, такие как
mapилиfilterили++, не просматривают элементы при применении к представлению. Вместо этого они создают новое представление, просто записывая тот факт, что операция должна быть применена. Элементы коллекции и операции представления применяются, когда требуется результат не в виде представления, или когда вызывается методforceдля представления.Все представления итерабельных коллекций определяются путём создания нового метода
foreach.