Spec-Zone.ru › Scala 2.12 Library

Класс scala.collection.immutable.Range

Компонент объект Range

sealed класс Range extends AbstractSeq[Int] with IndexedSeq[Int] with CustomParallelizable[Int, ParRange] with Serializable

Класс Range представляет целые значения в диапазоне [start;end) с ненулевым значением шага step. Это специальный случай индексированного последовательности. Например:

val r1 = 0 until 10
val r2 = r1.start until r1.end by r1.step + 1
println(r2.length) // = 5

Диапазоны, содержащие более Int.MaxValue элементов, могут быть созданы, но эти переполненные диапазоны имеют ограниченные возможности. Любой метод, который может потребовать создания коллекции длиной более Int.MaxValue элементов, или который может быть запрошен для индексирования за пределами Int.MaxValue элементов, выбросит исключение. Переполненные диапазоны можно безопасно уменьшить в размерах, изменив размер шага (например, by 3) или взяв/убрав элементы. contains, equals, и доступ к концам диапазона (head, last, tail, init) также разрешены для переполненных диапазонов.

Аннотации
@SerialVersionUID()
Источник
Range.scala
С

2.5

См. также

"Обзор библиотеки коллекций Scala" раздел по Ranges для получения дополнительной информации.

Линейные супертипы
Известные подклассы

Конструкторы экземпляров

новый Range(start: Int, end: Int, step: Int)

start

начало этого диапазона.

end

конец диапазона. Для исключительных диапазонов, например, Range(0,3) или (0 until 3), это значение на один шаг за последним элементом в диапазоне. Для включательных диапазонов, например, Range.inclusive(0,3) или (0 to 3), оно может находиться в диапазоне, если оно не пропускается шагом. Чтобы найти последний элемент внутри непустого диапазона, используйте last.

step

шаг для диапазона.

Типовые члены

класс Elements extends AbstractIterator[A] with BufferedIterator[A] with Serializable

Класс итератора, возвращаемого методом iterator. Множественные take, drop, и slice операции над этим итератором объединяются для большей эффективности.

Атрибуты
защищенные
Определяющие классы
IndexedSeqLike
Аннотации
@SerialVersionUID()

класс WithFilter extends FilterMonadic[A, Repr]

Класс, поддерживающий отфильтрованные операции. Экземпляры этого класса возвращаются методом withFilter.

Определяющие классы
TraversableLike

тип Self = IndexedSeq[Int]

Тип, реализующий эту последовательность

Атрибуты
защищенные[this]
Определяющие классы
TraversableLike

Члены-значения

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

возвращает

true если !(this == that), иначе false.

Определения классов
AnyRef → Any

final def ##(): Int

Эквивалентно x.hashCode, за исключением упакованных числовых типов и null. Для числовых типов возвращает хэш-значение, согласованное с равенством значений: если две инстанции типа значения сравниваются как true, то ## вернёт одно и то же хэш-значение для каждой из них. Для null возвращает хэш-код, где null.hashCode вызывает NullPointerException.

возвращает

хэш-значение, согласованное с ==

Определения классов
AnyRef → Any

def +(other: String): String

Неявный
Этот член добавляется неявным преобразованием из Range в any2stringadd[Range] с помощью метода any2stringadd в scala.Predef.
Определения классов
any2stringadd

def ++[B >: Int, That](that: GenTraversableOnce[B])(implicit bf: CanBuildFrom[IndexedSeq[Int], B, That]): That

Возвращает новую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элемента возвращаемой коллекции является наиболее специфичным суперклассом, охватывающим типы элементов двух операндов.

B

тип элемента возвращаемой коллекции.

That

класс возвращаемой коллекции. Где возможно, That совпадает с текущим классом коллекции Repr, но это зависит от типа элемента B, который должен быть допустим для этого класса, что означает, что найден неявный экземпляр типа CanBuildFrom[Repr, B, That].

that

коллекция, которую нужно добавить.

bf

неявное значение класса CanBuildFrom, которое определяет класс результата That из текущего типа представления Repr и нового типа элемента B.

возвращает

новая коллекция типа That, которая содержит все элементы этой коллекции, за которыми следуют все элементы that.

Определения классов
TraversableLike → GenTraversableLike

