Класс scala.collection.immutable.Range
Компонент объект Range
sealed класс Range extends AbstractSeq[Int] with IndexedSeq[Int] with CustomParallelizable[Int, ParRange] with Serializable
Конструкторы экземпляров
новый 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]
Копия диапазона с добавленным элементом в начало.
Обратите внимание, что операторы с окончанием двоеточием являются правоассоциативными (см. пример). Мнемоника для +: по сравнению с :+ такова: двоеточие ставится со стороны коллекции.
Кроме того, исходный диапазон не изменяется, поэтому вам нужно будет сохранить результат.
Пример:
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]
Копия этого диапазона с добавленным элементом в конец.
Мнемоника для +: по сравнению с :+ такова: двоеточие ставится со стороны коллекции.
Пример:
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
копия объекта-получателя.
def collect[B](pf: PartialFunction[A, B]): IndexedSeq[B]
Создает новую коллекцию, применяя частичную функцию ко всем элементам этого диапазона, для которых она определена.
- 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
Копирует элементы этого диапазона в массив. Заполняет данный массив xs не более чем len элементами этого диапазона, начиная с позиции start. Копирование прекратится, как только будет достигнут конец текущего диапазона, или конец целевого массива, или len элементов были скопированы.
- xs
массив для заполнения.
- start
индекс начала.
- len
максимальное количество элементов для копирования.
- Definition Classes
- IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce
def copyToArray(xs: Array[A]): Unit
Копирует элементы этого диапазона в массив. Заполняет данный массив xs значениями этого диапазона. Копирование прекратится, как только будет достигнут конец текущего диапазона или конец целевого массива.
- xs
массив для заполнения.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def copyToArray(xs: Array[A], start: Int): Unit
Копирует элементы этого диапазона в массив. Заполняет данный массив xs значениями этого диапазона, начиная с индекса start. Копирование прекратится, как только будет достигнут конец текущего диапазона или конец целевого массива.
- xs
массив для заполнения.
- start
индекс начала.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def copyToBuffer[B >: 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этой последовательности иythat, в противном случае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]
Вычисляет разность мультимножеств между этим диапазоном и другой последовательностью.
- 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]
Создает новую коллекцию, применяя функцию ко всем элементам этого диапазона и используя элементы полученных коллекций.
Например:
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]
Преобразует этот диапазон коллекций в диапазон, образованный элементами этих коллекций.
Тип результирующей коллекции будет определяться статическим типом диапазона. Например:
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
Применяет функцию 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
объект класса, соответствующий типу во время выполнения получателя.
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
Находит индекс первого вхождения некоторого значения в этом диапазоне после или на некотором начальном индексе.
- elem
значение элемента для поиска.
- from
начальный индекс
- returns
индекс
>= fromпервого элемента этого диапазона, равного (как определено==)elem, или-1, если такового нет.
- Definition Classes
- GenSeqLike
def indexOf(elem: Int): Int
Находит индекс первого вхождения некоторого значения в этом диапазоне.
- 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]
Вычисляет пересечение мультимножества между этим диапазоном и другой последовательностью.
- 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
Находит индекс последнего вхождения значения в этом диапазоне до или на заданном индексе.
- elem
значение элемента для поиска.
- end
конечный индекс.
- returns
индекс
<= endпоследнего элемента этого диапазона, равного (как определяется==)elem, или-1, если такого элемента нет.
- Definition Classes
- GenSeqLike
def lastIndexOf(elem: Int): Int
Находит индекс последнего вхождения значения в этом диапазоне.
- 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]
Копия этого диапазона с добавленным значением элемента до тех пор, пока не будет достигнута заданная длина.
- 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]
Создает новый диапазон, где фрагмент элементов в этом диапазоне заменяется другой последовательностью.
- 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
Умножает элементы этой коллекции.
- 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]
Строит новую коллекцию, применяя функцию ко всем элементам этого диапазона и собирая результаты в обратном порядке.
Примечание: 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
Проверяет, содержит ли другая итерируемая коллекция те же элементы в том же порядке, что и этот диапазон.
- 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
- См. также
scala.math.Ordering Примечание: не завершит работу для бесконечных коллекций.
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)
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
- См. также
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
Суммирует элементы этой коллекции.
- 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]
Создает новую последовательность, содержащую все элементы этого диапазона и все элементы заданной последовательности. 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]
Копия этого диапазона с одним заменённым элементом.
- 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
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)]
Возвращает диапазон, образованный из этого диапазона и другого итерируемого набора путём комбинирования соответствующих элементов в пары. Если один из двух наборов длиннее другого, его оставшиеся элементы игнорируются.
- B
тип второй половины возвращаемых пар
- that
Итерируемый набор, предоставляющий вторую половину каждой пары результатов
- returns
новый диапазон, содержащий пары, состоящие из соответствующих элементов этого диапазона и
that. Длина возвращаемого набора — это минимум из длин этого диапазона иthat.
- Definition Classes
- IterableLike → GenIterableLike
def zipAll[B](that: collection.Iterable[B], thisElem: A, thatElem: B): IndexedSeq[(A, B)]
Возвращает диапазон, образованный из этого диапазона и другого итерируемого набора путём комбинирования соответствующих элементов в пары. Если один из двух наборов короче другого, для заполнения более короткого набора используются плацехолдеры.
- 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
Класс
Rangeпредставляет целые значения в диапазоне [start;end) с ненулевым значением шагаstep. Это специальный случай индексированного последовательности. Например:Диапазоны, содержащие более
Int.MaxValueэлементов, могут быть созданы, но эти переполненные диапазоны имеют ограниченные возможности. Любой метод, который может потребовать создания коллекции длиной болееInt.MaxValueэлементов, или который может быть запрошен для индексирования за пределамиInt.MaxValueэлементов, выбросит исключение. Переполненные диапазоны можно безопасно уменьшить в размерах, изменив размер шага (например,by 3) или взяв/убрав элементы.contains,equals, и доступ к концам диапазона (head,last,tail,init) также разрешены для переполненных диапазонов.2.5
"Обзор библиотеки коллекций Scala" раздел по
Rangesдля получения дополнительной информации.