Трейт scala.collection.IterableProxyLike
Трейт IterableProxyLike[+A, +Repr <: IterableLike[A, Repr] with Iterable[A]] extends IterableLike[A, Repr] with TraversableProxyLike[A, Repr]
Типовые члены
тип Self = Repr
Тип, реализующий этот обход
- Атрибуты
- protected[this]
- Классы определения
- TraversableLike
класс WithFilter extends FilterMonadic[A, Repr]
Класс, поддерживающий отфильтрованные операции. Экземпляры этого класса возвращаются методом withFilter.
- Классы определения
- TraversableLike
Абстрактные члены значений
абстрактный def newBuilder: Builder[A, Repr]
Создает новый билдер для этого типа коллекции.
- Атрибуты
- protected[this]
- Классы определения
- TraversableLike → HasNewBuilder
абстрактный def self: Repr
- Классы определения
- TraversableProxyLike → Proxy
абстрактный def seq: TraversableOnce[A]
- Классы определения
- Parallelizable
Члены-значения
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- возвращает
true, если !(this == that), иначе false.
- Definition Classes
- AnyRef → Any
final def ##(): Int
Эквивалентно x.hashCode, за исключением упакованных числовых типов и null. Для чисел он возвращает хэш-значение, согласованное с равенством значений: если два экземпляра типов значений сравниваются как true, то ## для каждого из них выдаст одинаковое хэш-значение. Для null возвращает хэш-код, где null.hashCode выбрасывает NullPointerException.
- возвращает
хэш-значение, согласованное с ==
- Definition Classes
- AnyRef → Any
def +(other: String): String
- Неявный
- Этот член добавлен неявным преобразованием из IterableProxyLike[A, Repr] в any2stringadd[IterableProxyLike[A, Repr]] при помощи метода any2stringadd в scala.Predef.
- Definition Classes
- any2stringadd
def ++[B >: A, That](xs: GenTraversableOnce[B])(implicit bf: CanBuildFrom[Repr, B, That]): That
Возвращает новую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элемента коллекции — самый специфический суперкласс, охватывающий типы элементов двух операндов.
- B
тип элемента возвращаемой коллекции.
- That
класс возвращаемой коллекции. По возможности,
That— тот же класс, что и текущий класс коллекцииRepr, но это зависит от того, допустим ли тип элементаBдля этого класса, что означает, что найден неявный экземпляр типаCanBuildFrom[Repr, B, That].- bf
неявное значение класса
CanBuildFrom, которое определяет класс результатаThatиз текущего типа представленияReprи нового типа элементаB.- возвращает
новая коллекция типа
That, которая содержит все элементы этой коллекции, за которыми следуют все элементыthat.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def ++:[B >: A, That](that: Traversable[B])(implicit bf: CanBuildFrom[Repr, 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].- that
добавляемая коллекция.
- bf
неявное значение класса
CanBuildFrom, которое определяет класс результатаThatиз текущего типа представленияReprи нового типа элементаB.- возвращает
новая коллекция типа
That, которая содержит все элементы этой коллекции, за которыми следуют все элементыthat.
- Definition Classes
- 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
добавляемая коллекция.
- возвращает
новая коллекция типа Iterable, которая содержит все элементы этой коллекции, за которыми следуют все элементы
that.
- Definition Classes
- TraversableLike
def ->[B](y: B): (IterableProxyLike[A, Repr], B)
- Неявный
- Этот член добавлен неявным преобразованием из IterableProxyLike[A, Repr] в ArrowAssoc[IterableProxyLike[A, Repr]] с помощью метода 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— элементы этого итерируемого набора.
- Определяющие классы
- TraversableProxyLike → 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— элементы этого итерируемого набора.
- Определяющие классы
- TraversableProxyLike → 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: mutable.StringBuilder): mutable.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, в который были добавлены элементы.
- Определяющие классы
- TraversableProxyLike → TraversableOnce
def addString(b: mutable.StringBuilder, sep: String): mutable.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, в который были добавлены элементы.
- Определяющие классы
- TraversableProxyLike → TraversableOnce
def addString(b: mutable.StringBuilder, start: String, sep: String, end: String): mutable.StringBuilder
Добавляет все элементы этого перебираемого набора в строковый буфер, используя начальную, конечную и разделительные строки. Текст, который будет записан, начинается со строки start и заканчивается строкой end. Внутри строковые представления (относительно метода 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 , "List(" , ", " , ")")
res5: StringBuilder = List(1, 2, 3, 4)
- b
строковый буфер, в который добавляются элементы.
- start
начальная строка.
- sep
разделительная строка.
- end
конечная строка.
- returns
строковый буфер
b, в который были добавлены элементы.
- Definition Classes
- TraversableProxyLike → TraversableOnce
def aggregate[B](z: ⇒ B)(seqop: (B, A) ⇒ B, combop: (B, B) ⇒ B): B
Агрегирует результаты применения оператора к последующим элементам.
Это более общая форма fold и reduce. Она похожа на foldLeft, поскольку не требует, чтобы результат был супертипом типа элемента. Кроме того, она позволяет обрабатывать параллельные коллекции по частям, а затем комбинировать промежуточные результаты.
aggregate разбивает перебираемый набор или итератор на разделы и обрабатывает каждый раздел, последовательно применяя seqop, начиная с z (как foldLeft). Затем эти промежуточные результаты комбинируются с помощью combop (как fold). Реализация этой операции может работать с произвольным количеством разделов коллекции (даже с 1), поэтому combop может быть вызвана произвольное количество раз (даже 0).
Например, рассмотрим суммирование целочисленных значений списка символов. Начальное значение для суммы - 0. Во-первых, seqop преобразует каждый символ ввода в целое число и добавляет его к сумме (раздела). Затем, combop просто суммирует промежуточные результаты разделов:
List('a', 'b', 'c').aggregate(0)({ (sum, ch) => sum + ch.toInt }, { (p1, p2) => p1 + p2 })
- B
тип накапливаемых результатов
- z
начальное значение для накопленного результата раздела - это, как правило, нейтральный элемент для оператора
seqop(например,Nilдля конкатенации списков или0для суммирования) и может быть вычислено более одного раза- seqop
оператор, используемый для накопления результатов внутри раздела
- combop
ассоциативный оператор, используемый для объединения результатов из разных разделов
- Definition Classes
- TraversableOnce → GenTraversableOnce
final def asInstanceOf[T0]: T0
Приведение объекта-получателя к типу T0.
Обратите внимание, что успех приведения во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] не выбросит. В последнем примере, поскольку аргумент типа стирается во время компиляции, невозможно проверить, соответствуют ли содержимое списка запрошенному типу.
- returns
объект-получатель.
- Definition Classes
- Any
- Exceptions thrown
ClassCastException, если объект-получатель не является экземпляром стираемого типаT0.
def 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
- TraversableProxyLike → 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 copyToArray(xs: Array[A]): Unit
Копирует элементы этой итерируемой коллекции в массив. Заполняет заданный массив xs значениями из этой итерируемой коллекции. Копирование прекращается, как только достигается конец текущей итерируемой коллекции или конец целевого массива.
Примечание: не завершится для коллекций бесконечного размера.
- xs
массив для заполнения.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def copyToArray(xs: Array[A], start: Int): Unit
Копирует элементы этой итерируемой коллекции в массив. Заполняет заданный массив xs значениями из этой итерируемой коллекции, начиная с индекса start. Копирование прекращается, как только достигается конец текущей итерируемой коллекции или конец целевого массива.
Примечание: не завершится для коллекций бесконечного размера.
- xs
массив для заполнения.
- start
начальный индекс.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def copyToArray(xs: Array[A], start: Int, len: Int): Unit
Копирует элементы этой итерируемой коллекции в массив. Заполняет заданный массив xs не более чем len элементами этой итерируемой коллекции, начиная с позиции start. Копирование прекращается, как только достигается конец текущей итерируемой коллекции или конец целевого массива, или len элементов были скопированы.
Примечание: не завершится для коллекций бесконечного размера.
- xs
массив для заполнения.
- start
начальный индекс.
- len
максимальное количество копируемых элементов.
- Definition Classes
- TraversableProxyLike → TraversableLike → TraversableOnce → GenTraversableOnce
def copyToBuffer[B >: A](dest: Buffer[B]): Unit
Копирует все элементы этой перебираемой коллекции в буфер.
Примечание: не завершится для коллекций бесконечного размера.
- dest
Буфер, в который копируются элементы.
- Definition Classes
- TraversableProxyLike → TraversableOnce
def count(p: (A) ⇒ Boolean): Int
Подсчитывает количество элементов в перебираемой коллекции, удовлетворяющих предикату.
- p
предикат для проверки элементов.
- returns
количество элементов, удовлетворяющих предикату
p.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def drop(n: Int): Repr
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- n
количество элементов для удаления из этой итерируемой коллекции.
- returns
итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, кроме первых
nэлементов, или же пустая итерируемая коллекция, если у этой итерируемой коллекции меньше, чемnэлемента. Еслиnотрицательно, не удалять никакие элементы.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def dropRight(n: Int): Repr
Выбирает все элементы, кроме последних n.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- n
Количество элементов для взятия
- returns
итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, кроме последних
nэлементов, или же пустая итерируемая коллекция, если у этой итерируемой коллекции меньше, чемnэлементов.
- Definition Classes
- IterableProxyLike → IterableLike
def dropWhile(p: (A) ⇒ Boolean): Repr
Удаляет самый длинный префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен.
- returns
самый длинный суффикс этой коллекции, первый элемент которого не удовлетворяет предикату
p.
- Определяющие классы
- TraversableProxyLike → TraversableLike → GenTraversableLike
def ensuring(cond: (IterableProxyLike[A, Repr]) ⇒ Boolean, msg: ⇒ Any): IterableProxyLike[A, Repr]
- Неявный
- Этот член добавляется неявным преобразованием из IterableProxyLike[A, Repr] в Ensuring[IterableProxyLike[A, Repr]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: (IterableProxyLike[A, Repr]) ⇒ Boolean): IterableProxyLike[A, Repr]
- Неявный
- Этот член добавляется неявным преобразованием из IterableProxyLike[A, Repr] в Ensuring[IterableProxyLike[A, Repr]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean, msg: ⇒ Any): IterableProxyLike[A, Repr]
- Неявный
- Этот член добавляется неявным преобразованием из IterableProxyLike[A, Repr] в Ensuring[IterableProxyLike[A, Repr]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean): IterableProxyLike[A, Repr]
- Неявный
- Этот член добавляется неявным преобразованием из IterableProxyLike[A, Repr] в Ensuring[IterableProxyLike[A, Repr]] с помощью метода 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).
- returns
true, если аргумент является ссылкой на объект-получатель;falseв противном случае.
- Определяющие классы
- AnyRef
def equals(that: Any): Boolean
Сравнивает объект-получатель (this) с объектом-аргументом (that) на эквивалентность.
Любое реализация этого метода должна быть отношением эквивалентности:
-
Она является рефлексивной: для любого экземпляра
x типа Any, x.equals(x) должно возвращать true.Она является симметричной: для любых экземпляров x и y типа Any, x.equals(y) должно возвращать true тогда и только тогда, когда y.equals(x) возвращает true.Она является транзитивной: для любых экземпляров x, y и z типа Any, если x.equals(y) возвращает true и y.equals(z) возвращает true, то x.equals(z) должно возвращать true.Если вы переопределяете этот метод, вы должны убедиться, что ваша реализация остается отношением эквивалентности. Кроме того, при переопределении этого метода обычно необходимо переопределить hashCode, чтобы убедиться, что объекты, которые являются «равными» (o1.equals(o2) возвращает true), хешируются в одинаковое значение scala.Int. (o1.hashCode.equals(o2.hashCode)).
- that
объект для сравнения с этим объектом на равенство.
- returns
true, если объект-получатель эквивалентен аргументу;falseв противном случае.
def exists(p: (A) ⇒ Boolean): Boolean
Проверяет, выполняется ли предикат по крайней мере для одного элемента этого итерируемого набора.
Примечание: может не завершиться для коллекций бесконечного размера.
- p
предикат, используемый для проверки элементов.
- returns
false, если этот итерируемый набор пустой, в противном случаеtrue, если данный предикатpвыполняется для некоторых элементов этого итерируемого набора, в противном случаеfalse
- Definition Classes
- TraversableProxyLike → TraversableLike → TraversableOnce → GenTraversableOnce
def filter(p: (A) ⇒ Boolean): Repr
Выбирает все элементы этого итерируемого набора, удовлетворяющие предикату.
- p
предикат, используемый для проверки элементов.
- returns
новый итерируемый набор, состоящий из всех элементов этого итерируемого набора, удовлетворяющих заданному предикату
p. Порядок элементов сохраняется.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def filterNot(p: (A) ⇒ Boolean): Repr
Выбирает все элементы этого итерируемого набора, которые не удовлетворяют предикату.
- p
предикат, используемый для проверки элементов.
- returns
новый итерируемый набор, состоящий из всех элементов этого итерируемого набора, которые не удовлетворяют заданному предикату
p. Порядок элементов сохраняется.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def finalize(): Unit
Вызывается сборщиком мусора для объекта-получателя, когда больше нет ссылок на объект.
Подробности о том, когда и если вызывается метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями, зависят от платформы.
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- Note
не указано SLS в качестве члена AnyRef
def find(p: (A) ⇒ Boolean): Option[A]
Находит первый элемент в итерируемом наборе, удовлетворяющий предикату, если таковой имеется.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- p
предикат, используемый для проверки элементов.
- returns
значение типа option, содержащее первый элемент в итерируемом наборе, удовлетворяющий
p, илиNone, если таковой не существует.
- Definition Classes
- TraversableProxyLike → TraversableLike → TraversableOnce → GenTraversableOnce
def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): Iterable[B]
Создает новый набор, применяя функцию ко всем элементам этого итерируемого набора и используя элементы получившихся наборов.
Например:
def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")
Тип результирующего набора определяется статическим типом итерируемого набора. Это иногда может привести к неожиданным результатам. Например:
// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)
// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap (word => word.toSeq)
// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)
// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
- B
тип элементов возвращаемого набора.
- f
функция, применяемая к каждому элементу.
- returns
новый итерируемый набор, полученный путем применения заданной функции, принимающей значения набора
fк каждому элементу этого итерируемого набора и конкатенации результатов.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike → FilterMonadic
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
- TraversableProxyLike → 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
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def forall(p: (A) ⇒ Boolean): Boolean
Проверяет, выполняется ли предикат для всех элементов этой проходимой по нему коллекции.
Примечание: может не завершиться для коллекций бесконечного размера.
- p
предикат, используемый для проверки элементов.
- returns
true, если эта проходимая по нему коллекция пуста или заданный предикатpвыполняется для всех элементов этой проходимой по нему коллекции, в противном случаеfalse.
- Definition Classes
- TraversableProxyLike → TraversableLike → TraversableOnce → GenTraversableOnce
def foreach(f: (A) ⇒ Unit): Unit
Применяет функцию f ко всем элементам этой коллекции.
Примечание: этот метод лежит в основе реализации большинства других операций по обработке массивов. Важно реализовать этот метод эффективным способом.
- f
функция, которая применяется для побочного эффекта к каждому элементу. Результат функции
fигнорируется.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike → TraversableOnce → GenTraversableOnce → FilterMonadic
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной строкой format. Строки форматирования аналогичны строкам форматирования в String.format (@see java.lang.String.format).
- Неявный
- Этот член добавлен путём неявного преобразования из IterableProxyLike[A, Repr] в StringFormat[IterableProxyLike[A, Repr]] путём применения метода StringFormat в scala.Predef.
- Классы определений
- StringFormat
- Аннотации
- @inline()
final def getClass(): Class[_]
Возвращает представление класса объекта во время выполнения.
- возвращает
объект класса, соответствующий типу получателя во время выполнения.
def groupBy[K](f: (A) ⇒ K): immutable.Map[K, Repr]
Разделяет эту коллекцию итераций на карту коллекций итераций в соответствии с функцией-дискриминатором.
Примечание: этот метод не переопределяется представлениями. Это означает, что при применении к представлению он всегда заставляет представление и возвращает новую коллекцию итераций.
- K
тип ключей, возвращаемых функцией-дискриминатором.
- f
функция-дискриминатор.
- возвращает
-
Карту, сопоставляющую ключи коллекциям итераций, причём выполняется следующее условие:
(xs groupBy f)(k) = xs filter (x => f(x) == k)
То есть, каждый ключ
kсвязан с коллекцией итераций тех элементовx, для которыхf(x)равноk.
- Классы определений
- TraversableProxyLike → TraversableLike → GenTraversableLike
def grouped(size: Int): Iterator[Repr]
Разделяет элементы на итерабельные коллекции фиксированного размера.
- size
количество элементов в группе
- возвращает
Итератор, генерирующий итерабельные коллекции размера
size, за исключением последней, которая будет меньше размераsize, если элементы не делятся на него без остатка.
- Классы определений
- IterableProxyLike → IterableLike
- См. также
scala.collection.Iterator, метод
grouped
def hasDefiniteSize: Boolean
Проверяет, известно ли, что эта коллекция итераций имеет конечный размер. Все строгие коллекции имеют известный конечный размер. Для нестрогой коллекции, такой как Stream, предикат возвращает true, если все элементы были вычислены. Он возвращает false, если поток ещё не был проведён до конца. Непустые итераторы обычно возвращают false, даже если они были созданы из коллекции с известным конечным размером.
Примечание: многие методы коллекций не будут работать с коллекциями бесконечного размера. Типичный режим ошибки — бесконечный цикл. Эти методы всегда пытаются осуществить обход без предварительной проверки того, что hasDefiniteSize возвращает true. Тем не менее, проверка hasDefiniteSize может гарантировать, что размер определён и бесконечное выполнение не является проблемой.
- возвращает
true, если эта коллекция имеет известный конечный размер,falseв противном случае.
- Классы определений
- TraversableProxyLike → TraversableLike → TraversableOnce → GenTraversableOnce
def hashCode(): Int
Вычисляет значение хэш-кода для объекта.
Алгоритм хэширования по умолчанию зависит от платформы.
Следует отметить, что для двух объектов возможны одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)), но при этом они могут быть не равны (o1.equals(o2) возвращает false). Вырожденная реализация может всегда возвращать 0. Однако, требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true), у них были идентичные хэш-коды (o1.hashCode.equals(o2.hashCode)). Поэтому при переопределении этого метода следует убедиться, что поведение согласуется с методом equals.
- возвращает
значение хэш-кода для этого объекта.
def head: A
Выбирает первый элемент этой коллекции итераций.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не является упорядоченным.
- возвращает
первый элемент этой коллекции итераций.
- Классы определений
- TraversableProxyLike → TraversableLike → GenTraversableLike
- Исключения
NoSuchElementException, если коллекция итераций пуста.
def headOption: Option[A]
Выбирает первый элемент по желанию.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не является упорядоченным.
- возвращает
первый элемент этой коллекции итераций, если она не пуста,
Noneесли она пуста.
- Классы определений
- TraversableProxyLike → TraversableLike → GenTraversableLike
def init: Repr
Выбирает все элементы, кроме последнего.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- возвращает
итерируемую коллекцию, состоящую из всех элементов этой итерируемой коллекции, кроме последнего.
- Классы определений
- TraversableProxyLike → TraversableLike → GenTraversableLike
- Исключения
UnsupportedOperationExceptionесли итерируемая коллекция пуста.
def inits: Iterator[Repr]
Итерирует по начальным подколлекциям этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения — результатами последовательных применений init.
- возвращает
итератор по всем начальным подколлекциям этой итерируемой коллекции
- Классы определений
- TraversableLike
List(1,2,3).inits = Iterator(List(1,2,3), List(1,2), List(1), Nil)
def isEmpty: Boolean
Проверяет, пуста ли эта итерируемая коллекция.
- возвращает
true, если итерируемая коллекция не содержит элементов,falseв противном случае.
- Классы определений
- TraversableProxyLike → 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 iterator: Iterator[A]
Создаёт новый итератор по всем элементам, содержащимся в этом итерируемом объекте.
- возвращает
новый итератор
- Классы определений
- IterableProxyLike → IterableLike → GenIterableLike
def last: A
Выбирает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- возвращает
Последний элемент этой итерируемой коллекции.
- Классы определений
- TraversableProxyLike → TraversableLike → GenTraversableLike
- Исключения
NoSuchElementExceptionЕсли итерируемая коллекция пуста.
def lastOption: Option[A]
Возвращает последний элемент, если он есть.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- возвращает
последний элемент этой итерируемой коллекции, если она непуста,
None, если она пуста.
- Классы определений
- TraversableProxyLike → TraversableLike → GenTraversableLike
def map[B](f: (A) ⇒ B): Iterable[B]
Создаёт новую коллекцию, применяя функцию ко всем элементам этой итерируемой коллекции.
- B
тип элементов возвращаемой коллекции.
- f
функция, применяемая к каждому элементу.
- возвращает
новая итерируемая коллекция, полученная путём применения заданной функции
fк каждому элементу этой итерируемой коллекции и сбора результатов.
- Классы определений
- TraversableProxyLike → TraversableLike → GenTraversableLike → FilterMonadic
def max: A
Находит наибольший элемент.
- возвращает
наибольший элемент этого итерируемого набора.
- Определяющие классы
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationException, если этот итерируемый набор пустой.
def maxBy[B](f: (A) ⇒ B): A
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- возвращает
первый элемент этого итерируемого набора с наибольшим значением, измеренным функцией f.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли этот итерируемый набор пустой.
def min: A
Находит наименьший элемент.
- возвращает
наименьший элемент этого итерируемого набора
- Определяющие классы
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли этот итерируемый набор пустой.
def minBy[B](f: (A) ⇒ B): A
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- возвращает
первый элемент этого итерируемого набора с наименьшим значением, измеренным функцией f.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли этот итерируемый набор пустой.
def mkString: String
Отображает все элементы этого итерируемого набора в строке.
- возвращает
строковое представление этого итерируемого набора. В результирующей строке строковые представления (относительно метода
toString) всех элементов этого итерируемого набора следуют друг за другом без разделителя.
- Определяющие классы
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def mkString(sep: String): String
Отображает все элементы этого итерируемого набора в строке с использованием разделителя.
- sep
строка-разделитель.
- возвращает
строковое представление этого итерируемого набора. В результирующей строке строковые представления (относительно метода
toString) всех элементов этого итерируемого набора разделены строкойsep.
- Определяющие классы
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
List(1, 2, 3).mkString("|") = "1|2|3"
def mkString(start: String, sep: String, end: String): String
Отображает все элементы этого итерируемого набора в строке с использованием начальной, конечной и разделительных строк.
- start
начальная строка.
- sep
строка-разделитель.
- end
конечная строка.
- возвращает
строковое представление этого итерируемого набора. Результирующая строка начинается со строки
startи заканчивается строкойend. Внутри строковые представления (относительно методаtoString) всех элементов этого итерируемого набора разделены строкойsep.
- Определяющие классы
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"
final def ne(arg0: AnyRef): Boolean
Эквивалентно !(this eq that).
- возвращает
true, если аргумент не является ссылкой на объект-получатель;falseв противном случае.
- Определяющие классы
- AnyRef
def nonEmpty: Boolean
Проверяет, не является ли перебираемая коллекция пустой.
- returns
true, если перебираемая коллекция содержит хотя бы один элемент,falseв противном случае.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
final def notify(): Unit
Разбудит единственную нить, ожидающую монитора объекта-получателя.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Note
не указано SLS в качестве члена AnyRef
final def notifyAll(): Unit
Разбудит все нити, ожидающие монитора объекта-получателя.
- Definition Classes
- AnyRef
- Annotations
- @native()
- Note
не указано SLS в качестве члена AnyRef
def par: ParIterable[A]
Возвращает параллельную реализацию этой коллекции.
Для большинства типов коллекций этот метод создает новую параллельную коллекцию, копируя все элементы. Для этих коллекций par занимает линейное время. Изменяемые коллекции в этой категории не создают изменяемую параллельную коллекцию, которая имеет тот же базовый набор данных, поэтому изменения в одной коллекции не будут отражены в другой.
Некоторые коллекции (например, ParArray или mutable.ParHashMap) переопределяют это поведение по умолчанию, создавая параллельную коллекцию, которая использует те же базовые данные. Для этих коллекций par занимает постоянное или подлинейное время.
Все параллельные коллекции возвращают ссылку на себя.
- returns
параллельная реализация этой коллекции
- Definition Classes
- Parallelizable
def parCombiner: Combiner[A, ParIterable[A]]
Реализация par по умолчанию использует комбинатор, предоставленный этим методом, для создания новой параллельной коллекции.
- returns
комбинатор для параллельной коллекции типа
ParRepr
- Attributes
- protected[this]
- Definition Classes
- TraversableLike → Parallelizable
def partition(p: (A) ⇒ Boolean): (Repr, Repr)
Разделяет эту перебираемую коллекцию на две перебираемые коллекции в соответствии с предикатом.
- p
предикат для разделения.
- returns
пара перебираемых коллекций: первая перебираемая коллекция состоит из всех элементов, удовлетворяющих предикату
p, а вторая перебираемая коллекция состоит из всех элементов, которые не удовлетворяют. Относительный порядок элементов в получившихся перебираемых коллекциях такой же, как и в исходной перебираемой коллекции.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def product: A
Умножает элементы этой коллекции.
- returns
произведение всех элементов в этой итерируемой коллекции чисел типа
Int. ВместоInt, любой другой типTс неявной реализациейNumeric[T]может быть использован как тип элемента итерируемой коллекции и как тип результатаproduct. Примеры таких типов:Long,Float,Double,BigInt.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def reduce[A1 >: A](op: (A1, A1) ⇒ A1): A1
Сокращает элементы этой перебираемой коллекции или итератора, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
- A1
Параметр типа для бинарного оператора, надтип
A.- op
Бинарный оператор, который должен быть ассоциативным.
- returns
Результат применения оператора
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— элементы этой траверсируемой коллекции.
- Определяющие классы
- TraversableProxyLike → TraversableOnce
- Выбрасываемые исключения
UnsupportedOperationExceptionесли эта траверсируемая коллекция пуста.
def reduceLeftOption[B >: A](op: (B, A) ⇒ B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этой траверсируемой коллекции, слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
необязательное значение, содержащее результат
reduceLeft(op), если эта траверсируемая коллекция не пуста,Noneв противном случае.
- Определяющие классы
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def reduceOption[A1 >: A](op: (A1, A1) ⇒ A1): Option[A1]
Сводит элементы этой траверсируемой коллекции или итератора, если таковые имеются, используя указанный ассоциативный бинарный оператор.
Порядок, в котором операции выполняются над элементами, не указан и может быть недетерминированным.
- A1
типовой параметр для бинарного оператора, супертип
A.- op
бинарный оператор, который должен быть ассоциативным.
- returns
Необязательное значение, содержащее результат применения оператора свёртки
opко всем элементам, если коллекция не пуста, иNoneв противном случае.
- Определяющие классы
- 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— элементы этой траверсируемой коллекции.
- Определяющие классы
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
- Выбрасываемые исключения
UnsupportedOperationExceptionесли эта траверсируемая коллекция пуста.
def reduceRightOption[B >: A](op: (A, B) ⇒ B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этой траверсируемой коллекции, справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
необязательное значение, содержащее результат
reduceRight(op), если эта траверсируемая коллекция не пуста,Noneв противном случае.
- Определяющие классы
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def repr: Repr
Коллекция типа траверсируемая коллекция, лежащая в основе этого объекта TraversableLike. По умолчанию это реализовано как сам объект TraversableLike, но это может быть переопределено.
- Определяющие классы
- TraversableLike → GenTraversableLike
def reversed: List[A]
- Атрибуты
- protected[this]
- Определяющие классы
- TraversableOnce
def sameElements(that: GenIterable[A]): Boolean
Проверяет, содержит ли другая итерируемая коллекция те же элементы в том же порядке, что и эта итерируемая коллекция.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
Примечание: не завершится для коллекций бесконечного размера.
- that
коллекция для сравнения.
- returns
true, если обе коллекции содержат одинаковые элементы в том же порядке,falseв противном случае.
- Definition Classes
- IterableProxyLike → IterableLike → GenIterableLike
def scan[B >: A, That](z: B)(op: (B, B) ⇒ B)(implicit cbf: CanBuildFrom[Repr, B, That]): That
Вычисляет префиксный скан элементов коллекции.
Примечание: Нейтральный элемент z может применяться более одного раза.
- B
тип элементов результирующей коллекции
- That
тип результирующей коллекции
- z
нейтральный элемент для оператора
op- op
ассоциативный оператор для сканирования
- cbf
фабрика комбинирования, предоставляющая комбинатор
- returns
новая коллекция Traversable, содержащая префиксный скан элементов в этой коллекции Traversable
- Definition Classes
- TraversableLike → GenTraversableLike
def scanLeft[B, That](z: B)(op: (B, A) ⇒ B)(implicit bf: CanBuildFrom[Repr, B, That]): That
Создает коллекцию, содержащую кумулятивные результаты применения оператора слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- B
тип элементов в результирующей коллекции
- That
фактический тип результирующей коллекции
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- bf
неявное значение класса
CanBuildFrom, которое определяет класс результатаThatиз текущего типа представленияReprи нового типа элементаB.- returns
коллекция с промежуточными результатами
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def scanRight[B, That](z: B)(op: (A, B) ⇒ B)(implicit bf: CanBuildFrom[Repr, 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
- TraversableProxyLike → TraversableLike → GenTraversableLike
def size: Int
Размер этой итерируемой коллекции.
Примечание: не завершится для коллекций бесконечного размера.
- returns
количество элементов в этой итерируемой коллекции.
- Definition Classes
- TraversableProxyLike → GenTraversableLike → TraversableOnce → GenTraversableOnce
def sizeHintIfCheap: Int
Размер этой коллекции или итератора, если он может быть вычислен недорого
- returns
количество элементов в этой коллекции или итераторе, или -1, если размер не может быть определен недорого
- Attributes
- protected[collection]
- Definition Classes
- GenTraversableOnce
def slice(from: Int, until: Int): Repr
Выбирает интервал элементов. Возвращаемая коллекция состоит из всех элементов x, которые удовлетворяют инварианту:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- returns
перебираемая коллекция, содержащая элементы, большие или равные индексу
from, простираясь до (но не включая) индексuntilэтой перебираемой коллекции.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def sliding(size: Int, step: Int): Iterator[Repr]
Группирует элементы в блоки фиксированного размера, пропуская "скользящее окно" по ним (в отличие от разделения их, как это делается в grouped.)
- size
количество элементов в группе
- step
расстояние между первыми элементами последовательных групп
- returns
Итератор, производящий итерируемые коллекции размером
size, за исключением последнего элемента (который может быть единственным элементом), который будет усечен, если оставшихся элементов для группировки меньше, чемsize.
- Definition Classes
- IterableProxyLike → IterableLike
- See also
scala.collection.Iterator, метод
sliding
def sliding(size: Int): Iterator[Repr]
Группирует элементы в блоки фиксированного размера, пропуская "скользящее окно" по ним (в отличие от разделения их, как это делается в grouped.) Шаг "скользящего окна" установлен в один.
- size
количество элементов в группе
- returns
Итератор, производящий итерируемые коллекции размером
size, за исключением последнего элемента (который может быть единственным элементом), который будет усечен, если оставшихся элементов для группировки меньше, чемsize.
- Definition Classes
- IterableProxyLike → IterableLike
- See also
scala.collection.Iterator, метод
sliding
def span(p: (A) ⇒ Boolean): (Repr, Repr)
Разделяет эту перебираемую коллекцию на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- returns
пара, состоящая из самого длинного префикса этой перебираемой коллекции, элементы которой все удовлетворяют условию
p, и остальной части этой перебираемой коллекции.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def splitAt(n: Int): (Repr, Repr)
Разделяет эту перебираемую коллекцию на две части в заданной позиции. Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- n
позиция, в которой нужно разделить.
- returns
пара перебираемых коллекций, состоящая из первых
nэлементов этой перебираемой коллекции и других элементов.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def stringPrefix: String
Определяет префикс представления этого объекта. toString
- returns
строковое представление, которое начинает результат
toString, примененный к этой перебираемой коллекции. По умолчанию строковый префикс — это простое имя класса коллекции перебираемой коллекции.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def sum: A
Суммирует элементы этой коллекции.
- returns
сумма всех элементов в этой итерируемой числовой коллекции типа
Int. ВместоInt, любой другой типTс неявной реализациейNumeric[T]может использоваться как тип элемента итерируемой коллекции и как тип результатаsum. Примерами таких типов являются:Long,Float,Double,BigInt.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
final def synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
def tail: Repr
Выбирает все элементы, кроме первого.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- возвращает
проходимую коллекцию, содержащую все элементы этой проходимой коллекции, кроме первого.
- Классы определений
- TraversableProxyLike → TraversableLike → GenTraversableLike
- Исключения
java.lang.UnsupportedOperationExceptionесли проходимая коллекция пуста.
def tails: Iterator[Repr]
Итерируется по хвостам этой проходимой коллекции. Первое значение будет этой проходимой коллекцией, а последнее — пустой проходимой коллекцией, а промежуточные значения — результатами последовательных применений tail.
- возвращает
итератор по всем хвостам этой проходимой коллекции
- Классы определений
- TraversableLike
List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)
def take(n: Int): Repr
Выбирает первые n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- n
количество элементов для взятия из этой проходимой коллекции.
- возвращает
проходимая коллекция, содержащая только первые
nэлементов этой проходимой коллекции, или же вся проходимая коллекция, если у неё меньше, чемnэлементов. Еслиnотрицательно, возвращается пустая проходимая коллекция.
- Классы определений
- TraversableProxyLike → TraversableLike → GenTraversableLike
def takeRight(n: Int): Repr
Выбирает последние n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- n
количество элементов для взятия
- возвращает
iterable коллекция, содержащая только последние
nэлементов этой iterable коллекции, или же вся iterable коллекция, если у неё меньше, чемnэлементов.
- Классы определений
- IterableProxyLike → IterableLike
def takeWhile(p: (A) ⇒ Boolean): Repr
Берет самый длинный префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- возвращает
самый длинный префикс этой проходимой коллекции, элементы которого удовлетворяют предикату
p.
- Классы определений
- TraversableProxyLike → TraversableLike → GenTraversableLike
def thisCollection: Iterable[A]
Базовая коллекция, рассматриваемая как экземпляр Iterable. По умолчанию она реализуется как текущий объект коллекции, но это можно переопределить.
- Атрибуты
- protected[this]
- Классы определений
- IterableLike → TraversableLike
def to[Col[_]]: Col[A]
Преобразует эту итерируемую коллекцию в другую, копируя все элементы.
Примечание: не завершит работу для коллекций бесконечного размера.
- Col
Тип коллекции для построения.
- возвращает
новая коллекция, содержащая все элементы этой итерируемой коллекции.
- Классы определений
- TraversableLike → TraversableOnce → GenTraversableOnce
def toArray: Array[A]
Преобразует эту итерируемую коллекцию в массив.
Примечание: не завершит работу для коллекций бесконечного размера.
- возвращает
массив, содержащий все элементы этой итерируемой коллекции.
ClassTagдолжен быть доступен для типа элемента этой итерируемой коллекции.
- Классы определений
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def toBuffer[B >: A]: Buffer[B]
Использует содержимое этой проходимой коллекции для создания нового изменяемого буфера.
Примечание: не завершит работу для коллекций бесконечного размера.
- возвращает
буфер, содержащий все элементы этой проходимой коллекции.
- Классы определений
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def toCollection(repr: Repr): Iterable[A]
Преобразование из наборов типов Repr в объекты Iterable. По умолчанию это реализуется как просто приведение типов, но это можно переопределить.
- Атрибуты
- protected[this]
- Определяющие классы
- IterableLike → TraversableLike
def toIndexedSeq: immutable.IndexedSeq[A]
Преобразует это коллекцию-проход по элементам в индексированную последовательность.
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
индексированная последовательность, содержащая все элементы этой коллекции-прохода по элементам.
- Определяющие классы
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def toIterable: Iterable[A]
Преобразует эту коллекцию-проход по элементам в коллекцию-проход по элементам. Обратите внимание, что выбор целевого Iterable является ленивым в этой реализации по умолчанию, поскольку этот TraversableOnce может быть ленивым и невычисленным (т.е. это может быть итератор, который доступен только один раз).
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
коллекцию-проход по элементам, содержащую все элементы этой коллекции-прохода по элементам.
- Определяющие классы
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def toIterator: Iterator[A]
Возвращает итератор по элементам в этой коллекции-проходе по элементам. Вернет тот же итератор, если этот экземпляр уже является итератором.
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
итератор, содержащий все элементы этой коллекции-прохода по элементам.
- Определяющие классы
- TraversableProxyLike → TraversableLike → GenTraversableOnce
def toList: List[A]
Преобразует эту коллекцию-проход по элементам в список.
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
список, содержащий все элементы этой коллекции-прохода по элементам.
- Определяющие классы
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def toMap[T, U]: Map[T, U]
Преобразует эту коллекцию-проход по элементам в словарь. Этот метод недоступен, если элементы не являются членами Tuple2, каждый ((T, U)) становится парой ключ-значение в словаре. Повторные ключи будут перезаписаны последующими ключами: если это неупорядоченная коллекция, ключ, который находится в результирующем словаре, не определен.
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
словарь типа
immutable.Map[T, U], содержащий все пары ключ/значение типа(T, U)этой коллекции-прохода по элементам.
- Определяющие классы
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def toParArray: ParArray[T]
- Неявный
- Этот член добавлен неявным преобразованием из IterableProxyLike[A, Repr] в CollectionsHaveToParArray[IterableProxyLike[A, Repr], T] выполненным методом CollectionsHaveToParArray в scala.collection.parallel. Это преобразование произойдет только в том случае, если в области видимости есть неявное значение типа (IterableProxyLike[A, Repr]) ⇒ GenTraversableOnce[T].
- Определяющие классы
- CollectionsHaveToParArray
def toSeq: Seq[A]
Преобразует эту коллекцию-проход по элементам в последовательность. Как и toIterable, она ленивая в этой реализации по умолчанию, поскольку этот TraversableOnce может быть ленивым и невычисленным.
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
последовательность, содержащая все элементы этой коллекции-прохода по элементам.
- Определяющие классы
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def toSet[B >: A]: immutable.Set[B]
Преобразует эту коллекцию-проход по элементам в множество.
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
множество, содержащее все элементы этой коллекции-прохода по элементам.
- Определяющие классы
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def toStream: Stream[A]
Преобразует это коллекцию с возможностью перебора в поток.
- returns
поток, содержащий все элементы этой коллекции с возможностью перебора.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableOnce
def toString(): String
Возвращает строковое представление объекта.
Представление по умолчанию зависит от платформы.
- returns
строковое представление объекта.
def toTraversable: Traversable[A]
Преобразует эту коллекцию с возможностью перебора в произвольную коллекцию с возможностью перебора. Вернёт ту же коллекцию, если текущий экземпляр уже является коллекцией с возможностью перебора.
Примечание: не завершится для бесконечных коллекций.
- returns
коллекцию с возможностью перебора, содержащую все элементы этой коллекции с возможностью перебора.
- Definition Classes
- TraversableProxyLike → TraversableLike → TraversableOnce → GenTraversableOnce
def toVector: Vector[A]
Преобразует эту коллекцию с возможностью перебора или итератор в вектор.
Примечание: не завершится для бесконечных коллекций.
- returns
вектор, содержащий все элементы этой коллекции с возможностью перебора или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def view(from: Int, until: Int): IterableView[A, Repr]
Создаёт нестрогую проекцию на фрагмент этой коллекции с возможностью перебора.
Примечание: разница между view и slice заключается в том, что view создаёт проекцию на текущую коллекцию с возможностью перебора, а slice создаёт новую коллекцию с возможностью перебора.
Примечание: view(from, to) эквивалентно view.slice(from, to)
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.
- from
индекс первого элемента проекции
- until
индекс элемента, следующего за проекцией
- returns
нестрогая проекция на фрагмент этой коллекции с возможностью перебора, начинающаяся с индекса
fromи продолжающаяся до (но не включая) индексаuntil.
- Definition Classes
- IterableProxyLike → TraversableProxyLike → IterableLike → TraversableLike
def view: IterableView[A, Repr]
Создаёт нестрогую проекцию на эту коллекцию с возможностью перебора.
- returns
нестрогая проекция на эту коллекцию с возможностью перебора.
- Definition Classes
- IterableProxyLike → TraversableProxyLike → IterableLike → TraversableLike
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): FilterMonadic[A, Repr]
Создаёт нестрогую фильтрацию этой коллекции с возможностью перебора.
Примечание: разница между c filter p и c withFilter p в том, что первый создаёт новую коллекцию, а второй только ограничивает область действия последующих операций map, flatMap, foreach и withFilter.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.
- p
предикат, используемый для проверки элементов.
- returns
объект класса
WithFilter, который поддерживает операцииmap,flatMap,foreachиwithFilter. Все эти операции применяются к тем элементам этой коллекции с возможностью перебора, которые удовлетворяют предикатуp.
- Definition Classes
- TraversableLike → FilterMonadic
def zip[B](that: GenIterable[B]): Iterable[(A, B)]
Возвращает итерируемую коллекцию, образованную из этой итерируемой коллекции и другой итерируемой коллекции, объединяя соответствующие элементы парами. Если одна из двух коллекций длиннее другой, оставшиеся элементы игнорируются.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- B
тип второй половины возвращаемых пар
- that
Итерируемая коллекция, предоставляющая вторую половину каждой пары результата
- returns
новая итерируемая коллекция, содержащая пары, состоящие из соответствующих элементов этой итерируемой коллекции и
that. Длина возвращаемой коллекции равна минимуму из длин этой итерируемой коллекции иthat.
- Definition Classes
- IterableProxyLike → 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
- IterableProxyLike → IterableLike → GenIterableLike
def zipWithIndex: Iterable[(A, Int)]
Объединяет эту итерируемую коллекцию с её индексами.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- returns
Новая итерируемая коллекция, содержащая пары, состоящие из всех элементов этой итерируемой коллекции, спаренных с их индексом. Индексы начинаются с
0.
- Definition Classes
- IterableProxyLike → IterableLike → GenIterableLike
List("a", "b", "c").zipWithIndex = List(("a", 0), ("b", 1), ("c", 2))
def →[B](y: B): (IterableProxyLike[A, Repr], B)
- Неявный
- Этот член добавлен неявным преобразованием из IterableProxyLike[A, Repr] в ArrowAssoc[IterableProxyLike[A, Repr]] выполненным методом ArrowAssoc в scala.Predef.
- Definition Classes
- ArrowAssoc
Члены со скрытым неявным значением
def filter(p: (A) ⇒ Boolean): TraversableOnce[A]
- Неявный
- Этот член добавлен с помощью неявного преобразования из IterableProxyLike[A, Repr] в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
- Скрытие
- Этот неявный унаследованный член скрыт одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типов:(iterableProxyLike: MonadOps[A]).filter(p)
- Классы определения
- MonadOps
def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): TraversableOnce[B]
- Неявный
- Этот член добавлен с помощью неявного преобразования из IterableProxyLike[A, Repr] в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
- Скрытие
- Этот неявный унаследованный член скрыт одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типов:(iterableProxyLike: MonadOps[A]).flatMap(f)
- Классы определения
- MonadOps
def map[B](f: (A) ⇒ B): TraversableOnce[B]
- Неявный
- Этот член добавлен с помощью неявного преобразования из IterableProxyLike[A, Repr] в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
- Скрытие
- Этот неявный унаследованный член скрыт одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типов:(iterableProxyLike: MonadOps[A]).map(f)
- Классы определения
- MonadOps
def withFilter(p: (A) ⇒ Boolean): Iterator[A]
- Неявный
- Этот член добавлен с помощью неявного преобразования из IterableProxyLike[A, Repr] в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
- Скрытие
- Этот неявный унаследованный член скрыт одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типов:(iterableProxyLike: 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/IterableProxyLike.html
Этот трейт реализует прокси для объектов Iterable. Он перенаправляет все вызовы на другой объект Iterable.
(С версии 2.11.0) Проксирование устарело из-за отсутствия использования и поддержки на уровне компилятора
2.8