def ++:[B >: Int, That](that: collection.Traversable[B])(implicit bf: CanBuildFrom[IndexedSeq[Int], 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.

возвращает

новая коллекция типа That, которая содержит все элементы этой коллекции, за которыми следуют все элементы that.

Определения классов
TraversableLike

def ++:[B](that: TraversableOnce[B]): IndexedSeq[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

коллекция, которую нужно добавить.

возвращает

новый диапазон, содержащий все элементы этого диапазона, за которыми следуют все элементы that.

Определения классов
TraversableLike
Полная подпись

def +:(elem: A): IndexedSeq[A]

[use case]

Копия диапазона с добавленным элементом в начало.

Обратите внимание, что операторы с окончанием двоеточием являются правоассоциативными (см. пример). Мнемоника для +: по сравнению с :+ такова: двоеточие ставится со стороны коллекции.

Кроме того, исходный диапазон не изменяется, поэтому вам нужно будет сохранить результат.

Пример:

scala> val x = List(1)
x: List[Int] = List(1)

scala> val y = 2 +: x
y: List[Int] = List(2, 1)

scala> println(x)
List(1)
elem

элемент, добавляемый в начало

returns

новый диапазон, состоящий из elem и всех элементов этого диапазона.

Definition Classes
SeqLike → GenSeqLike
Полная сигнатура

def ->[B](y: B): (Range, B)

Неявный
Этот член добавлен с помощью неявного преобразования из Range в ArrowAssoc[Range] с помощью метода ArrowAssoc в scala.Predef.
Definition Classes
ArrowAssoc
Аннотации
@inline()

def /:[B](z: B)(op: (B, Int) ⇒ 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

бинарный оператор.

returns

результат вставки op между последовательными элементами этого итерируемого объекта или итератора слева направо с начальным значением z слева:

op(...op(op(z, x_1), x_2), ..., x_n)

где x1, ..., xn — элементы этого итерируемого объекта или итератора.

Definition Classes
TraversableOnce → GenTraversableOnce

def :+(elem: A): IndexedSeq[A]

[use case]

Копия этого диапазона с добавленным элементом в конец.

Мнемоника для +: по сравнению с :+ такова: двоеточие ставится со стороны коллекции.

Пример:

scala> val a = List(1)
a: List[Int] = List(1)

scala> val b = a :+ 2
b: List[Int] = List(1, 2)

scala> println(a)
List(1)
elem

элемент, добавляемый в конец

returns

новый диапазон, состоящий из всех элементов этого диапазона, за которым следует elem.

Definition Classes
SeqLike → GenSeqLike
Полная сигнатура

def :\[B](z: B)(op: (Int, 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

бинарный оператор

returns

результат вставки op между последовательными элементами этого итерируемого объекта или итератора справа налево с начальным значением z справа:

op(x_1, op(x_2, ... op(x_n, z)...))

где x1, ..., xn — элементы этого итерируемого объекта или итератора.

Definition Classes
TraversableOnce → GenTraversableOnce

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

returns

true если объект-получатель эквивалентен аргументу; false в противном случае.

Definition Classes
AnyRef → Any

def addString(b: StringBuilder): StringBuilder

Добавляет все элементы этого итерируемого объекта или итератора в строковый буфер. Записанный текст состоит из строковых представлений (относительно метода toString) всех элементов этого итерируемого объекта или итератора без разделительной строки.

Пример:

scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)

scala> val b = new StringBuilder()
b: StringBuilder =

scala> val h = a.addString(b)
h: StringBuilder = 1234
b

строковый буфер, в который добавляются элементы.

returns

строковый буфер b, в который были добавлены элементы.

Definition Classes
TraversableOnce

def addString(b: StringBuilder, sep: String): StringBuilder

Добавляет все элементы этого итерируемого объекта или итератора в строку-построитель с использованием разделительной строки. Записанный текст состоит из строковых представлений (относительно метода toString) всех элементов этого итерируемого объекта или итератора, разделённых строкой sep.

Пример:

scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)

scala> val b = new StringBuilder()
b: StringBuilder =

scala> a.addString(b, ", ")
res0: StringBuilder = 1, 2, 3, 4
b

строковый построитель, в который добавляются элементы.

sep

разделительная строка.

returns

строковый построитель b, в который были добавлены элементы.

Definition Classes
TraversableOnce

def addString(b: StringBuilder, start: String, sep: String, end: String): 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
TraversableOnce

def aggregate[B](z: ⇒ B)(seqop: (B, Int) ⇒ 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

def andThen[C](k: (Int) ⇒ C): PartialFunction[Int, C]

Компонует эту частичную функцию с функцией преобразования, которая применяется к результатам этой частичной функции.

C

тип результата функции преобразования.

k

функция преобразования

returns

частичная функция с тем же областью определения, что и эта частичная функция, которая отображает аргументы x в k(this(x)).

Definition Classes
PartialFunction → Function1

final def apply(idx: Int): Int

Выбирает элемент по его индексу в диапазоне.

Пример:

scala> val x = List(1, 2, 3, 4, 5)
x: List[Int] = List(1, 2, 3, 4, 5)

scala> x(3)
res1: Int = 4
idx

Индекс для выбора.

returns

элемент этого диапазона по индексу idx, где 0 обозначает первый элемент.

Definition Classes
Range → SeqLike → GenSeqLike → Function1
Exceptions thrown

IndexOutOfBoundsException, если idx не удовлетворяет 0 <= idx < length.

def applyOrElse[A1 <: Int, B1 >: Int](x: A1, default: (A1) ⇒ B1): B1

Применяет данную частичную функцию к заданному аргументу, если он содержится в области определения функции. Применяет резервную функцию, если частичная функция не определена.

Обратите внимание, что выражение pf.applyOrElse(x, default) эквивалентно

if(pf isDefinedAt x) pf(x) else default(x)

за исключением того, что метод applyOrElse может быть реализован более эффективно. Для всех литералов частичных функций компилятор генерирует реализацию applyOrElse, которая избегает двойной оценки совпадений шаблонов и условий. Это делает applyOrElse основой для эффективной реализации многих операций и сценариев, таких как:

    соединение частичных функций в orElse/andThen цепочки не приводит к чрезмерной apply/isDefinedAt оценке lift и unlift не оценивают исходные функции дважды при каждом вызове runWith позволяет эффективно объединять частичные функции в императивном стиле с применением действий при определенных условиях

Для нелитеральных классов частичных функций с ненулевой реализацией метода isDefinedAt рекомендуется переопределить метод applyOrElse с пользовательской реализацией, которая избегает двойной isDefinedAt оценки. Это может привести к лучшей производительности и более предсказуемому поведению по отношению к побочным эффектам.

x

аргумент функции

default

функция по умолчанию

returns

результат применения этой функции или функции по умолчанию.

Definition Classes
PartialFunction
Since

2.10

final def asInstanceOf[T0]: T0

Преобразует объект-получатель к типу T0.

Обратите внимание, что успех преобразования во время выполнения зависит от семантики стирания Scala. Следовательно, выражение 1.asInstanceOf[String] выбросит исключение ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] не выбросит. В последнем примере, так как тип аргумента стирается при компиляции, невозможно проверить, соответствуют ли элементы списка запрошенному типу.

returns

объект-получатель.

Definition Classes
Any
Исключения

ClassCastException если объект-получатель не является экземпляром стираемого типа T0.

def by(step: Int): Range

Создает новый диапазон с start и end значениями этого диапазона и новым step.

returns

новый диапазон с другим шагом

def canEqual(that: Any): Boolean

Метод, вызываемый из методов равенства, чтобы пользовательские подклассы могли отказываться от равенства с другими коллекциями того же типа.

that

Объект, с которым нужно сравнить этот итерируемый набор

returns

true, если этот итерируемый набор может быть равен that, false в противном случае. При проверке учитываются только типы объектов во время выполнения, но не их элементы.

Definition Classes
IterableLike → Equals

def clone(): AnyRef

Создает копию объекта-получателя.

По умолчанию реализация метода clone зависит от платформы.

returns

копия объекта-получателя.

Attributes
protected[lang]
Definition Classes
AnyRef
Annotations
@throws( ... ) @native()
Примечание

не определен SLS как член AnyRef

def collect[B](pf: PartialFunction[A, B]): IndexedSeq[B]

[use case]

Создает новую коллекцию, применяя частичную функцию ко всем элементам этого диапазона, для которых она определена.

B

тип элементов возвращаемой коллекции.

pf

частичная функция, которая фильтрует и отображает диапазон.

returns

новый диапазон, полученный в результате применения заданной частичной функции pf к каждому элементу, для которого она определена, и сбора результатов. Порядок элементов сохраняется.

Definition Classes
TraversableLike → GenTraversableLike
Полная подпись

def collectFirst[B](pf: PartialFunction[Int, B]): Option[B]

Ищет первый элемент в перебираемой коллекции или итераторе, для которого заданная частичная функция определена, и применяет частичную функцию к нему.

Примечание: может не завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

pf

частичная функция

returns

значение Option, содержащее pf, примененную к первому значению, для которого она определена, или None если такового нет.

Definition Classes
TraversableOnce
Пример:

    Seq("a", 1, 5L).collectFirst({ case x: Int => x*10 }) = Some(10)

def combinations(n: Int): Iterator[IndexedSeq[Int]]

Итерируется по комбинациям. _Комбинация_ длины n — это подпоследовательность исходной последовательности, элементы которой взяты в порядке следования. Таким образом, "xy" и "yy" — это комбинации длины 2 исходной последовательности "xyy", но "yx" не является таковой. Если существует более одного способа сгенерировать одну и ту же подпоследовательность, будет возвращена только одна.

Например, "xyyy" имеет три способа сгенерировать "xy" в зависимости от того, какой первый, второй или третий "y" элемент был выбран. Однако, поскольку все они идентичны, будет выбран только один. Какой из трёх будет выбран, является реализационным деталью и не определён.

returns

Итератор, который проходит по возможным n-элементным комбинациям этой последовательности.

Definition Classes
SeqLike
Пример:

    "abbbc".combinations(2) = Iterator(ab, ac, bb, bc)

def companion: GenericCompanion[IndexedSeq]

Объект-компаньон для создания экземпляров класса IndexedSeq. (или его Iterable суперкласса, если класс IndexedSeq не является Seq.)

Definition Classes
IndexedSeq → IndexedSeq → Seq → Seq → GenSeq → Iterable → Iterable → GenIterable → Traversable → Traversable → GenTraversable → GenericTraversableTemplate

def compose[A](g: (A) ⇒ Int): (A) ⇒ Int

Композирует два экземпляра Function1 в новый Function1, применяя этот функцию последней.

A

тип, к которому можно применить функцию g

g

функция A => T1

returns

новая функция f такая, что f(x) == apply(g(x))

Definition Classes
Function1
Annotations
@unspecialized()

final def contains(x: Int): Boolean

def contains[A1 >: Int](elem: A1): Boolean

Проверяет, содержит ли этот последовательность заданное значение в качестве элемента.

Примечание: может не завершиться для последовательностей бесконечного размера.

elem

элемент для проверки.

returns

true если в этой последовательности есть элемент, равный (как определяется ==) elem, false в противном случае.

Definition Classes
SeqLike

def containsSlice[B](that: GenSeq[B]): Boolean

Проверяет, содержит ли эта последовательность заданную последовательность как срез.

Примечание: может не завершиться для последовательностей бесконечного размера.

that

последовательность для проверки

returns

true если эта последовательность содержит срез с теми же элементами, что и that, иначе false

Definition Classes
SeqLike

def copy(start: Int, end: Int, step: Int): Range

Attributes
protected

def copyToArray(xs: Array[A], start: Int, len: Int): Unit

[use case]

Копирует элементы этого диапазона в массив. Заполняет данный массив xs не более чем len элементами этого диапазона, начиная с позиции start. Копирование прекратится, как только будет достигнут конец текущего диапазона, или конец целевого массива, или len элементов были скопированы.

xs

массив для заполнения.

start

индекс начала.

len

максимальное количество элементов для копирования.

Definition Classes
IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce
Полная подпись

def copyToArray(xs: Array[A]): Unit

[use case]

Копирует элементы этого диапазона в массив. Заполняет данный массив xs значениями этого диапазона. Копирование прекратится, как только будет достигнут конец текущего диапазона или конец целевого массива.

xs

массив для заполнения.

Definition Classes
TraversableOnce → GenTraversableOnce
Полная подпись

def copyToArray(xs: Array[A], start: Int): Unit

[use case]

Копирует элементы этого диапазона в массив. Заполняет данный массив xs значениями этого диапазона, начиная с индекса start. Копирование прекратится, как только будет достигнут конец текущего диапазона или конец целевого массива.

xs

массив для заполнения.

start

индекс начала.

Definition Classes
TraversableOnce → GenTraversableOnce
Полная подпись

def copyToBuffer[B >: Int](dest: Buffer[B]): Unit

Копирует все элементы этого итерируемого объекта или итератора в буфер.

Примечание: не будет завершаться для коллекций бесконечного размера.

dest

Буфер, в который копируются элементы.

Definition Classes
TraversableOnce

def corresponds[B](that: GenSeq[B])(p: (Int, B) ⇒ Boolean): Boolean

Проверяет, удовлетворяет ли каждый элемент этой последовательности соответствующему элементу другой последовательности с помощью предиката проверки.

B

тип элементов that

that

другая последовательность

p

предикат проверки, который связывает элементы из обеих последовательностей

returns

true если обе последовательности имеют одинаковую длину и p(x, y) равно true для всех соответствующих элементов x этой последовательности и y that, в противном случае false.

Definition Classes
SeqLike → GenSeqLike

def count(p: (Int) ⇒ Boolean): Int

Подсчитывает количество элементов в итерируемом объекте или итераторе, которые удовлетворяют предикату.

p

предикат, используемый для проверки элементов.

returns

количество элементов, удовлетворяющих предикату p.

Definition Classes
TraversableOnce → GenTraversableOnce

def diff(that: collection.Seq[Int]): IndexedSeq[Int]

[use case]

Вычисляет разность мультимножеств между этим диапазоном и другой последовательностью.

that

последовательность элементов для удаления

returns

новый диапазон, который содержит все элементы этого диапазона, за исключением некоторых вхождений элементов, которые также встречаются в that. Если значение элемента x встречается n раз в that, то первые n вхождений x не будут частью результата, но любые последующие вхождения будут.

Definition Classes
SeqLike → GenSeqLike
Полная подпись

def distinct: IndexedSeq[Int]

Создает новую последовательность из этой последовательности без дублируемых элементов.

Примечание: не будет завершаться для коллекций бесконечного размера.

returns

Новая последовательность, содержащая первое вхождение каждого элемента этой последовательности.

Definition Classes
SeqLike → GenSeqLike

final def drop(n: Int): Range

Создает новый диапазон, содержащий все элементы этого диапазона, за исключением первых n элементов.

Примечание: этот метод не использует билдеры для построения нового диапазона, и его сложность составляет O(1).

n

количество элементов для удаления.

returns

новый диапазон, состоящий из всех элементов этого диапазона, за исключением n первых элементов.

Definition Classes
Range → IterableLike → TraversableLike → GenTraversableLike

final def dropRight(n: Int): Range

Создает новый диапазон, состоящий из начальных length - n элементов диапазона.

Примечание: этот метод не использует билдеры для построения нового диапазона, и его сложность составляет O(1).

n

количество элементов для взятия

returns

диапазон, состоящий из всех элементов этого диапазона, за исключением последних n элементов, или пустой диапазон, если в этом диапазоне меньше n элементов.

Definition Classes
Range → IterableLike

final def dropWhile(p: (Int) ⇒ Boolean): Range

Оставляет самый длинный префикс элементов, которые удовлетворяют предикату.

returns

самый длинный суффикс этого диапазона, первый элемент которого не удовлетворяет предикату p.

Definition Classes
Range → TraversableLike → GenTraversableLike

val end: Int

def endsWith[B](that: GenSeq[B]): Boolean

Проверяет, заканчивается ли эта последовательность заданной последовательностью.

Примечание: не будет завершаться для бесконечных коллекций.

that

последовательность для проверки

returns

true если эта последовательность имеет that в качестве суффикса, false в противном случае.

Definition Classes
SeqLike → GenSeqLike

def ensuring(cond: (Range) ⇒ Boolean, msg: ⇒ Any): Range

Implicit
Этот член добавлен неявным преобразованием из Range в Ensuring[Range] с помощью метода Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: (Range) ⇒ Boolean): Range

Implicit
Этот член добавлен неявным преобразованием из Range в Ensuring[Range] с помощью метода Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean, msg: ⇒ Any): Range

Implicit
Этот член добавлен неявным преобразованием из Range в Ensuring[Range] с помощью метода Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean): Range

Implicit
Этот член добавлен неявным преобразованием из Range в Ensuring[Range] с помощью метода 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(other: Any): Boolean

Метод equals для произвольных последовательностей. Сравнивает эту последовательность с каким-либо другим объектом.

returns

true если that является последовательностью, имеющей те же элементы, что и эта последовательность в том же порядке, false в противном случае

Definition Classes
Range → GenSeqLike → Equals → AnyRef → Any

def exists(p: (Int) ⇒ Boolean): Boolean

Проверяет, выполняется ли предикат хотя бы для одного элемента этой итерируемой коллекции.

Примечание: может не завершаться для бесконечных коллекций.

p

предикат, используемый для проверки элементов.

returns

false если эта итерируемая коллекция пуста, в противном случае true если заданный предикат p выполняется для некоторых элементов этой итерируемой коллекции, в противном случае false

Definition Classes
IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce

def filter(p: (Int) ⇒ Boolean): IndexedSeq[Int]

Выбирает все элементы этой итерируемой коллекции, которые удовлетворяют предикату.

p

предикат, используемый для проверки элементов.

returns

новая итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, которые удовлетворяют заданному предикату p. Порядок элементов сохраняется.

Definition Classes
TraversableLike → GenTraversableLike

def filterNot(p: (Int) ⇒ Boolean): IndexedSeq[Int]

Выбирает все элементы этой коллекции, которые не удовлетворяют предикату.

p

предикат, используемый для проверки элементов.

returns

новая коллекция, содержащая все элементы этой коллекции, которые не удовлетворяют заданному предикату p. Порядок элементов сохраняется.

Definition Classes
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: (Int) ⇒ Boolean): Option[Int]

