Трейт scala.collection.IterableProxy
Трейт IterableProxy[+A] extends Iterable[A] with IterableProxyLike[A, Iterable[A]]
Члены типа
тип Self = Iterable[A]
Тип, реализующий этот обход
- Атрибуты
- protected[this]
- Определяющие классы
- TraversableLike
класс WithFilter extends FilterMonadic[A, Repr]
Класс, поддерживающий отфильтрованные операции. Экземпляры этого класса возвращаются методом withFilter.
- Определяющие классы
- TraversableLike
Абстрактные члены значения
абстрактный def self: Iterable[A]
- Определяющие классы
- TraversableProxyLike → Proxy
Члены-значения в конкретном виде
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
- Неявный
- Этот член добавлен с помощью неявного преобразования из IterableProxy[A] в any2stringadd[IterableProxy[A]] выполненного методом any2stringadd в scala.Predef.
- Definition Classes
- any2stringadd
def ++[B >: A, That](xs: GenTraversableOnce[B])(implicit bf: CanBuildFrom[Iterable[A], B, That]): That
Возвращает новую коллекцию, содержащую элементы из левого операнда, после которых следуют элементы из правого операнда. Тип элементов возвращаемой коллекции — наиболее общий суперкласс, охватывающий типы элементов двух операндов.
- B
тип элементов возвращаемой коллекции.
- That
класс возвращаемой коллекции. В возможности,
Thatявляется тем же классом, что и текущий класс коллекцииRepr, но это зависит от типа элементаBдопускается для этого класса, что означает, что найден неявный экземпляр типаCanBuildFrom[Repr, B, That].- bf
неявное значение класса
CanBuildFrom, которое определяет возвращаемый классThatиз текущего типа представленияReprи нового типа элементаB.- returns
новая коллекция типа
That, содержащая все элементы этой коллекции, за которыми следуют все элементыthat.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def ++:[B >: A, That](that: Traversable[B])(implicit bf: CanBuildFrom[Iterable[A], B, That]): That
Как и в случае с ++, возвращает новую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда.
Отличается от ++ тем, что правый операнд определяет тип результирующей коллекции, а не левый. Мемоника: COLon находится со стороны нового типа COLлекции.
Пример:
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.- returns
новая коллекция типа
That, содержащая все элементы этой коллекции, за которыми следуют все элементыthat.
- Definition Classes
- TraversableLike
def ++:[B](that: TraversableOnce[B]): Iterable[B]
Как и в случае с ++, возвращает новую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда.
Отличается от ++ тем, что правый операнд определяет тип результирующей коллекции, а не левый. Мемоника: COLon находится со стороны нового типа COLлекции.
Пример:
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
- TraversableLike
def ->[B](y: B): (IterableProxy[A], B)
- Неявный
- Этот член добавлен неявным преобразованием из IterableProxy[A] в ArrowAssoc[IterableProxy[A]] с помощью метода 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
значение опционального типа, содержащее результат применения pf к первому значению, для которого она определена, или
None, если такого значения нет.
- Definition Classes
- TraversableOnce
Seq("a", 1, 5L).collectFirst({ case x: Int => x*10 }) = Some(10)
def companion: GenericCompanion[Iterable]
Объект-компаньон-фабрика, который создаёт экземпляры класса Iterable. (или его Iterable суперкласса, где класс Iterable не является Seq.)
- Definition Classes
- Iterable → GenIterable → Traversable → GenTraversable → GenericTraversableTemplate
def copyToArray(xs: Array[A]): 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): Iterable[A]
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- n
количество элементов для пропуска из этой итерируемой коллекции.
- returns
итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, кроме первых
nэлементов, или пустая итерируемая коллекция, если в этой итерируемой коллекции меньшеnэлементов. Еслиnотрицательно, то элементы не пропускаются.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def dropRight(n: Int): Iterable[A]
Выбирает все элементы, кроме последних n.
Примечание: могут возвращаться разные результаты для разных запусков, если тип базовой коллекции не является упорядоченным.
- n
Количество элементов для взятия
- returns
итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, кроме последних
nэлементов, или же пустая итерируемая коллекция, если эта итерируемая коллекция содержит менееnэлементов.
- Definition Classes
- IterableProxyLike → IterableLike
def dropWhile(p: (A) ⇒ Boolean): Iterable[A]
Удаляет наибольший префикс элементов, удовлетворяющих предикату.
Примечание: могут возвращаться разные результаты для разных запусков, если тип базовой коллекции не является упорядоченным.
- returns
наибольший суффикс этой итерируемой коллекции, первый элемент которой не удовлетворяет предикату
p.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def ensuring(cond: (IterableProxy[A]) ⇒ Boolean, msg: ⇒ Any): IterableProxy[A]
- Неявный
- Этот член добавлен неявным преобразованием из IterableProxy[A] в Ensuring[IterableProxy[A]] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: (IterableProxy[A]) ⇒ Boolean): IterableProxy[A]
- Неявный
- Этот член добавлен неявным преобразованием из IterableProxy[A] в Ensuring[IterableProxy[A]] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean, msg: ⇒ Any): IterableProxy[A]
- Неявный
- Этот член добавлен неявным преобразованием из IterableProxy[A] в Ensuring[IterableProxy[A]] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean): IterableProxy[A]
- Неявный
- Этот член добавлен неявным преобразованием из IterableProxy[A] в Ensuring[IterableProxy[A]] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
final def eq(arg0: AnyRef): Boolean
Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).
Метод eq реализует отношение эквивалентности на непустых экземплярах AnyRef, и имеет три дополнительных свойства:
-
Он является согласованным: для любых непустых экземпляров
x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого непустого экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false.
null.eq(null) возвращает true. При переопределении методов equals или hashCode важно гарантировать, что их поведение согласуется с равенством ссылок. Поэтому, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и должны хешироваться к одному значению (o1.hashCode == o2.hashCode).
- returns
trueесли аргумент является ссылкой на объект-получатель;falseв противном случае.
- Definition Classes
- AnyRef
def equals(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): Iterable[A]
Выбирает все элементы этого итерируемого набора, удовлетворяющие предикату.
- p
предикат, используемый для проверки элементов.
- returns
новый итерируемый набор, состоящий из всех элементов этого итерируемого набора, удовлетворяющих заданному предикату
p. Порядок элементов сохраняется.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def filterNot(p: (A) ⇒ Boolean): Iterable[A]
Выбирает все элементы этого итерируемого набора, которые не удовлетворяют предикату.
- 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 flatten[B]: Iterable[B]
Преобразует эту итерируемую коллекцию из коллекций, поддерживающих итерацию, в итерируемую коллекцию, образованную из элементов этих коллекций, поддерживающих итерацию.
Тип результирующей коллекции будет определяться статическим типом итерируемой коллекции. Например:
val xs = List(
Set(1, 2, 3),
Set(1, 2, 3)
).flatten
// xs == List(1, 2, 3, 1, 2, 3)
val ys = Set(
List(1, 2, 3),
List(3, 2, 1)
).flatten
// ys == Set(1, 2, 3)
- B
тип элементов каждой коллекции, поддерживающей итерацию.
- returns
новая итерируемая коллекция, полученная путём конкатенации всех итерируемых коллекций элементов.
- Definition Classes
- GenericTraversableTemplate
def fold[A1 >: A](z: A1)(op: (A1, A1) ⇒ A1): A1
Вычисляет результирующее значение, применяя заданный ассоциативный бинарный оператор к элементам этой коллекции, поддерживающей итерацию.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Примечание: не завершит работу для коллекций бесконечного размера.
- A1
параметр типа для бинарного оператора, являющийся супертипом
A.- z
нейтральный элемент для операции сворачивания; может быть добавлен к результату произвольное количество раз, и не должен изменять результат (например,
Nilдля конкатенации списков, 0 для сложения или 1 для умножения).- op
бинарный оператор, который должен быть ассоциативным.
- returns
результат применения оператора сворачивания
opмежду всеми элементами иz, илиzесли эта коллекция, поддерживающая итерацию, пуста.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def foldLeft[B](z: B)(op: (B, A) ⇒ B): B
Применяет бинарный оператор к начальному значению и всем элементам этой коллекции, поддерживающей итерацию, слева направо.
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
- B
тип результата бинарного оператора.
- z
начальное значение.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этой коллекции, поддерживающей итерацию, слева направо, начиная с начального значенияzслева:op(...op(z, x_1), x_2, ..., x_n)
где
x1, ..., xn— элементы этой коллекции, поддерживающей итерацию. Возвращаетz, если эта коллекция, поддерживающая итерацию, пуста.
- Definition Classes
- 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 (@см. java.lang.String.format).
- Неявный
- Этот член добавлен неявным преобразованием из IterableProxy[A] в StringFormat[IterableProxy[A]] с помощью метода StringFormat в scala.Predef.
- Классы определений
- StringFormat
- Аннотации
- @inline()
def genericBuilder[B]: Builder[B, Iterable[B]]
Неявный генератор, создающий экземпляры Traversable для произвольных типов элементов.
- Классы определений
- GenericTraversableTemplate
final def getClass(): Class[_]
Возвращает представление runtime-класса объекта.
- возвращает
объект класса, соответствующий типу runtime-получателя.
def groupBy[K](f: (A) ⇒ K): immutable.Map[K, Iterable[A]]
Разбивает эту коллекцию обходных путей на карту коллекций обходных путей в соответствии с некоторой функцией-дискриминатором.
Примечание: этот метод не переопределяется представлениями. Это означает, что при применении к представлению он всегда заставит представление и вернет новую коллекцию обходных путей.
- 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[Iterable[A]]
Разбивает элементы на итерационные коллекции фиксированного размера.
- size
количество элементов в группе
- возвращает
Итератор, генерирующий итерационные коллекции размером
size, за исключением последней, которая будет меньше sizesize, если элементы не делятся на 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]
Возвращает первый элемент.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции неупорядочен.
- returns
первый элемент этого итерируемого объекта, если он не пустой,
Noneесли он пустой.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def init: Iterable[A]
Возвращает все элементы, кроме последнего.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции неупорядочен.
- returns
итерируемый объект, содержащий все элементы этого итерируемого объекта, кроме последнего.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
- Exceptions thrown
UnsupportedOperationException, если итерируемый объект пустой.
def inits: Iterator[Iterable[A]]
Итерируется по начальным подколлекциям этого итерируемого объекта. Первое значение будет соответствовать этому итерируемому объекту, а последнее — пустому итерируемому объекту, промежуточные значения будут результатом последовательных применений init.
- returns
итератор по всем начальным подколлекциям этого итерируемого объекта
- Definition Classes
- TraversableLike
List(1,2,3).inits = Iterator(List(1,2,3), List(1,2), List(1), Nil)
def isEmpty: Boolean
Проверяет, пустой ли этот итерируемый объект.
- returns
trueесли итерируемый объект не содержит элементов,falseв противном случае.
- Definition Classes
- TraversableProxyLike → TraversableLike → TraversableOnce → GenTraversableOnce
final def isInstanceOf[T0]: Boolean
Проверяет, соответствует ли динамический тип объекта получателя типу T0.
Обратите внимание, что результат проверки учитывает семантику стирания Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, в то время как выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, из-за стирания типа аргумента во время компиляции, невозможно проверить, соответствуют ли элементы списка указанному типу.
- returns
trueесли объект получателя является экземпляром стираемого типаT0;falseв противном случае.
- Definition Classes
- Any
final def isTraversableAgain: Boolean
Проверяет, можно ли повторно пройти по этому итерируемому объекту.
- returns
true
- Definition Classes
- TraversableLike → GenTraversableLike → GenTraversableOnce
def iterator: Iterator[A]
Создаёт новый итератор по всем элементам, содержащимся в этом итерируемом объекте.
- returns
новый итератор
- Definition Classes
- IterableProxyLike → IterableLike → GenIterableLike
def last: A
Возвращает последний элемент.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции неупорядочен.
- returns
Последний элемент этого итерируемого объекта.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
- Exceptions thrown
NoSuchElementException, если итерируемый объект пустой.
def lastOption: Option[A]
Возвращает последний элемент (опционально).
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции неупорядочен.
- returns
последний элемент этого итерируемого объекта, если он не пустой,
Noneесли он пустой.
- Definition Classes
- 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).
- returns
trueесли аргумент не является ссылкой на объект-получатель;falseв противном случае.
- Definition Classes
- AnyRef
def newBuilder: Builder[A, Iterable[A]]
Построитель, который создает экземпляры типа Traversable[A]
- Attributes
- protected[this]
- Definition Classes
- GenericTraversableTemplate → HasNewBuilder
def nonEmpty: Boolean
Проверяет, является ли коллекция traversable непустой.
- returns
trueесли коллекция traversable содержит по крайней мере один элемент,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): (Iterable[A], Iterable[A])
Разделяет эту коллекцию traversable на две коллекции traversable в соответствии с предикатом.
- p
предикат, по которому происходит разделение.
- returns
пара коллекций traversable: первая коллекция traversable состоит из всех элементов, которые удовлетворяют предикату
p, а вторая коллекция traversable состоит из всех элементов, которые не удовлетворяют ему. Относительный порядок элементов в результирующих коллекциях traversable такой же, как и в исходной коллекции traversable.
- 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
Результат применения оператора 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
- TraversableProxyLike → TraversableOnce
- Exceptions thrown
UnsupportedOperationException, если этот итерируемый объект пустой.
def reduceLeftOption[B >: A](op: (B, A) ⇒ B): Option[B]
Возможная применённая бинарного оператора ко всем элементам этого итерируемого объекта слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен, или оператор не ассоциативен и не коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
опциональное значение, содержащее результат
reduceLeft(op), если этот итерируемый объект непустой,Noneв противном случае.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def reduceOption[A1 >: A](op: (A1, A1) ⇒ A1): Option[A1]
Сводит элементы этого итерируемого объекта или итератора, если таковые имеются, с использованием указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть недетерминированным.
- A1
Параметр типа для бинарного оператора, надтип
A.- op
Бинарный оператор, который должен быть ассоциативным.
- returns
Опциональное значение, содержащее результат применения оператора 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
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
- Exceptions thrown
UnsupportedOperationException, если этот итерируемый объект пустой.
def reduceRightOption[B >: A](op: (A, B) ⇒ B): Option[B]
Возможная применённая бинарного оператора ко всем элементам этого итерируемого объекта справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен, или оператор не ассоциативен и не коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
опциональное значение, содержащее результат
reduceRight(op)если этот итерируемый объект непустой,Noneв противном случае.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def repr: Iterable[A]
Коллекция типа итерируемой коллекции, лежащая в основе этого объекта 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
- IterableProxyLike → IterableLike → GenIterableLike
def scan[B >: A, That](z: B)(op: (B, B) ⇒ B)(implicit cbf: CanBuildFrom[Iterable[A], 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[Iterable[A], 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[Iterable[A], 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 seq: Iterable[A]
A version of this collection with all of the operations implemented sequentially (i.e., in a single-threaded manner).
This method returns a reference to this collection. In parallel collections, it is redefined to return a sequential implementation of this collection. In both cases, it has O(1) complexity.
- returns
a sequential view of the collection.
- Definition Classes
- Iterable → GenIterable → Traversable → GenTraversable → Parallelizable → TraversableOnce → GenTraversableOnce
def size: Int
The size of this traversable collection.
Note: will not terminate for infinite-sized collections.
- returns
the number of elements in this traversable collection.
- Definition Classes
- TraversableProxyLike → GenTraversableLike → TraversableOnce → GenTraversableOnce
def sizeHintIfCheap: Int
The size of this collection or iterator, if it can be cheaply computed
- returns
the number of elements in this collection or iterator, or -1 if the size cannot be determined cheaply
- Attributes
- protected[collection]
- Definition Classes
- GenTraversableOnce
def slice(from: Int, until: Int): Iterable[A]
Selects an interval of elements. The returned collection is made up of all elements x which satisfy the invariant:
from <= indexOf(x) < until
Note: might return different results for different runs, unless the underlying collection type is ordered.
- returns
a traversable collection containing the elements greater than or equal to index
fromextending up to (but not including) indexuntilof this traversable collection.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def sliding(size: Int, step: Int): Iterator[Iterable[A]]
Groups elements in fixed size blocks by passing a "sliding window" over them (as opposed to partitioning them, as is done in grouped.)
- size
the number of elements per group
- step
the distance between the first elements of successive groups
- returns
An iterator producing iterable collections of size
size, except the last element (which may be the only element) will be truncated if there are fewer thansizeelements remaining to be grouped.
- Definition Classes
- IterableProxyLike → IterableLike
- See also
scala.collection.Iterator, method
sliding
def sliding(size: Int): Iterator[Iterable[A]]
Groups elements in fixed size blocks by passing a "sliding window" over them (as opposed to partitioning them, as is done in grouped.) The "sliding window" step is set to one.
- size
the number of elements per group
- returns
An iterator producing iterable collections of size
size, except the last element (which may be the only element) will be truncated if there are fewer thansizeelements remaining to be grouped.
- Definition Classes
- IterableProxyLike → IterableLike
- See also
scala.collection.Iterator, method
sliding
def span(p: (A) ⇒ Boolean): (Iterable[A], Iterable[A])
Splits this traversable collection into a prefix/suffix pair according to a predicate.
Note: c span p is equivalent to (but possibly more efficient than) (c takeWhile p, c dropWhile p), provided the evaluation of the predicate p does not cause any side-effects.
Note: might return different results for different runs, unless the underlying collection type is ordered.
- returns
a pair consisting of the longest prefix of this traversable collection whose elements all satisfy
p, and the rest of this traversable collection.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def splitAt(n: Int): (Iterable[A], Iterable[A])
Разделяет эту итерируемую коллекцию на две части в заданной позиции. Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- n
позиция, в которой нужно разделить.
- returns
пара итерируемых коллекций, состоящих из первых
nэлементов этой итерируемой коллекции и остальных элементов.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def stringPrefix: String
Определяет префикс представления этого объекта.
- 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: Iterable[A]
Выбирает все элементы, кроме первого.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- returns
итерируемую коллекцию, состоящую из всех элементов этой итерируемой коллекции, кроме первого.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
- Исключения
java.lang.UnsupportedOperationException, если итерируемая коллекция пуста.
def tails: Iterator[Iterable[A]]
Итерируется по хвостам этой итерируемой коллекции. Первое значение — это эта итерируемая коллекция, а последнее — пустая итерируемая коллекция, промежуточные значения — результаты последовательных применений tail.
- returns
итератор по всем хвостам этой итерируемой коллекции
- Definition Classes
- TraversableLike
List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)
def take(n: Int): Iterable[A]
Выбирает первые n элементов.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- n
количество элементов, которые нужно взять из этой итерируемой коллекции.
- returns
итерируемую коллекцию, содержащую только первые
nэлементов этой итерируемой коллекции, или всю итерируемую коллекцию, если она содержит меньшеnэлементов. Еслиnотрицательное, возвращает пустую итерируемую коллекцию.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableLike
def takeRight(n: Int): Iterable[A]
Выбирает последние n элементов.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- n
количество элементов для взятия
- returns
итерируемую коллекцию, содержащую только последние
nэлементов этой итерируемой коллекции, или всю итерируемую коллекцию, если она содержит меньшеnэлементов.
- Definition Classes
- IterableProxyLike → IterableLike
def takeWhile(p: (A) ⇒ Boolean): Iterable[A]
Берет самую длинную префиксную последовательность элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- returns
самую длинную префиксную последовательность этой итерируемой коллекции, элементы которой удовлетворяют предикату
p.
- Definition Classes
- 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: Iterable[A]): Iterable[A]
Преобразование коллекций типа Repr в объекты Iterable. По умолчанию это реализовано просто как приведение типов, но это можно переопределить.
- Атрибуты
- protected[this]
- Определяющие классы
- IterableLike → TraversableLike
def toIndexedSeq: immutable.IndexedSeq[A]
Преобразует эту итерируемую коллекцию в индексированную последовательность.
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
индексированная последовательность, содержащая все элементы этой итерируемой коллекции.
- Определяющие классы
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def toIterable: Iterable[A]
Преобразует эту итерируемую коллекцию в итерируемую коллекцию. Обратите внимание, что выбор целевого Iterable является ленивым в этой реализации по умолчанию, поскольку этот TraversableOnce может быть ленивым и невычисленным (т.е. это может быть итератор, который доступен только один раз).
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
Iterable, содержащий все элементы этой итерируемой коллекции.
- Определяющие классы
- 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)) становится парой ключ-значение в карте. Повторяющиеся ключи будут перезаписаны последующими ключами: если это неупорядоченная коллекция, какой ключ находится в результирующей карте, не определено.
Примечание: не завершится для коллекций бесконечного размера.
- returns
карта типа
immutable.Map[T, U], содержащая все пары ключ/значение типа(T, U)этой итерируемой коллекции.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def toParArray: ParArray[T]
- Неявный
- Этот член добавляется неявным преобразованием из IterableProxy[A] в CollectionsHaveToParArray[IterableProxy[A], T] при помощи метода CollectionsHaveToParArray в scala.collection.parallel. Это преобразование произойдёт только если в области видимости имеется неявное значение типа (IterableProxy[A]) ⇒ GenTraversableOnce[T].
- Definition Classes
- CollectionsHaveToParArray
def toSeq: Seq[A]
Преобразует эту итерируемую коллекцию в последовательность. Как и toIterable, она ленивая в этом реализации по умолчанию, так как эта TraversableOnce может быть ленивой и не вычисленной.
Примечание: не завершится для коллекций бесконечного размера.
- returns
последовательность, содержащая все элементы этой итерируемой коллекции.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def toSet[B >: A]: immutable.Set[B]
Преобразует эту итерируемую коллекцию в множество.
Примечание: не завершится для коллекций бесконечного размера.
- returns
множество, содержащее все элементы этой итерируемой коллекции.
- Definition Classes
- TraversableProxyLike → TraversableOnce → GenTraversableOnce
def toStream: Stream[A]
Преобразует эту итерируемую коллекцию в поток.
- returns
поток, содержащий все элементы этой итерируемой коллекции.
- Definition Classes
- TraversableProxyLike → TraversableLike → GenTraversableOnce
def toString(): String
Возвращает строковое представление объекта.
Представление по умолчанию зависит от платформы.
- returns
строковое представление объекта.
def toTraversable: Traversable[A]
Преобразует эту итерируемую коллекцию в неопределённое Traversable. Вернёт ту же самую коллекцию, если этот экземпляр уже Traversable.
Примечание: не завершится для коллекций бесконечного размера.
- returns
Traversable, содержащая все элементы этой итерируемой коллекции.
- Definition Classes
- TraversableProxyLike → TraversableLike → TraversableOnce → GenTraversableOnce
def toVector: Vector[A]
Преобразует эту итерируемую или итератор в вектор.
Примечание: не завершится для коллекций бесконечного размера.
- returns
вектор, содержащий все элементы этой итерируемой или итератора.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def transpose[B](implicit asTraversable: (A) ⇒ GenTraversableOnce[B]): Iterable[Iterable[B]]
Транспонирует это множество итерируемых множеств в множество множеств.
Тип результирующего множества будет определяться статическим типом множества. Например:
val xs = List(
Set(1, 2, 3),
Set(4, 5, 6)).transpose
// xs == List(
// List(1, 4),
// List(2, 5),
// List(3, 6))
val ys = Vector(
List(1, 2, 3),
List(4, 5, 6)).transpose
// ys == Vector(
// Vector(1, 4),
// Vector(2, 5),
// Vector(3, 6))
- B
тип элементов каждого итерируемого множества.
- asTraversable
явное преобразование, которое утверждает, что тип элемента этого множества является
Traversable.- returns
двумерное множество множеств, в котором n-я строка содержит n-й столбец этого множества.
- Definition Classes
- GenericTraversableTemplate
- Annotations
- @migration
- Migration
(Изменено в версии 2.9.0)
transposeвызываетIllegalArgumentExceptionесли множества не имеют одинаковый размер.- Exceptions thrown
IllegalArgumentExceptionесли все множества в этом множестве не имеют одинаковый размер.
def unzip[A1, A2](implicit asPair: (A) ⇒ (A1, A2)): (Iterable[A1], Iterable[A2])
Преобразует это множество пар в два множества первой и второй половины каждой пары.
val xs = Traversable(
(1, "one"),
(2, "two"),
(3, "three")).unzip
// xs == (Traversable(1, 2, 3),
// Traversable(one, two, three))
- A1
тип первой половины пар элементов
- A2
тип второй половины пар элементов
- asPair
явное преобразование, которое утверждает, что тип элемента этого множества является парой.
- returns
пара множеств, содержащая первую и вторую половины каждой пары элементов этого множества.
- Definition Classes
- GenericTraversableTemplate
def unzip3[A1, A2, A3](implicit asTriple: (A) ⇒ (A1, A2, A3)): (Iterable[A1], Iterable[A2], Iterable[A3])
Преобразует это множество троек в три множества первого, второго и третьего элемента каждой тройки.
val xs = Traversable(
(1, "one", '1'),
(2, "two", '2'),
(3, "three", '3')).unzip3
// xs == (Traversable(1, 2, 3),
// Traversable(one, two, three),
// Traversable(1, 2, 3))
- A1
тип первого члена троек элементов
- A2
тип второго члена троек элементов
- A3
тип третьего члена троек элементов
- asTriple
явное преобразование, которое утверждает, что тип элемента этого множества является тройкой.
- returns
тройку множеств, содержащую первый, второй и третий члены каждой тройки элементов этого множества.
- Definition Classes
- GenericTraversableTemplate
def view(from: Int, until: Int): IterableView[A, Iterable[A]]
Создает нестрогое представление фрагмента этого итерируемого множества.
Примечание: разница между 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, Iterable[A]]
Создает нестрогое представление этого итерируемого множества.
- 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, Iterable[A]]
Создаёт нестрогий фильтр этой итерируемой коллекции.
Примечание: различие между 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): (IterableProxy[A], B)
- Неявный
- Этот член добавлен неявным преобразованием из IterableProxy[A] в ArrowAssoc[IterableProxy[A]] выполненным методом ArrowAssoc в scala.Predef.
- Definition Classes
- ArrowAssoc
Скрытые неявные члены значения
def filter(p: (A) ⇒ Boolean): TraversableOnce[A]
- Неявный
- Этот член добавлен неявным преобразованием из IterableProxy[A] в MonadOps[A], выполненным методом MonadOps в scala.collection.TraversableOnce.
- Скрытие
- Этот неявный унаследованный член скрыт одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типов:(iterableProxy: MonadOps[A]).filter(p)
- Определяющие классы
- MonadOps
def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): TraversableOnce[B]
- Неявный
- Этот член добавлен неявным преобразованием из IterableProxy[A] в MonadOps[A], выполненным методом MonadOps в scala.collection.TraversableOnce.
- Скрытие
- Этот неявный унаследованный член скрыт одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типов:(iterableProxy: MonadOps[A]).flatMap(f)
- Определяющие классы
- MonadOps
def map[B](f: (A) ⇒ B): TraversableOnce[B]
- Неявный
- Этот член добавлен неявным преобразованием из IterableProxy[A] в MonadOps[A], выполненным методом MonadOps в scala.collection.TraversableOnce.
- Скрытие
- Этот неявный унаследованный член скрыт одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типов:(iterableProxy: MonadOps[A]).map(f)
- Определяющие классы
- MonadOps
def withFilter(p: (A) ⇒ Boolean): Iterator[A]
- Неявный
- Этот член добавлен неявным преобразованием из IterableProxy[A] в MonadOps[A], выполненным методом MonadOps в scala.collection.TraversableOnce.
- Скрытие
- Этот неявный унаследованный член скрыт одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типов:(iterableProxy: 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/IterableProxy.html
Этот трейт реализует прокси для итерируемых объектов. Он перенаправляет все вызовы на другой итерируемый объект.
(С версии 2.11.3) Проксирование устарело из-за отсутствия использования и поддержки на уровне компилятора
2.8