Особенность scala.collection.TraversableViewLike
trait TraversableViewLike[+A, +Coll, +This <: TraversableView[A, Coll] with TraversableViewLike[A, Coll, This]] extends Traversable[A] with TraversableLike[A, This] with ViewMkString[A]
Члены типа
класс WithFilter extends FilterMonadic[A, Repr]
Класс, поддерживающий отфильтрованные операции. Экземпляры этого класса возвращаются методом withFilter.
- Определяющие классы
- TraversableLike
тракт Appended[B >: A] extends Transformed[B]
тракт DroppedWhile extends Transformed[A]
тракт EmptyView extends Transformed[Nothing]
тракт Filtered extends Transformed[A]
тракт FlatMapped[B] extends Transformed[B]
тракт Forced[B] extends Transformed[B]
Альтернативный вариант, который принудительно преобразует все в вектор, а затем применяет операцию к нему. Используется для тех операций, которые не подходят для представления в виде вида.
тракт Mapped[B] extends Transformed[B]
тракт Prepended[B >: A] extends Transformed[B]
тип Self = This
Тип, реализующий этот итератор
- Атрибуты
- protected[this]
- Определяющие классы
- TraversableLike
тракт Sliced extends Transformed[A]
тракт TakenWhile extends Transformed[A]
тракт Transformed[+B] extends TraversableView[B, Coll]
Базовый реализующий тракт этого представления. Этот тракт и все его подтракты должны быть переопределены для каждого класса ViewLike.
Члены абстрактных значений
абстрактный def underlying: Coll
- Атрибуты
- protected
Члены-значения конкретных типов
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
- Implicit
- Этот член добавлен благодаря неявной конвертации из TraversableViewLike[A, Coll, This] в any2stringadd[TraversableViewLike[A, Coll, This]] с помощью метода any2stringadd в scala.Predef.
- Definition Classes
- any2stringadd
def ++[B >: A, That](xs: GenTraversableOnce[B])(implicit bf: CanBuildFrom[This, 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[This, 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]): 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
коллекция для добавления.
- returns
новая коллекция, содержащая все элементы этой коллекции, после которых следуют все элементы
that.
- Definition Classes
- TraversableViewLike → TraversableLike
def ->[B](y: B): (TraversableViewLike[A, Coll, This], B)
- Неявный
- Этот член добавлен неявным преобразованием из TraversableViewLike[A, Coll, This] в ArrowAssoc[TraversableViewLike[A, Coll, This]] с помощью метода 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
Добавляет все элементы этого обходчика или итератора в 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
StringBuilder, в который добавляются элементы.
- возвращает
StringBuilder
b, в который были добавлены элементы.
- Классы определений
- TraversableOnce
def addString(b: StringBuilder, sep: String): StringBuilder
Добавляет все элементы этого обходчика или итератора в 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
StringBuilder, в который добавляются элементы.
- sep
строка-разделитель.
- возвращает
StringBuilder
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
- Исключения
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): This
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- n
количество элементов, которые нужно удалить из этого набора.
- returns
набор, состоящий из всех элементов этого набора, кроме первых
nэлементов, или пустой набор, если в этом наборе меньшеnэлементов. Еслиnотрицательно, не удалять никаких элементов.
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike
def dropWhile(p: (A) ⇒ Boolean): This
Удаляет самую длинную префиксную последовательность элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- returns
самый длинный суффикс этого набора, первый элемент которого не удовлетворяет предикату
p.
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike
def ensuring(cond: (TraversableViewLike[A, Coll, This]) ⇒ Boolean, msg: ⇒ Any): TraversableViewLike[A, Coll, This]
- Неявный
- Этот член добавлен неявным преобразованием из TraversableViewLike[A, Coll, This] в Ensuring[TraversableViewLike[A, Coll, This]] выполненным методом Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: (TraversableViewLike[A, Coll, This]) ⇒ Boolean): TraversableViewLike[A, Coll, This]
- Неявный
- Этот член добавлен с помощью неявного преобразования из TraversableViewLike[A, Coll, This] в Ensuring[TraversableViewLike[A, Coll, This]] с помощью метода Ensuring в scala.Predef.
- Классы определения
- Ensuring
def ensuring(cond: Boolean, msg: ⇒ Any): TraversableViewLike[A, Coll, This]
- Неявный
- Этот член добавлен с помощью неявного преобразования из TraversableViewLike[A, Coll, This] в Ensuring[TraversableViewLike[A, Coll, This]] с помощью метода Ensuring в scala.Predef.
- Классы определения
- Ensuring
def ensuring(cond: Boolean): TraversableViewLike[A, Coll, This]
- Неявный
- Этот член добавлен с помощью неявного преобразования из TraversableViewLike[A, Coll, This] в Ensuring[TraversableViewLike[A, Coll, This]] с помощью метода Ensuring в scala.Predef.
- Классы определения
- 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в противном случае.
- Классы определения
- AnyRef
def equals(arg0: Any): Boolean
Метод равенства для типов ссылок. Реализация по умолчанию делегирует eq.
См. также equals в scala.Any.
- возвращает
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Классы определения
- AnyRef → Any
def exists(p: (A) ⇒ Boolean): Boolean
Проверяет, выполняется ли предикат хотя бы для одного элемента в этом итерируемом наборе.
Примечание: может не завершиться для коллекций бесконечного размера.
- p
предикат, используемый для проверки элементов.
- возвращает
falseесли этот итерируемый набор пуст, в противном случаеtrueесли данный предикатpвыполняется для некоторых элементов этого итерируемого набора, в противном случаеfalse
- Классы определения
- TraversableLike → TraversableOnce → GenTraversableOnce
def filter(p: (A) ⇒ Boolean): This
Выбирает все элементы этого набора, которые удовлетворяют предикату.
- p
предикат, используемый для проверки элементов.
- возвращает
новый набор, состоящий из всех элементов этого набора, которые удовлетворяют заданному предикату
p. Порядок элементов сохраняется.
- Определяющие классы
- TraversableViewLike → TraversableLike → GenTraversableLike
def filterNot(p: (A) ⇒ Boolean): This
Выбирает все элементы этого набора, которые не удовлетворяют предикату.
- p
предикат, используемый для проверки элементов.
- возвращает
новый набор, состоящий из всех элементов этого набора, которые не удовлетворяют заданному предикату
p. Порядок элементов сохраняется.
- Определяющие классы
- TraversableViewLike → TraversableLike → GenTraversableLike
def finalize(): Unit
Вызывается сборщиком мусора для объекта-получателя, когда больше нет ссылок на объект.
Подробности о том, когда и если вызывается метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями зависят от платформы.
- Атрибуты
- protected[lang]
- Определяющие классы
- AnyRef
- Аннотации
- @throws( classOf[java.lang.Throwable] )
- Примечание
не указано SLS как член AnyRef
def find(p: (A) ⇒ Boolean): Option[A]
Находит первый элемент итерационного набора, удовлетворяющий предикату, если такой существует.
Примечание: может не завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- p
предикат, используемый для проверки элементов.
- возвращает
значение типа Option, содержащее первый элемент в итерационном наборе, удовлетворяющий
p, илиNoneв противном случае.
- Определяющие классы
- 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
функция для применения к каждому элементу.
- возвращает
новый набор, полученный путем применения заданной функции, возвращающей набор
fк каждому элементу этого набора и конкатенации результатов.
- Определяющие классы
- 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
тип элементов каждого набора итераций.
- возвращает
новый набор, полученный путем конкатенации всех наборов элементов.
- Определяющие классы
- TraversableViewLike → GenericTraversableTemplate
def fold[A1 >: A](z: A1)(op: (A1, A1) ⇒ A1): A1
Складывает элементы этого итерационного набора с использованием указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
Примечание: не завершится для наборов бесконечного размера.
- A1
тип параметра для бинарного оператора, сверхтип
A.- z
нейтральный элемент для операции fold; может быть добавлен к результату произвольное количество раз и не должен изменять результат (например,
Nilдля конкатенации списков, 0 для сложения или 1 для умножения).- op
бинарный оператор, который должен быть ассоциативным.
- возвращает
результат применения оператора fold
opмежду всеми элементами иz, илиzесли этот итерационный набор пустой.
- Определяющие классы
- 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
abstract def foreach(f: (A) ⇒ Unit): Unit
- f
функция, которая применяется для побочного эффекта к каждому элементу. Результат функции
fигнорируется.
- Definition Classes
- GenericTraversableTemplate
def formatted(fmtstr: String): String
Возвращает строку, отформатированную согласно заданной строке format. Строки формата такие же, как для String.format (@см java.lang.String.format).
- Неявный
- Этот член добавляется неявным преобразованием из TraversableViewLike[A, Coll, This] в StringFormat[TraversableViewLike[A, Coll, This]] выполненный методом 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, This]
Разделяет эту коллекцию на карту коллекций в соответствии с некоторой функцией-дискриминатором.
Примечание: этот метод не переопределяется представлениями. Это означает, что при применении к представлению он всегда заставит представление и вернет новую коллекцию.
- K
тип ключей, возвращаемых функцией-дискриминатором.
- f
функция-дискриминатор.
- возвращает
-
Карта, сопоставляющая ключи коллекциям, таким образом, что выполняется следующее инвариантное условие:
(xs groupBy f)(k) = xs filter (x => f(x) == k)
То есть, каждый ключ
kсвязан с коллекцией тех элементовxдля которыхf(x)равноk.
- Определяющие классы
- TraversableViewLike → TraversableLike → GenTraversableLike
def hasDefiniteSize: Boolean
Проверяет, известна ли конечная размерность этой итерируемой коллекции. Все строгие коллекции известны с конечной размерностью. Для нестрогой коллекции, такой как Stream, предикат возвращает true , если все элементы были вычислены. Он возвращает false , если поток ещё не был вычислен до конца. Непустые итераторы обычно возвращают false даже если они были созданы из коллекции с известной конечной размерностью.
Примечание: многие методы коллекций не будут работать с коллекциями бесконечных размеров. Типичным режимом отказа является бесконечный цикл. Эти методы всегда пытаются выполнить обход, не проверяя сначала, что hasDefiniteSize возвращает true. Однако, проверка hasDefiniteSize может гарантировать, что размер хорошо определён, и бесконечное выполнение не является проблемой.
- возвращает
true, если эта коллекция имеет конечный размер,falseв противном случае.
- Определяющие классы
- TraversableLike → TraversableOnce → GenTraversableOnce
def hashCode(): Int
Метод hashCode для ссылочных типов. См. hashCode в scala.Any.
- возвращает
значение кода хэш для этого объекта.
def head: A
Выбирает первый элемент этой итерируемой коллекции.
Примечание: может возвращать разные результаты при разных запусках, если тип коллекции не упорядочен.
- возвращает
первый элемент этой итерируемой коллекции.
- Определяющие классы
- TraversableLike → GenTraversableLike
- Исключения
NoSuchElementExceptionесли итерируемая коллекция пуста.
def headOption: Option[A]
Возвращает первый элемент, если он есть.
Примечание: может возвращать разные результаты при разных запусках, если тип коллекции не упорядочен.
- возвращает
первый элемент этой итерируемой коллекции, если она не пуста,
Noneесли она пуста.
- Определяющие классы
- TraversableLike → GenTraversableLike
def init: This
Выбирает все элементы, кроме последнего.
Примечание: может возвращать разные результаты при разных запусках, если тип коллекции не упорядочен.
- возвращает
коллекция, состоящая из всех элементов этой коллекции, кроме последнего.
- Определяющие классы
- TraversableViewLike → TraversableLike → GenTraversableLike
- Исключения
UnsupportedOperationExceptionесли коллекция пуста.
def inits: Iterator[This]
Перебирает префиксы этой коллекции. Первое значение будет этой коллекцией, а последнее - пустой коллекцией, промежуточные значения - результаты последовательного применения init.
- возвращает
итератор по всем префиксам этой коллекции
- Определяющие классы
- TraversableViewLike → TraversableLike
List(1,2,3).inits = Iterator(List(1,2,3), List(1,2), List(1), Nil)
def isEmpty: Boolean
Проверяет, пуста ли эта итерируемая коллекция.
- возвращает
trueесли итерируемая коллекция не содержит элементов,falseв противном случае.
- Определяющие классы
- TraversableLike → TraversableOnce → GenTraversableOnce
final def isInstanceOf[T0]: Boolean
Проверяет, является ли динамический тип объекта-получателя T0.
Обратите внимание, что результат теста выполняется с учётом семантики стирания Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, поскольку аргумент типа стирается при компиляции, невозможно проверить, относятся ли элементы списка к указанному типу.
- возвращает
trueесли объект-получатель является экземпляром стирания типаT0;falseв противном случае.
- Определяющие классы
- Any
final def isTraversableAgain: Boolean
Проверяет, можно ли многократно перебирать эту итерируемую коллекцию.
- возвращает
true
- Определяющие классы
- TraversableLike → GenTraversableLike → GenTraversableOnce
def last: A
Выбирает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не является упорядоченным.
- returns
Последний элемент этой коллекцией обхода.
- Definition Classes
- TraversableLike → GenTraversableLike
- Exceptions thrown
NoSuchElementExceptionЕсли коллекция обхода пустая.
def lastOption: Option[A]
Возвращает последний элемент, если он есть.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не является упорядоченным.
- returns
последний элемент этой коллекции обхода, если она не пустая,
Noneесли она пустая.
- Definition Classes
- TraversableLike → GenTraversableLike
def map[B](f: (A) ⇒ B): Traversable[B]
Создаёт новую коллекцию, применяя функцию ко всем элементам этой коллекции.
- B
тип элементов возвращаемой коллекции.
- f
функция, применяемая к каждому элементу.
- returns
новая коллекция, полученная в результате применения данной функции
fк каждому элементу этой коллекции и сбора результатов.
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike → FilterMonadic
def max: A
Находит наибольший элемент.
- returns
наибольший элемент этой коллекции.
- Definition Classes
- TraversableOnce → GenTraversableOnce
- Exceptions thrown
UnsupportedOperationExceptionесли эта коллекция пустая.
def maxBy[B](f: (A) ⇒ B): A
Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- returns
Первый элемент этой коллекции с наибольшим значением, измеренным функцией f.
- Definition Classes
- TraversableOnce → GenTraversableOnce
- Exceptions thrown
UnsupportedOperationExceptionесли эта коллекция пустая.
def min: A
Находит наименьший элемент.
- returns
наименьший элемент этой коллекции.
- Definition Classes
- TraversableOnce → GenTraversableOnce
- Exceptions thrown
UnsupportedOperationExceptionесли эта коллекция пустая.
def minBy[B](f: (A) ⇒ B): A
Находит первый элемент, который даёт наименьшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- returns
Первый элемент этой коллекции с наименьшим значением, измеренным функцией f.
- Definition Classes
- TraversableOnce → GenTraversableOnce
- Exceptions thrown
UnsupportedOperationExceptionесли эта коллекция пустая.
def mkString(start: String, sep: String, end: String): String
- Definition Classes
- ViewMkString
def mkString(sep: String): String
- Definition Classes
- ViewMkString
def mkString: String
- Definition Classes
- ViewMkString
final def ne(arg0: AnyRef): Boolean
Равносильно !(this eq that).
- returns
trueесли аргумент не является ссылкой на объект-получатель;falseв противном случае.
- Definition Classes
- AnyRef
def newAppended[B >: A](that: GenTraversable[B]): Transformed[B]
- Attributes
- protected
def newBuilder: Builder[A, This]
Создаёт билдер, создающий экземпляры типа Traversable[A]
- Attributes
- protected[this]
- Definition Classes
- TraversableViewLike → GenericTraversableTemplate → TraversableLike → HasNewBuilder
def newDropped(n: Int): Transformed[A]
- Attributes
- protected
def newDroppedWhile(p: (A) ⇒ Boolean): Transformed[A]
- Attributes
- protected
def newFiltered(p: (A) ⇒ Boolean): Transformed[A]
- Attributes
- protected
def newFlatMapped[B](f: (A) ⇒ GenTraversableOnce[B]): Transformed[B]
- Attributes
- protected
def newForced[B](xs: ⇒ GenSeq[B]): Transformed[B]
Метод-шаблон, для переопределения в каждом подклассе. Можно было бы его убрать, если бы в Scala были виртуальные классы
- Attributes
- protected
def newMapped[B](f: (A) ⇒ B): Transformed[B]
- Attributes
- protected
def newPrepended[B >: A](that: GenTraversable[B]): Transformed[B]
- Attributes
- protected
def newSliced(_endpoints: SliceInterval): Transformed[A]
- Attributes
- protected
def newTaken(n: Int): Transformed[A]
- Attributes
- protected
def newTakenWhile(p: (A) ⇒ Boolean): Transformed[A]
- Attributes
- protected
def nonEmpty: Boolean
Проверяет, не пусто ли перечисляемое или итератор.
- returns
trueесли перечисляемое или итератор содержит хотя бы один элемент;falseв противном случае.
- Definition Classes
- 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): (This, This)
Разделяет эту коллекцию на две коллекции в соответствии с предикатом.
- 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
Бинарный оператор, который должен быть ассоциативным.
- возвращает
Результат применения оператора reduce
opмежду всеми элементами, если обход или итератор непустой.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли этот обход или итератор пустой.
def reduceLeft[B >: A](op: (B, A) ⇒ B): B
Применяет бинарный оператор ко всем элементам этого обхода или итератора, слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не является упорядоченным или оператор не является ассоциативным и коммутативным.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- возвращает
-
результат вставки
opмежду последовательными элементами этого обхода или итератора, слева направо:op( op( ... op(x_1, x_2) ..., x_{n-1}), x_n)где
x1, ..., xn— элементы этого обхода или итератора.
- Определяющие классы
- 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: This
Коллекция типа итерируемой коллекции, лежащая в основе этого TraversableLike объекта. По умолчанию это реализуется как сам объект TraversableLike, но это можно переопределить.
- Definition Classes
- TraversableLike → GenTraversableLike
def reversed: List[A]
- Attributes
- protected[this]
- Definition Classes
- TraversableOnce
def scan[B >: A, That](z: B)(op: (B, B) ⇒ B)(implicit cbf: CanBuildFrom[This, B, That]): That
Вычисляет префиксное сканирование элементов коллекции.
Примечание: нейтральный элемент z может применяться более одного раза.
- B
тип элемента результирующей коллекции
- That
тип результирующей коллекции
- z
нейтральный элемент для оператора
op- op
ассоциативный оператор для сканирования
- cbf
фабрика комбайнера, которая предоставляет комбайнер
- returns
новая коллекция итерируемых объектов, содержащая префиксное сканирование элементов в этой коллекции итерируемых объектов
- Definition Classes
- TraversableLike → GenTraversableLike
def scanLeft[B, That](z: B)(op: (B, A) ⇒ B)(implicit bf: CanBuildFrom[This, 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[This, 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
Размер этого обходчика или итератора.
Примечание: не завершит работу для коллекций бесконечного размера.
- returns
количество элементов в этом обходчике или итераторе.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def sizeHintIfCheap: Int
Размер этой коллекции или итератора, если его можно вычислить недорого
- returns
количество элементов в этой коллекции или итераторе, или -1, если размер нельзя определить дёшево
- Attributes
- protected[collection]
- Definition Classes
- GenTraversableOnce
def slice(from: Int, until: Int): This
Выбирает интервал элементов. Результирующая коллекция состоит из всех элементов x, которые удовлетворяют условию:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- returns
коллекция, содержащая элементы, большие или равные индексу
from, и до (но не включая) индексuntilэтой коллекции.
- Definition Classes
- TraversableViewLike → TraversableLike → GenTraversableLike
def span(p: (A) ⇒ Boolean): (This, This)
Разделяет это множество на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты при разных запусках, если тип базового множества не упорядочен.
- возвращает
пару, состоящую из самого длинного префикса этого множества, элементы которого удовлетворяют
p, и остальную часть этого множества.
- Классы-определения
- TraversableViewLike → TraversableLike → GenTraversableLike
def splitAt(n: Int): (This, This)
Разделяет это множество на две части в заданной позиции. Примечание: 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: This
Выбирает все элементы, кроме первого.
Примечание: может возвращать разные результаты при разных запусках, если тип базового множества не упорядочен.
- возвращает
множество, состоящее из всех элементов этого множества, кроме первого.
- Классы-определения
- TraversableViewLike → TraversableLike → GenTraversableLike
- Исключения
java.lang.UnsupportedOperationException, если множество пусто.
def tails: Iterator[This]
Итерируется по хвостам этого множества. Первое значение будет этим множеством, а последнее — пустым множеством, при этом промежуточные значения будут результатами последовательных применений tail.
- возвращает
итератор по всем хвостам этого множества
- Классы-определения
- TraversableViewLike → TraversableLike
List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)
def take(n: Int): This
Выбирает первые n элементов.
Примечание: может возвращать разные результаты при разных запусках, если тип базового множества не упорядочен.
- n
количество элементов для выбора из этого множества.
- возвращает
множество, содержащее только первые
nэлементов этого множества, или же все множество, если оно содержит меньшеnэлементов. Еслиnотрицательно, возвращает пустое множество.
- Классы-определения
- TraversableViewLike → TraversableLike → GenTraversableLike
def takeWhile(p: (A) ⇒ Boolean): This
Берет самый длинный префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты при разных запусках, если тип базового множества не упорядочен.
- возвращает
наиболее длинный префикс этого множества, элементы которого удовлетворяют предикату
p.
- Классы-определения
- TraversableViewLike → TraversableLike → GenTraversableLike
def thisCollection: Traversable[A]
Базовое множество, рассматриваемое как экземпляр Traversable. По умолчанию реализуется как сам объект текущего множества, но это можно переопределить.
- Атрибуты
- protected[this]
- Классы-определения
- TraversableLike
def thisSeq: Seq[A]
- Атрибуты
- protected[this]
- Классы определения
- 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: This): Traversable[A]
Преобразование из коллекций типа Repr в объекты Traversable. По умолчанию это реализовано просто как приведение типа, но это можно переопределить.
- Атрибуты
- protected[this]
- Классы определения
- TraversableLike
def toIndexedSeq: immutable.IndexedSeq[A]
Преобразует этот обходчик или итератор в индексированную последовательность.
Примечание: не будет завершаться для бесконечных множеств.
- возвращает
индексированная последовательность, содержащая все элементы этого обходчика или итератора.
- Классы определения
- TraversableOnce → GenTraversableOnce
def toIterable: Iterable[A]
Преобразует этот обходчик или итератор в итерируемую коллекцию. Обратите внимание, что выбор целевого Iterable является ленивым в этой реализации по умолчанию, так как этот TraversableOnce может быть ленивым и невычисленным (т. е. он может быть итератором, который можно пройти только один раз).
Примечание: не будет завершаться для бесконечных множеств.
- возвращает
Iterableсодержащий все элементы этого обходчика или итератора.
- Классы определения
- TraversableOnce → GenTraversableOnce
def toIterator: Iterator[A]
Возвращает итератор по элементам в этой коллекции обхода. Вернет тот же итератор, если этот экземпляр уже является итератором.
Примечание: не будет завершаться для бесконечных множеств.
- возвращает
итератор, содержащий все элементы этой коллекции обхода.
- Классы определения
- TraversableLike → GenTraversableOnce
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]
- Неявное
- Этот член добавлен с помощью неявного преобразования из TraversableViewLike[A, Coll, This] в CollectionsHaveToParArray[TraversableViewLike[A, Coll, This], T] выполняемого методом CollectionsHaveToParArray в scala.collection.parallel. Это преобразование произойдет только в том случае, если в области видимости имеется неявное значение типа (TraversableViewLike[A, Coll, This]) ⇒ GenTraversableOnce[T].
- Определяющие классы
- CollectionsHaveToParArray
def toSeq: Seq[A]
Преобразует это итерируемое или итератор в последовательность. Как и в toIterable, это ленивое преобразование в этом реализации по умолчанию, так как это TraversableOnce может быть ленивым и невычисленным.
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
последовательность, содержащую все элементы этого итерируемого или итератора.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
def toSet[B >: A]: immutable.Set[B]
Преобразует это итерируемое или итератор в множество.
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
множество, содержащее все элементы этого итерируемого или итератора.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
def toStream: Stream[A]
Преобразует эту итерируемую коллекцию в поток.
- возвращает
поток, содержащий все элементы этой итерируемой коллекции.
- Определяющие классы
- TraversableLike → GenTraversableOnce
def toString(): String
Преобразует эту коллекцию в строку.
- возвращает
строковое представление этой коллекции. По умолчанию эта строка состоит из
stringPrefixэтой коллекции, за которой следуют все элементы, разделенные запятыми и заключенные в скобки.
- Определяющие классы
- TraversableViewLike → TraversableLike → AnyRef → Any
def toTraversable: Traversable[A]
Преобразует эту итерируемую коллекцию в неуказанную итерируемую коллекцию. Возвратит ту же коллекцию, если этот экземпляр уже является итерируемой коллекцией.
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
итерируемая коллекция, содержащая все элементы этой итерируемой коллекции.
- Определяющие классы
- 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
явное преобразование, которое утверждает, что тип элементов этой коллекции является парой.
- returns
пара коллекций, содержащих первую и соответственно вторую половину каждой пары элементов этой коллекции.
- Definition Classes
- 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
явное преобразование, которое утверждает, что тип элементов этой коллекции является тройкой.
- returns
тройку коллекций, содержащих первый, второй и соответственно третий член каждой тройки элементов этой коллекции.
- Definition Classes
- TraversableViewLike → GenericTraversableTemplate
def view(from: Int, until: Int): TraversableView[A, This]
Создаёт нестрогую (non-strict) версию среза этой коллекции элементов.
Примечание: Разница между view и slice заключается в том, что view создаёт версию текущей коллекции элементов, а slice создаёт новую коллекцию элементов.
Примечание: view(from, to) эквивалентно view.slice(from, to)
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- from
индекс первого элемента версии
- until
индекс элемента, следующего за версией
- returns
нестрогую версию среза этой коллекции элементов, начиная с индекса
fromи до (но не включая) индексаuntil.
- Definition Classes
- TraversableLike
def view: TraversableView[A, This]
Создаёт нестрогую (non-strict) версию этой коллекции элементов.
- returns
нестрогую версию этой коллекции элементов.
- Definition Classes
- TraversableLike
def viewIdString: String
- Attributes
- protected[this]
def viewIdentifier: String
- Attributes
- protected[this]
def viewToString: String
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): This
Создаёт нестрогий фильтр этого набора.
Примечание: разница между c filter p и c withFilter p в том, что первый создаёт новый набор, а второй только ограничивает область последующих map, flatMap, foreach, и withFilter операций.
Примечание: может возвращать разные результаты при разных запусках, если только тип базового набора не упорядочен.
- p
предикат, используемый для проверки элементов.
- returns
объект класса
WithFilter, который поддерживаетmap,flatMap,foreach, иwithFilterоперации. Все эти операции применяются к тем элементам этого набора, которые удовлетворяют предикатуp.
- Definition Classes
- TraversableViewLike → TraversableLike → FilterMonadic
def →[B](y: B): (TraversableViewLike[A, Coll, This], B)
- Implicit
- This member is added by an implicit conversion from TraversableViewLike[A, Coll, This] to ArrowAssoc[TraversableViewLike[A, Coll, This]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
Shadowed Implicit Value Members
def filter(p: (A) ⇒ Boolean): TraversableOnce[A]
- Implicit
- This member is added by an implicit conversion from TraversableViewLike[A, Coll, This] to MonadOps[A] performed by method MonadOps in scala.collection.TraversableOnce.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(traversableViewLike: MonadOps[A]).filter(p)
- Definition Classes
- MonadOps
def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): TraversableOnce[B]
- Implicit
- This member is added by an implicit conversion from TraversableViewLike[A, Coll, This] to MonadOps[A] performed by method MonadOps in scala.collection.TraversableOnce.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(traversableViewLike: MonadOps[A]).flatMap(f)
- Definition Classes
- MonadOps
def map[B](f: (A) ⇒ B): TraversableOnce[B]
- Implicit
- This member is added by an implicit conversion from TraversableViewLike[A, Coll, This] to MonadOps[A] performed by method MonadOps in scala.collection.TraversableOnce.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(traversableViewLike: MonadOps[A]).map(f)
- Definition Classes
- MonadOps
def withFilter(p: (A) ⇒ Boolean): Iterator[A]
- Implicit
- This member is added by an implicit conversion from TraversableViewLike[A, Coll, This] to MonadOps[A] performed by method MonadOps in scala.collection.TraversableOnce.
- Shadowing
- This implicitly inherited member is shadowed by one or more members in this class.
To access this member you can use a type ascription:(traversableViewLike: MonadOps[A]).withFilter(p)
- Definition Classes
- 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/TraversableViewLike.html
Шаблонный трайт для ленивых представлений коллекций, поддерживающих итерацию.
Представление — это ленивая версия какой-либо коллекции. Трансформаторы коллекций, такие как
mapилиfilterили++, не итерируют элементы при применении к представлению. Вместо этого они создают новое представление, просто записывая тот факт, что операция должна быть применена. Элементы коллекции и операции представления применяются, когда требуется результат, не являющийся представлением, или когда вызывается методforceна представлении.Все представления для итерируемых коллекций определяются путём создания нового метода
foreach.Примечание по реализации: методы, такие как
mapилиflatMapв этом представлении не будут вызывать явно переданный фабричный методBuilder, а вернут новое представление непосредственно, чтобы сохранить поведенческие особенности by-name. Новое представление затем приводится к типу результата фабрики. Это означает, что каждый методCanBuildFrom, принимающийViewв качестве параметра типаFrom, должен возвращать то же представление (или обобщённый суперкласс) в качестве результата. Если это предположение нарушено, могут возникнуть ошибки приведения типов.