Находит первый элемент в итерируемой коллекции, удовлетворяющий предикату, если таковой существует.

Примечание: может не завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

p

предикат, используемый для проверки элементов.

returns

значение Option, содержащее первый элемент в итерируемой коллекции, удовлетворяющий предикату p, или None если такого элемента нет.

Definition Classes
IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce

def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): IndexedSeq[B]

[use case]

Создает новую коллекцию, применяя функцию ко всем элементам этого диапазона и используя элементы полученных коллекций.

Например:

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
TraversableLike → GenTraversableLike → FilterMonadic
Полная подпись

def flatten[B]: IndexedSeq[B]

[use case]

Преобразует этот диапазон коллекций в диапазон, образованный элементами этих коллекций.

Тип результирующей коллекции будет определяться статическим типом диапазона. Например:

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 >: Int](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, Int) ⇒ B): B

Применяет бинарный оператор к начальному значению и всем элементам этого итерируемого объекта или итератора, слева направо.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.

B

тип результата бинарного оператора.

z

начальное значение.

op

бинарный оператор.

returns

результат вставки op между последовательными элементами этого итерируемого объекта или итератора, слева направо, начиная с начального значения z слева:

op(...op(z, x_1), x_2, ..., x_n)

где x1, ..., xn - это элементы этого итерируемого объекта или итератора. Возвращает z, если этот итерируемый объект или итератор пустой.

Definition Classes
TraversableOnce → GenTraversableOnce

def foldRight[B](z: B)(op: (Int, B) ⇒ B): B

Применяет бинарный оператор ко всем элементам этого итерируемого объекта и начальному значению, справа налево.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.

B

тип результата бинарного оператора.

z

начальное значение.

op

бинарный оператор.

returns

результат вставки op между последовательными элементами этого итерируемого объекта, справа налево, начиная с начального значения z справа:

op(x_1, op(x_2, ... op(x_n, z)...))

где x1, ..., xn - это элементы этого итерируемого объекта. Возвращает z, если этот итерируемый объект пустой.

Definition Classes
IterableLike → TraversableOnce → GenTraversableOnce

def forall(p: (Int) ⇒ Boolean): Boolean

Проверяет, выполняется ли предикат для всех элементов этого итерируемого объекта.

Примечание: может не завершиться для коллекций бесконечного размера.

p

предикат, используемый для проверки элементов.

returns

true если этот итерируемый объект пустой или заданный предикат p выполняется для всех элементов этого итерируемого объекта, в противном случае false.

Definition Classes
IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce

final def foreach(f: (A) ⇒ Unit): Unit

[use case]

Применяет функцию f ко всем элементам этого диапазона.

Примечание: этот метод лежит в основе реализации большинства других операций с массивами. Подклассы должны переопределять этот метод, если существует более эффективная реализация.

f

функция, которая применяется для своего побочного эффекта к каждому элементу. Результат функции f игнорируется.

Definition Classes
Range → IterableLike → GenericTraversableTemplate → TraversableLike → GenTraversableLike → TraversableOnce → GenTraversableOnce → FilterMonadic
Полная подпись

def formatted(fmtstr: String): String

Возвращает строку, отформатированную в соответствии с заданной строкой format. Строки форматирования такие же, как и для String.format (@см. java.lang.String.format).

Неявный
Этот член добавляется неявным преобразованием из Range в StringFormat[Range] выполненное методом StringFormat в scala.Predef.
Definition Classes
StringFormat
Annotations
@inline()

def genericBuilder[B]: Builder[B, IndexedSeq[B]]

Общий билдер, который создает экземпляры Traversable для произвольных типов элементов.

Definition Classes
GenericTraversableTemplate

final def getClass(): Class[_]

Возвращает представление класса во время выполнения объекта.

returns

объект класса, соответствующий типу во время выполнения получателя.

Definition Classes
AnyRef → Any
Annotations
@native()

def groupBy[K](f: (Int) ⇒ K): Map[K, IndexedSeq[Int]]

Разделяет эту проходимую коллекцию на карту проходимых коллекций в соответствии с некоторой функцией дискриминации.

Примечание: этот метод не переопределяется представлениями. Это означает, что при применении к представлению он всегда заставит представление и вернёт новую проходимую коллекцию.

K

тип ключей, возвращаемых функцией дискриминации.

f

функция дискриминации.

returns

Карта от ключей к проходимым коллекциям, в которой выполняется следующее инвариантное свойство:

(xs groupBy f)(k) = xs filter (x => f(x) == k)

То есть каждый ключ k связан с проходимой коллекцией тех элементов x для которых f(x) равно k.

Definition Classes
TraversableLike → GenTraversableLike

def grouped(size: Int): Iterator[IndexedSeq[Int]]

Разделяет элементы на итерируемые коллекции фиксированного размера.

size

количество элементов в каждой группе

returns

Итератор, возвращающий итерируемые коллекции размера size, за исключением последней, которая будет меньше размера size если элементы не делятся на размер без остатка.

Definition Classes
IterableLike
См. также

scala.collection.Iterator, метод grouped

def hasDefiniteSize: Boolean

Проверяет, известно ли, что эта проходимая коллекция имеет конечный размер. Все строгие коллекции известны как имеющие конечный размер. Для нестрогой коллекции, такой как Stream, предикат возвращает true если все элементы были вычислены. Возвращает false если поток ещё не вычислен до конца. Непустые итераторы обычно возвращают false даже если они были созданы из коллекции с известным конечным размером.

Примечание: многие методы коллекций не будут работать с бесконечными коллекциями. Типичная ошибка - бесконечный цикл. Эти методы всегда пытаются выполнить обход, не проверяя предварительно, что hasDefiniteSize возвращает true. Однако проверка hasDefiniteSize может гарантировать, что размер определён и бесконечное выполнение не является проблемой.

returns

true если эта коллекция имеет конечный размер, false в противном случае.

Definition Classes
TraversableLike → TraversableOnce → GenTraversableOnce

def hashCode(): Int

Хеш-коды для IndexedSeq производят значение из хеш-кодов всех элементов последовательности.

