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