returns

значение хеш-кода для этого объекта.

Definition Classes
IndexedSeqLike → GenSeqLike → Any

def head: Int

Выбирает первый элемент этого диапазона.

returns

первый элемент этого диапазона.

Definition Classes
Range → IterableLike → GenericTraversableTemplate → TraversableLike → GenTraversableLike
Исключения

NoSuchElementException если диапазон пуст.

def headOption: Option[Int]

Возвращает необязательный первый элемент.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

returns

первый элемент этой проходимой коллекции, если она непустая, None если она пустая.

Definition Classes
TraversableLike → GenTraversableLike

def inclusive: Range

def indexOf(elem: Int, from: Int): Int

[use case]

Находит индекс первого вхождения некоторого значения в этом диапазоне после или на некотором начальном индексе.

elem

значение элемента для поиска.

from

начальный индекс

returns

индекс >= from первого элемента этого диапазона, равного (как определено ==) elem, или -1, если такового нет.

Definition Classes
GenSeqLike
Полная подпись

def indexOf(elem: Int): Int

[use case]

Находит индекс первого вхождения некоторого значения в этом диапазоне.

elem

значение элемента для поиска.

returns

индекс первого элемента этого диапазона, равного (как определено ==) elem, или -1, если такового нет.

Definition Classes
GenSeqLike
Полная подпись

def indexOfSlice[B >: Int](that: GenSeq[B], from: Int): Int

Находит первый индекс после или на стартовом индексе, где эта последовательность содержит заданную последовательность как срез.

Примечание: может не завершиться для коллекций бесконечного размера.

that

последовательность для проверки

from

стартовый индекс

returns

первый индекс >= from такой, что элементы этой последовательности, начиная с этого индекса, соответствуют элементам последовательности that, или -1 если такой подпоследовательности не существует.

Definition Classes
SeqLike

def indexOfSlice[B >: Int](that: GenSeq[B]): Int

Находит первый индекс, где эта последовательность содержит заданную последовательность как срез.

Примечание: может не завершиться для коллекций бесконечного размера.

that

последовательность для проверки

returns

первый индекс такой, что элементы этой последовательности, начиная с этого индекса, соответствуют элементам последовательности that, или -1 если такой подпоследовательности не существует.

Definition Classes
SeqLike

def indexWhere(p: (Int) ⇒ Boolean, from: Int): Int

Находит индекс первого элемента, удовлетворяющего некоторому предикату после или на некотором стартовом индексе.

Примечание: может не завершиться для коллекций бесконечного размера.

p

предикат, используемый для проверки элементов.

from

стартовый индекс

returns

индекс >= from первого элемента этой последовательности, который удовлетворяет предикату p, или -1, если такового нет.

Definition Classes
SeqLike → GenSeqLike

def indexWhere(p: (Int) ⇒ Boolean): Int

Находит индекс первого элемента, удовлетворяющего некоторому предикату.

Примечание: может не завершиться для коллекций бесконечного размера.

p

предикат, используемый для проверки элементов.

returns

индекс первого элемента этой общей последовательности, удовлетворяющего предикату p, или -1, если такового нет.

Definition Classes
GenSeqLike

def indices: Range

Создаёт диапазон всех индексов этой последовательности.

returns

значение Range от 0 до значения, на единицу меньшего, чем длина этой последовательности.

Definition Classes
SeqLike

final def init: Range

Создаёт новый диапазон, содержащий все элементы этого диапазона, кроме последнего.

Примечание: этот метод не использует билдеры для построения нового диапазона, и его сложность составляет O(1).

returns

новый диапазон, состоящий из всех элементов этого диапазона, кроме последнего.

Definition Classes
Range → TraversableLike → GenTraversableLike

def inits: Iterator[IndexedSeq[Int]]

Итерируется по начальным фрагментам этой коллекции. Первое значение будет этой коллекцией, а последнее — пустой коллекцией, а промежуточные значения — результатом последовательных применений init.

returns

итератор по всем начальным фрагментам этой коллекции

Definition Classes
TraversableLike
Пример:

    List(1,2,3).inits = Iterator(List(1,2,3), List(1,2), List(1), Nil)

def intersect(that: collection.Seq[Int]): IndexedSeq[Int]

[use case]

Вычисляет пересечение мультимножества между этим диапазоном и другой последовательностью.

that

последовательность элементов для пересечения.

returns

новый диапазон, который содержит все элементы этого диапазона, также присутствующие в that. Если значение элемента x появляется n раз в that, то первые n вхождений x будут сохранены в результате, но любые последующие вхождения будут опушены.

Definition Classes
SeqLike → GenSeqLike
Полная подпись

def isDefinedAt(idx: Int): Boolean

Проверяет, содержит ли эта общая последовательность заданный индекс.

Реализации методов apply и isDefinedAt преобразуют Seq[A] в PartialFunction[Int, A].

idx

индекс для проверки

returns

true если в этой общей последовательности есть элемент в позиции idx, false в противном случае.

Definition Classes
GenSeqLike

final val isEmpty: Boolean

Проверяет, пуст ли этот диапазон.

returns

true если диапазон не содержит элементов, false в противном случае.

Definition Classes
Range → SeqLike → IterableLike → GenericTraversableTemplate → TraversableLike → TraversableOnce → GenTraversableOnce

def isInclusive: Boolean

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[Int]

Создаёт новый итератор по всем элементам, содержащимся в этом итерируемом объекте.

returns

новый итератор

Definition Classes
IndexedSeqLike → IterableLike → GenIterableLike

def last: Int

Последний элемент этого диапазона. Этот метод возвращает корректное значение даже если элементов слишком много для итерации.

returns

Последний элемент этого диапазона.

Definition Classes
Range → TraversableLike → GenTraversableLike

def lastIndexOf(elem: Int, end: Int): Int

[use case]

Находит индекс последнего вхождения значения в этом диапазоне до или на заданном индексе.

elem

значение элемента для поиска.

end

конечный индекс.

returns

индекс <= end последнего элемента этого диапазона, равного (как определяется ==) elem, или -1, если такого элемента нет.

Definition Classes
GenSeqLike
Полная сигнатура

def lastIndexOf(elem: Int): Int

[use case]

Находит индекс последнего вхождения значения в этом диапазоне.

elem

значение элемента для поиска.

returns

индекс последнего элемента этого диапазона, равного (как определяется ==) elem, или -1, если такого элемента нет.

Definition Classes
GenSeqLike
Полная сигнатура

def lastIndexOfSlice[B >: Int](that: GenSeq[B], end: Int): Int

Находит последний индекс до или на заданном индексе, где эта последовательность содержит заданную последовательность в качестве среза.

that

последовательность для проверки

end

конечный индекс

returns

последний индекс <= end такой, что элементы этой последовательности, начиная с этого индекса, совпадают с элементами последовательности that, или -1 если такой подпоследовательности не существует.

Definition Classes
SeqLike

def lastIndexOfSlice[B >: Int](that: GenSeq[B]): Int

Находит последний индекс, где эта последовательность содержит заданную последовательность в качестве среза.

Примечание: не будет завершаться для коллекций бесконечного размера.

that

последовательность для проверки

returns

последний индекс такой, что элементы этой последовательности, начиная с этого индекса, совпадают с элементами последовательности that, или -1 если такой подпоследовательности не существует.

Definition Classes
SeqLike

def lastIndexWhere(p: (Int) ⇒ Boolean, end: Int): Int

Находит индекс последнего элемента, удовлетворяющего заданному предикату до или на заданном индексе.

p

предикат для проверки элементов.

returns

индекс <= end последнего элемента этой последовательности, удовлетворяющего предикату p, или -1, если такого элемента нет.

Definition Classes
SeqLike → GenSeqLike

def lastIndexWhere(p: (Int) ⇒ Boolean): Int

Находит индекс последнего элемента, удовлетворяющего некоторому предикату.

Примечание: не будет завершаться для коллекций бесконечного размера.

p

предикат, используемый для проверки элементов.

возвращает

индекс последнего элемента этой общей последовательности, удовлетворяющего предикату p, или -1, если такового нет.

Классы-определения
GenSeqLike

def lastOption: Option[Int]

Выбирает последний элемент, если он есть.

Примечание: может возвращать разные результаты для разных запусков, если тип коллекции в основе не упорядочен.

возвращает

последний элемент этой итерируемой коллекции$, если она не пустая, None если она пустая.

Классы-определения
TraversableLike → GenTraversableLike

def length: Int

Длина диапазона.

Примечание: xs.length и xs.size дают одинаковый результат.

возвращает

количество элементов в этом диапазоне.

Классы-определения
Range → SeqLike → GenSeqLike
Исключения

IllegalArgumentException, если длина последовательности не может быть представлена в Int, например, (-1 to Int.MaxValue).length.

def lengthCompare(len: Int): Int

Сравнивает длину этой последовательности со значением проверки.

len

значение проверки, которое сравнивается с длиной.

возвращает

значение x, где

x <  0       if this.length <  len
x == 0       if this.length == len
x >  0       if this.length >  len

Метод, как реализован здесь, не вызывает length напрямую; его время выполнения равно O(length min len) вместо O(length). Метод следует переопределять, если вычисление length является быстрым.

Классы-определения
SeqLike

def lift: (Int) ⇒ Option[Int]

Преобразует эту частичную функцию в обычную функцию, возвращающую результат Option.

возвращает

функция, которая принимает аргумент x в Some(this(x)), если this определена для x, и в None в противном случае.

Классы-определения
PartialFunction
См. также

Function.unlift

def map[B](f: (A) ⇒ B): IndexedSeq[B]

[пример использования]

Создает новую коллекцию, применяя функцию ко всем элементам этого диапазона.

B

тип элементов возвращаемой коллекции.

f

функция, которую нужно применить к каждому элементу.

возвращает

новый диапазон, полученный из применения заданной функции f к каждому элементу этого диапазона и сбора результатов.

Классы-определения
TraversableLike → GenTraversableLike → FilterMonadic
Полная сигнатура

def max: A

[пример использования]

Находит наибольший элемент.

возвращает

наибольший элемент этого диапазона.

Классы-определения
Range → TraversableOnce → GenTraversableOnce
Полная сигнатура
Исключения

UnsupportedOperationException, если этот диапазон пуст.

def maxBy[B](f: (A) ⇒ B): A

[пример использования]

Находит первый элемент, который дает наибольшее значение, измеренное функцией f.

B

Тип результата функции f.

f

Функция измерения.

возвращает

первый элемент этого диапазона с наибольшим значением, измеренным функцией f.

Классы-определения
TraversableOnce → GenTraversableOnce
Полная сигнатура
Исключения

UnsupportedOperationException, если этот диапазон пуст.

def min: A

[пример использования]

Находит наименьший элемент.

возвращает

наименьший элемент этого диапазона

Классы-определения
Range → TraversableOnce → GenTraversableOnce
Полная сигнатура
Исключения

UnsupportedOperationException, если этот диапазон пуст.

def minBy[B](f: (A) ⇒ B): A

[сценарий использования]

Находит первый элемент, который возвращает наименьшее значение, измеренное функцией f.

B

Тип результата функции f.

f

Функция измерения.

returns

первый элемент этого диапазона с наименьшим значением, измеренным функцией f.

Классы определений
TraversableOnce → GenTraversableOnce
Полная подпись
Исключения

UnsupportedOperationException если этот диапазон пуст.

def mkString: String

Отображает все элементы этого итерируемого объекта или итератора в строке.

returns

строковое представление этого итерируемого объекта или итератора. В результирующей строке строковые представления (с точки зрения метода toString) всех элементов этого итерируемого объекта или итератора следуют друг за другом без разделительной строки.

Классы определений
TraversableOnce → GenTraversableOnce

def mkString(sep: String): String

Отображает все элементы этого итерируемого объекта или итератора в строке с использованием разделительной строки.

sep

разделительная строка.

returns

строковое представление этого итерируемого объекта или итератора. В результирующей строке строковые представления (с точки зрения метода toString) всех элементов этого итерируемого объекта или итератора разделяются строкой sep.

Классы определений
TraversableOnce → GenTraversableOnce
Пример:

    List(1, 2, 3).mkString("|") = "1|2|3"

def mkString(start: String, sep: String, end: String): String

Отображает все элементы этого итерируемого объекта или итератора в строке с использованием начальной, конечной и разделительных строк.

start

начальная строка.

sep

разделительная строка.

end

конечная строка.

returns

строковое представление этого итерируемого объекта или итератора. Результирующая строка начинается со строки start и заканчивается строкой end. Внутри строковые представления (с точки зрения метода toString) всех элементов этого итерируемого объекта или итератора разделяются строкой sep.

Классы определений
TraversableOnce → GenTraversableOnce
Пример:

    List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

returns

true если аргумент не является ссылкой на объект-получатель; false в противном случае.

Классы определений
AnyRef

def newBuilder: Builder[Int, IndexedSeq[Int]]

Построитель, который создает экземпляры типа Traversable[A]

Атрибуты
protected[this]
Классы определений
GenericTraversableTemplate → HasNewBuilder

def nonEmpty: Boolean

Проверяет, не пуст ли итерируемый объект или итератор.

returns

true если итерируемый объект или итератор содержит по крайней мере один элемент, false в противном случае.

Классы определений
TraversableOnce → GenTraversableOnce

final def notify(): Unit

Разбуживает один поток, ожидающий монитора объекта-получателя.

Классы определений
AnyRef
Аннотации
@native()
Примечание

не указано SLS как член AnyRef

final def notifyAll(): Unit

Разбуживает все потоки, ожидающие монитора объекта-получателя.

Классы определений
AnyRef
Аннотации
@native()
Примечание

не указано SLS как член AnyRef

def orElse[A1 <: Int, B1 >: Int](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]

Компонует эту частичную функцию с резервной частичной функцией, которая применяется в тех случаях, когда эта частичная функция не определена.

A1

тип аргумента резервной функции

B1

тип результата резервной функции

that

резервная функция

returns

частичная функция, областью определения которой является объединение областей определения этой частичной функции и that. Результирующая частичная функция принимает x в this(x), где this определена, и that(x) в противном случае.

Классы определений
PartialFunction

def padTo(len: Int, elem: A): IndexedSeq[A]

[use case]

Копия этого диапазона с добавленным значением элемента до тех пор, пока не будет достигнута заданная длина.

len

целевая длина

elem

значение заполнения

returns

новый диапазон, состоящий из всех элементов этого диапазона, за которым следует минимальное количество вхождений elem, так что результирующий диапазон имеет длину не менее len.

Definition Classes
SeqLike → GenSeqLike
Полная сигнатура

def par: ParRange

Возвращает параллельную реализацию этого набора.

Для большинства типов коллекций этот метод создает новую параллельную коллекцию, копируя все элементы. Для этих коллекций par занимает линейное время. Изменяемые коллекции в этой категории не производят изменяемую параллельную коллекцию, которая имеет тот же базовый набор данных, поэтому изменения в одной коллекции не будут отражены в другой.

Конкретные коллекции (например, ParArray или mutable.ParHashMap) переопределяют это поведение по умолчанию, создавая параллельную коллекцию, которая использует те же базовые данные. Для этих коллекций par занимает постоянное или сублинейное время.

Все параллельные коллекции возвращают ссылку на себя.

returns

параллельная реализация этого набора

Definition Classes
Range → CustomParallelizable → Parallelizable

def parCombiner: Combiner[Int, ParRange]

Реализация par по умолчанию использует объединитель, предоставленный этим методом, для создания новой параллельной коллекции.

returns

объединитель для параллельной коллекции типа ParRepr

Attributes
protected[this]
Definition Classes
CustomParallelizable → Parallelizable

def partition(p: (Int) ⇒ Boolean): (IndexedSeq[Int], IndexedSeq[Int])

Разделяет эту коллекцию по прохождению в две коллекции в соответствии с предикатом.

p

предикат для разделения.

returns

пара коллекций: первая коллекция состоит из всех элементов, которые удовлетворяют предикату p, а вторая коллекция состоит из всех элементов, которые этого не делают. Относительный порядок элементов в результирующих коллекциях такой же, как в исходной коллекции.

Definition Classes
TraversableLike → GenTraversableLike

def patch(from: Int, that: GenSeq[A], replaced: Int): IndexedSeq[A]

[use case]

Создает новый диапазон, где фрагмент элементов в этом диапазоне заменяется другой последовательностью.

from

индекс первого заменённого элемента

replaced

количество элементов для удаления в исходном диапазоне

returns

новый диапазон, состоящий из всех элементов этого диапазона, за исключением того, что replaced элементы, начиная с from, заменяются patch.

Definition Classes
SeqLike → GenSeqLike
Полная сигнатура

def permutations: Iterator[IndexedSeq[Int]]

Проходит по различным перестановкам.

returns

Итератор, который проходит по различным перестановкам этой последовательности.

Definition Classes
SeqLike
Пример:

    "abb".permutations = Iterator(abb, bab, bba)

def prefixLength(p: (Int) ⇒ Boolean): Int

Возвращает длину самого длинного префикса, элементы которого удовлетворяют некоторому предикату.

Примечание: может не завершиться для коллекций бесконечного размера.

p

предикат, используемый для проверки элементов.

returns

длина самого длинного префикса этой общей последовательности, при котором каждый элемент отрезка удовлетворяет предикату p.

Definition Classes
GenSeqLike

def product: A

[use case]

Умножает элементы этой коллекции.

returns

произведение всех элементов в этом диапазоне чисел типа Int. Вместо Int, может быть использован любой другой тип T с неявной реализацией Numeric[T] в качестве типа элемента диапазона и типа результата product. Примерами таких типов являются: Long, Float, Double, BigInt.

Definition Classes
TraversableOnce → GenTraversableOnce
Полная сигнатура

def reduce[A1 >: Int](op: (A1, A1) ⇒ A1): A1

Уменьшает элементы этого итерируемого объекта или итератора с помощью указанного ассоциативного бинарного оператора.

Порядок выполнения операций над элементами не определен и может быть недетерминированным.

A1

Тип параметр для бинарного оператора, надтип A.

op

Бинарный оператор, который должен быть ассоциативным.

returns

Результат применения оператора reduce op между всеми элементами, если итерируемый объект или итератор не пустой.

Definition Classes
TraversableOnce → GenTraversableOnce
Exceptions thrown

UnsupportedOperationException если этот итерируемый объект или итератор пустой.

def reduceLeft[B >: Int](op: (B, Int) ⇒ B): B

Применяет бинарный оператор ко всем элементам этого итерируемого объекта или итератора слева направо.

Примечание: не будет завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.

B

тип результата бинарного оператора.

op

бинарный оператор.

returns

результат вставки op между последовательными элементами этого итерируемого объекта или итератора слева направо:

op( op( ... op(x_1, x_2) ..., x_{n-1}), x_n)

где x1, ..., xn - элементы этого итерируемого объекта или итератора.

Definition Classes
TraversableOnce
Exceptions thrown

UnsupportedOperationException если этот итерируемый объект или итератор пустой.

def reduceLeftOption[B >: Int](op: (B, Int) ⇒ B): Option[B]

Необязательно применяет бинарный оператор ко всем элементам этого итерируемого объекта или итератора слева направо.

Примечание: не будет завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.

B

тип результата бинарного оператора.

op

бинарный оператор.

returns

значение опции, содержащее результат reduceLeft(op), если этот итерируемый объект или итератор не пустой, None в противном случае.

Definition Classes
TraversableOnce → GenTraversableOnce

def reduceOption[A1 >: Int](op: (A1, A1) ⇒ A1): Option[A1]

Сводит элементы этого итерируемого объекта или итератора, если есть, используя указанный ассоциативный бинарный оператор.

Порядок выполнения операций над элементами не определен и может быть недетерминированным.

A1

Тип параметр для бинарного оператора, надтип A.

op

Бинарный оператор, который должен быть ассоциативным.

returns

Значение опции, содержащее результат применения оператора reduce op между всеми элементами, если коллекция непустая, и None в противном случае.

Definition Classes
TraversableOnce → GenTraversableOnce

def reduceRight[B >: Int](op: (Int, B) ⇒ B): B

Применяет бинарный оператор ко всем элементам этой итерируемой коллекции, справа налево.

Примечание: не будет завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.

B

тип результата бинарного оператора.

op

бинарный оператор.

returns

результат вставки op между последовательными элементами этой итерируемой коллекции справа налево:

op(x_1, op(x_2, ..., op(x_{n-1}, x_n)...))

где x1, ..., xn - элементы этой итерируемой коллекции.

Definition Classes
IterableLike → TraversableOnce → GenTraversableOnce
Exceptions thrown

UnsupportedOperationException если эта итерируемая коллекция пуста.

def reduceRightOption[B >: Int](op: (Int, B) ⇒ B): Option[B]

Необязательно применяет бинарный оператор ко всем элементам этого итерируемого объекта или итератора справа налево.

Примечание: не будет завершаться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.

B

тип результата бинарного оператора.

op

бинарный оператор.

returns

значение опции, содержащее результат reduceRight(op), если этот итерируемый объект или итератор не пустой, None в противном случае.

Definition Classes
TraversableOnce → GenTraversableOnce

def repr: IndexedSeq[Int]

Коллекция типа итерируемой коллекции, лежащей в основе этого объекта TraversableLike. По умолчанию она реализована как сам объект TraversableLike, но это можно переопределить.

Определяющие классы
TraversableLike → GenTraversableLike

final def reverse: Range

Возвращает обратный порядок элементов этого диапазона.

Примечание: этот метод не использует билдеры для построения нового диапазона, и его сложность составляет O(1).

возвращает

Новый диапазон со всеми элементами этого диапазона в обратном порядке.

Определяющие классы
Range → SeqLike → GenSeqLike

def reverseIterator: Iterator[Int]

Итератор, возвращающий элементы в обратном порядке.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: xs.reverseIterator эквивалентно xs.reverse.iterator, но может быть более эффективным.

возвращает

итератор, возвращающий элементы этой последовательности в обратном порядке

Определяющие классы
SeqLike

def reverseMap[B](f: (A) ⇒ B): IndexedSeq[B]

[use case]

Строит новую коллекцию, применяя функцию ко всем элементам этого диапазона и собирая результаты в обратном порядке.

Примечание: xs.reverseMap(f) эквивалентно xs.reverse.map(f), но может быть более эффективным.

B

тип элементов возвращаемой коллекции.

f

функция, применяемая к каждому элементу.

возвращает

новый диапазон, полученный путем применения заданной функции f к каждому элементу этого диапазона и сбора результатов в обратном порядке.

Определяющие классы
SeqLike → GenSeqLike
Полная сигнатура

def reversed: scala.List[Int]

Атрибуты
protected[this]
Определяющие классы
TraversableOnce

def runWith[U](action: (Int) ⇒ U): (Int) ⇒ Boolean

Компонует эту частичную функцию с функцией действия, которая применяется к результатам этой частичной функции. Функция действия вызывается только для побочных эффектов; ее результат игнорируется.

Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно

if(pf isDefinedAt x) { action(pf(x)); true } else false

за исключением того, что runWith реализовано через applyOrElse и, следовательно, потенциально более эффективно. Использование runWith позволяет избежать двойного вычисления совпадений шаблонов и условий для литералов частичных функций.

action

функция действия

возвращает

функция, отображающая аргументы x в isDefinedAt(x). Результирующая функция выполняет action(this(x)) там, где this определено.

Определяющие классы
PartialFunction
С

2.10

См. также

applyOrElse.

def sameElements(that: GenIterable[A]): Boolean

[use case]

Проверяет, содержит ли другая итерируемая коллекция те же элементы в том же порядке, что и этот диапазон.

that

коллекция для сравнения.

возвращает

true, если обе коллекции содержат одинаковые элементы в том же порядке, false в противном случае.

Определяющие классы
IterableLike → GenIterableLike
Полная сигнатура

def scan[B >: Int, That](z: B)(op: (B, B) ⇒ B)(implicit cbf: CanBuildFrom[IndexedSeq[Int], B, That]): That

Вычисляет префиксную сканирование элементов коллекции.

Примечание: Нейтральный элемент z может применяться более одного раза.

B

тип элементов результирующей коллекции

That

тип результирующей коллекции

z

нейтральный элемент для оператора op

op

ассоциативный оператор для сканирования

cbf

фабрика комбинирователей, предоставляющая комбинирователь

возвращает

новая итерируемая коллекция, содержащая префиксное сканирование элементов в этой итерируемой коллекции

Определяющие классы
TraversableLike → GenTraversableLike

def scanLeft[B, That](z: B)(op: (B, Int) ⇒ B)(implicit bf: CanBuildFrom[IndexedSeq[Int], B, That]): That

Создаёт коллекцию, содержащую кумулятивные результаты применения оператора слева направо.

Примечание: не завершается для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

B

тип элементов в результирующей коллекции

That

фактический тип результирующей коллекции

z

начальное значение

op

бинарный оператор, применяемый к промежуточному результату и элементу

bf

неявное значение класса CanBuildFrom, определяющее класс результата That по текущему типу представления Repr и новому типу элемента B.

returns

коллекция с промежуточными результатами

Definition Classes
TraversableLike → GenTraversableLike

def scanRight[B, That](z: B)(op: (Int, B) ⇒ B)(implicit bf: CanBuildFrom[IndexedSeq[Int], 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
TraversableLike → GenTraversableLike
Annotations
@migration
Migration

(Изменено в версии 2.9.0) Поведение scanRight изменилось. Предыдущее поведение можно воспроизвести с помощью scanRight.reverse.

def segmentLength(p: (Int) ⇒ Boolean, from: Int): Int

Вычисляет длину самой длинной последовательности элементов, удовлетворяющих некоторому предикату.

Примечание: может не завершиться для коллекций бесконечного размера.

p

предикат, используемый для проверки элементов.

from

индекс, с которого начинается поиск.

returns

длину самой длинной последовательности из этой последовательности, начиная с индекса from, где каждый элемент последовательности удовлетворяет предикату p.

Definition Classes
SeqLike → GenSeqLike

def seq: IndexedSeq[Int]

Версия этой коллекции со всеми операциями, реализованными последовательно (т.е. в однопоточном режиме).

Этот метод возвращает ссылку на эту коллекцию. В параллельных коллекциях он переопределён для возвращения последовательной реализации этой коллекции. В обоих случаях сложность равна O(1).

returns

последовательный вид коллекции.

Definition Classes
IndexedSeq → IndexedSeq → IndexedSeqLike → Seq → Seq → GenSeq → GenSeqLike → Iterable → Iterable → GenIterable → Traversable → Traversable → GenTraversable → Parallelizable → TraversableOnce → GenTraversableOnce

def size: Int

Размер этого диапазона, эквивалентный length.

returns

количество элементов в этом диапазоне.

Definition Classes
Range → SeqLike → GenTraversableLike → TraversableOnce → GenTraversableOnce

def sizeHintIfCheap: Int

Размер этой последовательности, если его можно вычислить дёшево.

returns

количество элементов в этой последовательности, или -1, если размер нельзя определить дёшево.

Attributes
protected[collection]
Definition Classes
IndexedSeqLike → GenTraversableOnce

def slice(from: Int, until: Int): Range

Создаёт новый диапазон, содержащий элементы, начиная с from и до, но не включая until.

Примечание: этот метод не использует билдеры для построения нового диапазона, и его сложность составляет O(1).

from

элемент, с которого нужно начать

until

элемент, на котором нужно закончить (не включительно в диапазон)

returns

новый диапазон, состоящий из непрерывного интервала значений в старом диапазоне

Definition Classes
Range → IterableLike → TraversableLike → GenTraversableLike

def sliding(size: Int, step: Int): Iterator[IndexedSeq[Int]]

Группирует элементы в блоки фиксированного размера, передавая «скользящее окно» по ним (в отличие от разбиения их, как это делается в grouped).

size

количество элементов в каждой группе

step

расстояние между первыми элементами последовательных групп

returns

Итератор, производящий итерируемые коллекции размера size, за исключением последнего элемента (который может быть единственным элементом), который будет усечён, если оставшихся элементов для группировки меньше, чем size.

Definition Classes
IterableLike
См. также

scala.collection.Iterator, метод sliding

def sliding(size: Int): Iterator[IndexedSeq[Int]]

Группирует элементы в блоки фиксированного размера, передавая «скользящее окно» по ним (в отличие от разбиения их, как это делается в grouped). Шаг «скользящего окна» устанавливается в единицу.

size

количество элементов в каждой группе

returns

Итератор, производящий итерируемые коллекции размера size, за исключением последнего элемента (который может быть единственным элементом), который будет усечён, если оставшихся элементов для группировки меньше, чем size.

Definition Classes
IterableLike
См. также

scala.collection.Iterator, метод sliding

def sortBy[B](f: (Int) ⇒ B)(implicit ord: math.Ordering[B]): IndexedSeq[Int]

Сортирует эту Seq в соответствии с упорядочиванием, полученным из преобразования неявного упорядочивания с помощью функции преобразования.

B

целевой тип преобразования f, и тип, где определено упорядочивание ord.

f

функция преобразования, отображающая элементы в некоторую другую область B.

ord

установленное упорядочение в области B.

returns

последовательность, состоящая из элементов этой последовательности, отсортированных в соответствии с упорядочиванием, где x < y , если ord.lt(f(x), f(y)).

Definition Classes
SeqLike
Пример:
    val words = "The quick brown fox jumped over the lazy dog".split(' ')
    // this works because scala.Ordering will implicitly provide an Ordering[Tuple2[Int, Char]]
    words.sortBy(x => (x.length, x.head))
    res0: Array[String] = Array(The, dog, fox, the, lazy, over, brown, quick, jumped)
См. также

scala.math.Ordering Примечание: не завершит работу для бесконечных коллекций.

def sortWith(lt: (Int, Int) ⇒ Boolean): IndexedSeq[Int]

Сортирует эту последовательность в соответствии с функцией сравнения.

Примечание: не завершит работу для бесконечных коллекций.

Сортировка стабильна. То есть, элементы, которые равны (как определено lt), появляются в отсортированной последовательности в том же порядке, что и в оригинале.

lt

функция сравнения, которая проверяет, предшествует ли её первый аргумент второму аргументу в желаемом порядке.

returns

последовательность, состоящая из элементов этой последовательности, отсортированных в соответствии с функцией сравнения lt.

Definition Classes
SeqLike
Пример:
    List("Steve", "Tom", "John", "Bob").sortWith(_.compareTo(_) < 0) =
    List("Bob", "John", "Steve", "Tom")

def sorted[B >: Int](implicit ord: math.Ordering[B]): IndexedSeq[Int]

Сортирует эту последовательность в соответствии с упорядочиванием.

Сортировка стабильна. То есть, элементы, которые равны (как определено lt), появляются в отсортированной последовательности в том же порядке, что и в оригинале.

ord

упорядочение, используемое для сравнения элементов.

returns

последовательность, состоящая из элементов этой последовательности, отсортированных в соответствии с упорядочением ord.

Definition Classes
SeqLike
См. также

scala.math.Ordering

final def span(p: (Int) ⇒ Boolean): (Range, Range)

Разбивает этот диапазон на пару префикс/суффикс в соответствии с предикатом.

Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не приводит к побочным эффектам.

returns

пара, состоящая из самого длинного префикса этого диапазона, элементы которого удовлетворяют p, и остальной части этого диапазона.

Definition Classes
Range → TraversableLike → GenTraversableLike

final def splitAt(n: Int): (Range, Range)

Создаёт пару новых диапазонов, первый из элементов перед n, а второй — из элементов после n.

Примечание: этот метод не использует билдеры для построения нового диапазона, и его сложность составляет O(1).

n

позиция, по которой нужно разделить.

returns

пара диапазонов, состоящая из первых n элементов этого диапазона и остальных элементов.

Definition Classes
Range → TraversableLike → GenTraversableLike

val start: Int

def startsWith[B](that: GenSeq[B], offset: Int): Boolean

Проверяет, содержит ли эта последовательность заданную последовательность в заданном индексе.

Примечание: Если оба объекта-получателя this и аргумент that являются бесконечными последовательностями, этот метод может не завершиться.

that

последовательность для проверки

offset

индекс, где ищется последовательность.

returns

true если последовательность that содержится в этой последовательности по индексу offset, в противном случае false.

Definition Classes
SeqLike → GenSeqLike

def startsWith[B](that: GenSeq[B]): Boolean

Проверяет, начинается ли эта общая последовательность с заданной последовательности.

that

последовательность для проверки

returns

true если у этого набора есть that в качестве префикса, false в противном случае.

Definition Classes
GenSeqLike

val step: Int

def stringPrefix: String

Определяет префикс представления этого объекта.

returns

строковое представление, которое начинается с результата применения toString к этому итерируемому набору. По умолчанию префикс строки — это простое имя класса коллекции — итерируемого набора.

Definition Classes
TraversableLike → GenTraversableLike

final def sum: A

[use case]

Суммирует элементы этой коллекции.

returns

сумма всех элементов в этом диапазоне чисел типа Int. Вместо Int, может быть использован любой другой тип T с неявной реализацией Numeric[T] как типа элементов диапазона и как типа результата sum. Примерами таких типов являются: Long, Float, Double, BigInt.

Definition Classes
Range → TraversableOnce → GenTraversableOnce
Полная сигнатура

final def synchronized[T0](arg0: ⇒ T0): T0

Definition Classes
AnyRef

final def tail: Range

Создаёт новый диапазон, содержащий все элементы этого диапазона, кроме первого.

Примечание: этот метод не использует билдеры для построения нового диапазона, и его сложность составляет O(1).

returns

новый диапазон, состоящий из всех элементов этого диапазона, кроме первого.

Definition Classes
Range → TraversableLike → GenTraversableLike

def tails: Iterator[IndexedSeq[Int]]

Итерируется по хвостам этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения — результатами последовательных применений tail.

returns

итератор по всем хвостам этой итерируемой коллекции

Definition Classes
TraversableLike
Пример:

    List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)

final def take(n: Int): Range

Создаёт новый диапазон, содержащий первые n элементов этого диапазона.

Примечание: этот метод не использует билдеры для построения нового диапазона, и его сложность составляет O(1).

n

количество элементов для взятия.

returns

новый диапазон, состоящий из n первых элементов.

Definition Classes
Range → IterableLike → TraversableLike → GenTraversableLike

final def takeRight(n: Int): Range

Создаёт новый диапазон, состоящий из последних n элементов диапазона.

Примечание: этот метод не использует билдеры для создания нового диапазона, и его сложность составляет O(1).

n

количество элементов для взятия

возвращает

диапазон, состоящий только из последних n элементов этого диапазона, или же весь диапазон, если в нём меньше n элементов.

Классы определения
Range → IterableLike

final def takeWhile(p: (Int) ⇒ Boolean): Range

Возвращает самый длинный префикс элементов, удовлетворяющих предикату.

возвращает

самый длинный префикс этого диапазона, элементы которого удовлетворяют предикату p.

Классы определения
Range → IterableLike → TraversableLike → GenTraversableLike

def thisCollection: collection.IndexedSeq[Int]

Базовое хранилище, рассматриваемое как экземпляр IndexedSeq. По умолчанию это текущий объект коллекции, но это можно переопределить.

Атрибуты
protected[this]
Классы определения
IndexedSeqLike → SeqLike → IterableLike → TraversableLike

def to[Col[_]]: Col[A]

[пример использования]

Преобразует этот диапазон в другой, копируя все элементы.

Col

Тип коллекции для построения.

возвращает

новую коллекцию, содержащую все элементы этого диапазона.

Классы определения
TraversableLike → TraversableOnce → GenTraversableOnce
Полная подпись

def toArray: Array[A]

[пример использования]

Преобразует этот диапазон в массив.

возвращает

массив, содержащий все элементы этого диапазона. Для типа элементов этого диапазона должен быть доступен ClassTag.

Классы определения
TraversableOnce → GenTraversableOnce
Полная подпись

def toBuffer[A1 >: Int]: Buffer[A1]

Использует содержимое этой последовательности для создания нового изменяемого буфера.

возвращает

буфер, содержащий все элементы этой последовательности.

Классы определения
IndexedSeqLike → TraversableOnce → GenTraversableOnce

def toCollection(repr: IndexedSeq[Int]): collection.IndexedSeq[Int]

Преобразование из коллекций типа Repr в объекты IndexedSeq. По умолчанию реализуется как просто приведение типа, но это можно переопределить.

Атрибуты
protected[this]
Классы определения
IndexedSeqLike → SeqLike → IterableLike → TraversableLike

def toIndexedSeq: IndexedSeq[Int]

Возвращает эту неизменяемую последовательность как индексированную последовательность.

Новая индексированная последовательность не будет построена; ленивые коллекции останутся ленивыми.

возвращает

индексированная последовательность, содержащая все элементы этой неизменяемой последовательности.

Классы определения
IndexedSeq → TraversableOnce → GenTraversableOnce
Аннотации
@deprecatedOverriding( message = ... , since = "2.11.0" )

def toIterable: Range

Возвращает этот диапазон как итерируемую коллекцию.

Новая коллекция не будет построена; ленивые коллекции останутся ленивыми.

возвращает

итерируемая коллекция, содержащая все элементы этого диапазона.

Классы определения
Range → IterableLike → TraversableOnce → GenTraversableOnce

def toIterator: Iterator[Int]

Возвращает итератор по элементам в этом итерируемом наборе. Возвращает тот же результат, что и iterator.

Примечание: не будет завершаться для коллекций бесконечного размера.

возвращает

итератор, содержащий все элементы этого итерируемого набора.

Классы-определения
IterableLike → TraversableLike → GenTraversableOnce
Аннотации
@deprecatedOverriding( сообщение = ... , с = "2.11.0" )

def toList: scala.List[Int]

Преобразует это итерируемое или итератор в список.

Примечание: не будет завершаться для коллекций бесконечного размера.

возвращает

список, содержащий все элементы этого итерируемого или итератора.

Классы-определения
TraversableOnce → GenTraversableOnce

def toMap[T, U]: collection.Map[T, U]

[пример использования]

Преобразует этот диапазон в словарь. Этот метод недоступен, если элементы не являются членами Tuple2, каждый ((T, U)) становится парой ключ-значение в словаре. Повторяющиеся ключи будут перезаписаны последующими ключами: если это неупорядоченная коллекция, какой ключ находится в результирующем словаре, не определено.

возвращает

словарь типа immutable.Map[T, U], содержащий все пары ключ/значение типа (T, U) этого диапазона.

Классы-определения
TraversableOnce → GenTraversableOnce
Полная сигнатура

def toParArray: ParArray[T]

Неявный
Этот член добавляется неявным преобразованием из Range в CollectionsHaveToParArray[Range, T] выполненным методом CollectionsHaveToParArray в scala.collection.parallel. Это преобразование произойдёт только если в области видимости присутствует неявное значение типа (Range) ⇒ GenTraversableOnce[T].
Классы-определения
CollectionsHaveToParArray

def toSeq: Range

Преобразует этот диапазон в последовательность.

Новая коллекция не будет построена; в частности, ленивые последовательности останутся ленивыми.

возвращает

последовательность, содержащая все элементы этого диапазона.

Классы-определения
Range → Seq → SeqLike → GenSeqLike → TraversableOnce → GenTraversableOnce

def toSet[B >: Int]: Set[B]

Преобразует это итерируемое или итератор в множество.

Примечание: не будет завершаться для коллекций бесконечного размера.

возвращает

множество, содержащее все элементы этого итерируемого или итератора.

Классы-определения
TraversableOnce → GenTraversableOnce

def toStream: Stream[Int]

Преобразует эту итерируемую коллекцию в поток.

возвращает

поток, содержащий все элементы этой итерируемой коллекции.

Классы-определения
IterableLike → TraversableLike → GenTraversableOnce

def toString(): String

Преобразует этот диапазон в строку.

возвращает

строковое представление этой коллекции. По умолчанию эта строка состоит из stringPrefix этого диапазона, за которым следуют все элементы, разделенные запятыми и заключенные в скобки.

Классы-определения
Range → SeqLike → Function1 → TraversableLike → AnyRef → Any

def toTraversable: collection.Traversable[Int]

Преобразует эту итерируемую коллекцию в неопределённый Traversable. Вернёт ту же коллекцию, если этот экземпляр уже является Traversable.

Примечание: не будет завершаться для коллекций бесконечного размера.

возвращает

Traversable, содержащий все элементы этой итерируемой коллекции.

Классы-определения
TraversableLike → TraversableOnce → GenTraversableOnce
Аннотации
@deprecatedOverriding( сообщение = ... , с = "2.11.0" )

def toVector: scala.Vector[Int]

Преобразует этот итерируемый объект или итератор в вектор.

Примечание: не завершит работу для коллекций бесконечного размера.

returns

вектор, содержащий все элементы этого итерируемого объекта или итератора.

Definition Classes
TraversableOnce → GenTraversableOnce

def transpose[B](implicit asTraversable: (Int) ⇒ GenTraversableOnce[B]): IndexedSeq[IndexedSeq[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 union(that: collection.Seq[Int]): IndexedSeq[Int]

[use case]

Создает новую последовательность, содержащую все элементы этого диапазона и все элементы заданной последовательности. xs union ys эквивалентно xs ++ ys.

Другой способ выразить это - xs union ys вычисляет объединение множеств xs и ys, сохраняя порядок элементов. union таким образом является аналогом diff и intersect, которые также работают с множествами.

that

последовательность для добавления.

returns

новый диапазон, содержащий все элементы этого диапазона, за которыми следуют все элементы that.

Definition Classes
SeqLike → GenSeqLike
Полная подпись

def unzip[A1, A2](implicit asPair: (Int) ⇒ (A1, A2)): (IndexedSeq[A1], IndexedSeq[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: (Int) ⇒ (A1, A2, A3)): (IndexedSeq[A1], IndexedSeq[A2], IndexedSeq[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 updated(index: Int, elem: A): IndexedSeq[A]

[use case]

Копия этого диапазона с одним заменённым элементом.

index

позиция замены

elem

элемент замены

returns

копия этого диапазона с элементом в позиции index заменённым на elem.

Definition Classes
SeqLike → GenSeqLike
Полная подпись

def view(from: Int, until: Int): SeqView[Int, IndexedSeq[Int]]

Создаёт нестрогую (нестрогий вид) область (вид) среза этой последовательности.

Примечание: разница между view и slice заключается в том, что view создаёт вид текущей последовательности, а slice создаёт новую последовательность.

Примечание: view(from, to) эквивалентно view.slice(from, to)

from

индекс первого элемента области (вида)

until

индекс элемента, следующего за областью (видом)

returns

нестрогий вид среза этой последовательности, начинающийся с индекса from и заканчивающийся (но не включая) индексом until.

Definition Classes
SeqLike → IterableLike → TraversableLike

def view: SeqView[Int, IndexedSeq[Int]]

Создаёт нестрогий вид этой последовательности.

returns

нестрогий вид этой последовательности.

Definition Classes
SeqLike → 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

Definition Classes
AnyRef
Annotations
@throws( ... ) @native()

def withFilter(p: (Int) ⇒ Boolean): FilterMonadic[Int, IndexedSeq[Int]]

Создаёт нестрогую фильтрацию этого неизменяемого набора.

Примечание: разница между 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]): IndexedSeq[(A, B)]

[use case]

Возвращает диапазон, образованный из этого диапазона и другого итерируемого набора путём комбинирования соответствующих элементов в пары. Если один из двух наборов длиннее другого, его оставшиеся элементы игнорируются.

B

тип второй половины возвращаемых пар

that

Итерируемый набор, предоставляющий вторую половину каждой пары результатов

returns

новый диапазон, содержащий пары, состоящие из соответствующих элементов этого диапазона и that. Длина возвращаемого набора — это минимум из длин этого диапазона и that.

Definition Classes
IterableLike → GenIterableLike
Полная подпись

def zipAll[B](that: collection.Iterable[B], thisElem: A, thatElem: B): IndexedSeq[(A, B)]

[use case]

Возвращает диапазон, образованный из этого диапазона и другого итерируемого набора путём комбинирования соответствующих элементов в пары. Если один из двух наборов короче другого, для заполнения более короткого набора используются плацехолдеры.

B

тип второй половины возвращаемых пар

that

Итерируемый набор, предоставляющий вторую половину каждой пары результатов

thisElem

элемент, используемый для заполнения результата, если этот диапазон короче that.

thatElem

элемент, используемый для заполнения результата, если that короче этого диапазона.

returns

новый диапазон, содержащий пары, состоящие из соответствующих элементов этого диапазона и that. Длина возвращаемого набора — это максимум из длин этого диапазона и that. Если этот диапазон короче that, значения thisElem используются для заполнения результата. Если that короче этого диапазона, значения thatElem используются для заполнения результата.

Definition Classes
IterableLike → GenIterableLike
Полная подпись

def zipWithIndex: IndexedSeq[(A, Int)]

[использование]

Объединяет этот диапазон со своими индексами.

возвращает

Новый диапазон, содержащий пары, состоящие из всех элементов этого диапазона, сопоставленных с их индексом. Индексы начинаются с 0.

Определяющие классы
IterableLike → GenIterableLike
Полная сигнатура
Пример:

    List("a", "b", "c").zipWithIndex = List(("a", 0), ("b", 1), ("c", 2))

def →[B](y: B): (Range, B)

Неявный
Этот член добавлен с помощью неявного преобразования из Range в ArrowAssoc[Range] с помощью метода ArrowAssoc в scala.Predef.
Определяющие классы
ArrowAssoc

Затенённые неявные члены-значения

def filter(p: (Int) ⇒ Boolean): TraversableOnce[Int]

Неявный
Этот член добавлен с помощью неявного преобразования из Range в MonadOps[Int] с помощью метода MonadOps в scala.collection.TraversableOnce.
Затенение
Этот неявный унаследованный член затенён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:
(range: MonadOps[Int]).filter(p)
Определяющие классы
MonadOps

def flatMap[B](f: (Int) ⇒ GenTraversableOnce[B]): TraversableOnce[B]

Неявный
Этот член добавлен с помощью неявного преобразования из Range в MonadOps[Int] с помощью метода MonadOps в scala.collection.TraversableOnce.
Затенение
Этот неявный унаследованный член затенён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:
(range: MonadOps[Int]).flatMap(f)
Определяющие классы
MonadOps

def map[B](f: (Int) ⇒ B): TraversableOnce[B]

Неявный
Этот член добавлен с помощью неявного преобразования из Range в MonadOps[Int] с помощью метода MonadOps в scala.collection.TraversableOnce.
Затенение
Этот неявный унаследованный член затенён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:
(range: MonadOps[Int]).map(f)
Определяющие классы
MonadOps

def withFilter(p: (Int) ⇒ Boolean): Iterator[Int]

Неявный
Этот член добавлен с помощью неявного преобразования из Range в MonadOps[Int] с помощью метода MonadOps в scala.collection.TraversableOnce.
Затенение
Этот неявный унаследованный член затенён одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:
(range: MonadOps[Int]).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/immutable/Range.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API