Класс scala.collection.immutable.Range
Компаньон объект Range
sealed abstract класс Range extends AbstractSeq[Int] with IndexedSeq[Int] with IndexedSeqOps[Int, IndexedSeq, IndexedSeq[Int]] with StrictOptimizedSeqOps[Int, IndexedSeq, IndexedSeq[Int]] with IterableFactoryDefaults[Int, IndexedSeq] with Serializable
- java.io.Serializable, StrictOptimizedSeqOps[Int, IndexedSeq, IndexedSeq[Int]], collection.StrictOptimizedSeqOps[Int, IndexedSeq, IndexedSeq[Int]], StrictOptimizedIterableOps[Int, IndexedSeq, IndexedSeq[Int]], IndexedSeq[Int], IndexedSeqOps[Int, IndexedSeq, IndexedSeq[Int]], collection.IndexedSeq[Int], collection.IndexedSeqOps[Int, [_]IndexedSeq[_], IndexedSeq[Int]], AbstractSeq[Int], Seq[Int], SeqOps[Int, [_]IndexedSeq[_], IndexedSeq[Int]], Iterable[Int], collection.AbstractSeq[Int], collection.Seq[Int], Equals, collection.SeqOps[Int, [_]IndexedSeq[_], IndexedSeq[
- Int]], ЧастичнаяФункция[Int, Int], (Int) => Int, АбстрактныйИтерируемый[Int], Итерируемый[Int], ПроизвольныеИтерируемыеЗначения[Int, [x]ИндексированныйПоследовательность[x]], ОперацииНадИтерируемыми[Int, [_]ИндексированныйПоследовательность[_], ИндексированныйПоследовательность[Int]], ОперацииНадОднократнымиИтерируемыми[Int, [_]ИндексированныйПоследовательность[_], ИндексированныйПоследовательность[Int]], ОднократныйИтерируемый[Int], ЛюбойСсылка, Любой
- ИзвестныеПодклассы
- Исключительный, Включительно
Члены-значения (абстрактные)
abstract def isInclusive: Boolean
Члены-значения (конкретные)
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
final def ++[B >: Int](suffix: IterableOnce[B]): IndexedSeq[B]
Псевдоним для concat
- Определяющие классы
- IterableOps
- Аннотации
- @inline()
final def ++:[B >: Int](prefix: IterableOnce[B]): IndexedSeq[B]
Псевдоним для prependedAll
- Классы-определения
- SeqOps → IterableOps
- Аннотации
- @inline()
final def +:[B >: Int](elem: B): IndexedSeq[B]
Псевдоним для prepended.
Обратите внимание, что операторы с окончанием :- являются правоассоциативными (см. пример). Мнемоника для +: по сравнению с :+ такова: двоеточие ставится со стороны коллекции.
def ->[B](y: B): (Range, B)
- Неявный
- Этот член добавлен неявным преобразованием из Range в ArrowAssoc[Range], выполненное методом ArrowAssoc в scala.Predef.
- Классы-определения
- ArrowAssoc
- Аннотации
- @inline()
final def :+[B >: Int](elem: B): IndexedSeq[B]
Псевдоним для appended
Обратите внимание, что операторы с окончанием :- являются правоассоциативными (см. пример). Мнемоника для +: по сравнению с :+ такова: двоеточие ставится со стороны коллекции.
final def :++[B >: Int](suffix: IterableOnce[B]): IndexedSeq[B]
final def ==(arg0: Any): Boolean
Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).
- возвращает
trueесли объект получателя эквивалентен аргументу;falseв противном случае.
- Классы-определения
- AnyRef → Any
final def addString(b: mutable.StringBuilder): mutable.StringBuilder
Добавляет все элементы этого набора в строковый буфер. Записанный текст состоит из строковых представлений (относительно метода toString) всех элементов этого набора без разделительной строки.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> val h = a.addString(b) h: StringBuilder = 1234
- b
строковый буфер, в который добавляются элементы.
- возвращает
строковый буфер
bв который были добавлены элементы.
- Классы-определения
- IterableOnceOps
- Аннотации
- @inline()
final def addString(b: mutable.StringBuilder, sep: String): mutable.StringBuilder
Добавляет все элементы этого набора в строковый буфер с использованием разделительной строки. Записанный текст состоит из строковых представлений (относительно метода toString) всех элементов этого набора, разделенных строкой sep.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> a.addString(b, ", ") res0: StringBuilder = 1, 2, 3, 4
- b
строковый буфер, в который добавляются элементы.
- sep
разделительная строка.
- возвращает
строковый буфер
bв который были добавлены элементы.
- Классы-определения
- IterableOnceOps
- Аннотации
- @inline()
def addString(b: mutable.StringBuilder, start: String, sep: String, end: String): mutable.StringBuilder
Добавляет все элементы этого набора в строковый буфер с использованием начальной, конечной и разделительной строк. Текст начинается со строки start и заканчивается строкой end. Внутри строковые представления (в соответствии с методом toString) всех элементов этого набора разделены строкой sep.
Пример:
scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)
scala> val b = new StringBuilder()
b: StringBuilder =
scala> a.addString(b , "List(" , ", " , ")")
res5: StringBuilder = List(1, 2, 3, 4)
- b
строковый буфер, в который добавляются элементы.
- start
начальная строка.
- sep
разделительная строка.
- end
конечная строка.
- returns
строковый буфер
b, в который были добавлены элементы.
- Definition Classes
- IterableOnceOps
def andThen[C](k: PartialFunction[Int, C]): PartialFunction[Int, C]
Компонует эту частичную функцию с другой частичной функцией, которая применяется к результатам этой частичной функции.
Обратите внимание, что вызов isDefinedAt для результирующей частичной функции может применить первую частичную функцию и выполнить её побочный эффект. Сильно рекомендуется использовать applyOrElse вместо isDefinedAt / apply для повышения эффективности.
- C
тип результата функции преобразования.
- k
функция преобразования
- returns
частичная функция с областью определения этой частичной функции, суженной другой частичной функцией, которая отображает аргументы
xвk(this(x)).
- Definition Classes
- PartialFunction
def andThen[C](k: (Int) => C): PartialFunction[Int, C]
Составляет эту частичную функцию с функцией преобразования, которая применяется к результатам этой частичной функции.
Если тип функции в момент выполнения — PartialFunction , то используется другой метод andThen (обратите внимание на его предостережения).
- C
тип результата функции преобразования.
- k
функция преобразования
- возвращает
частичная функция с областью определения этой частичной функции, возможно, суженная указанной функцией, которая сопоставляет аргументы
xсk(this(x)).
- Определяющие классы
- PartialFunction → Function1
def appended[B >: Int](elem: B): IndexedSeq[B]
Копия этой последовательности с добавленным элементом.
Примечание: не будет завершаться для бесконечно больших коллекций.
Пример:
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)
- B
тип элементов возвращаемой последовательности.
- elem
добавляемый элемент
- возвращает
новая последовательность, состоящая из всех элементов этой последовательности, за которыми следует
value.
- Определяющие классы
- StrictOptimizedSeqOps → SeqOps
def appendedAll[B >: Int](suffix: IterableOnce[B]): IndexedSeq[B]
Возвращает новую последовательность, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элемента последовательности — самый специфичный суперкласс, охватывающий типы элементов двух операндов.
- B
тип элементов возвращаемой коллекции.
- suffix
перечисляемый объект для добавления.
- возвращает
новая коллекция типа
CC[B], содержащая все элементы этой последовательности, за которыми следуют все элементыsuffix.
- Определяющие классы
- StrictOptimizedSeqOps → SeqOps
final def apply(idx: Int): Int
Получить элемент по указанному индексу. Данная операция предоставлена для удобства в Seq. Не следует предполагать её эффективность, если у вас нет IndexedSeq.
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
функция обратного вызова
- возвращает
результат применения этой функции или функции обратного вызова.
- Определяющие классы
- PartialFunction
- С
2.10
final def applyPreferredMaxLength: Int
подсказка для времени выполнения при сканировании значений apply предпочтительнее для сканирования с максимальным индексом меньше этого значения iterator предпочтительнее для сканирования выше этого диапазона
- Атрибуты
- protected
- Определяющие классы
- Диапазон → IndexedSeq
final def asInstanceOf[T0]: T0
Преобразует объект-приемник к типу T0.
Обратите внимание, что успех приведения типа во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит исключение ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] — нет. В последнем примере, поскольку аргумент типа стирается во время компиляции, невозможно проверить, являются ли элементы списка требуемого типа.
- returns
объект-приемник.
- Definition Classes
- Any
- Исключения
ClassCastExceptionесли объект-приемник не является экземпляром стирания типаT0.
final def by(step: Int): Range
Создаёт новый диапазон с новыми значениями start и end этого диапазона и новым шагом step.
- returns
новый диапазон с другим шагом
def canEqual(that: Any): Boolean
Метод, вызываемый из методов сравнения на равенство, позволяющий пользовательским подклассам отказываться от равенства с другими коллекциями того же типа.
- that
Объект, с которым эта неизменяемая последовательность должна быть сравнена
- returns
true, если эта неизменяемая последовательность потенциально может быть равнаthat,falseв противном случае. Тест учитывает только типы объектов во время выполнения, но игнорирует их элементы.
- Definition Classes
- IndexedSeq → Seq → Equals
def className: String
Определяет префикс представления этого объекта в toString.
Рекомендуется возвращать имя конкретного типа коллекции, а не подклассов реализации. Например, для ListMap этот метод должен возвращать "ListMap", а не "Map" (супертип) или "Node" (подкласс реализации).
По умолчанию возвращает "Iterable". Переопределён для основных видов коллекций "Seq", "IndexedSeq", "LinearSeq", "Buffer", "Set", "Map", "SortedSet", "SortedMap" и "View".
- returns
строковое представление, начинающее результат применения
toStringк этому диапазону. По умолчанию префикс строки — простое имя класса коллекции диапазона.
def clone(): AnyRef
Создайте копию объекта-приёмника.
Представление метода clone по умолчанию зависит от платформы.
- возвращает
копию объекта-приёмника.
final def coll: Range.this.type
- возвращает
Это коллекция в качестве
C.
- Атрибуты
- protected
- Определяющие классы
- Iterable → IterableOps
def collect[B](pf: PartialFunction[Int, B]): IndexedSeq[B]
Создаёт новую коллекцию-итерируемый объект путём применения частичной функции ко всем элементам этой коллекции-итерируемого объекта, для которых функция определена.
- B
тип элементов возвращаемой коллекции-итерируемого объекта.
- pf
частичная функция, которая фильтрует и отображает коллекцию-итерируемый объект.
- возвращает
новая коллекция-итерируемый объект, полученная в результате применения заданной частичной функции
pfк каждому элементу, для которого она определена, и сбора результатов. Порядок элементов сохраняется.
- Определяющие классы
- StrictOptimizedIterableOps → IterableOps → IterableOnceOps
- Примечание
Переиспользование: После вызова этого метода следует отказаться от итератора, на котором он был вызван, и использовать только итератор, который был возвращён. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе.
def collectFirst[B](pf: PartialFunction[Int, B]): Option[B]
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет к нему частичную функцию.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- pf
частичная функция
- returns
значение типа Option, содержащее результат применения pf к первому значению, для которого она определена, или
None, если такого значения не существует.
- Definition Classes
- IterableOnceOps
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
- SeqOps
"abbbc".combinations(2) = Iterator(ab, ac, bb, bc)
def compose[R](k: PartialFunction[R, Int]): PartialFunction[R, Int]
Компонует другую частичную функцию k с этой частичной функцией таким образом, что эта частичная функция применяется к результатам k.
Обратите внимание, что вызов isDefinedAt для полученной частичной функции может применить первую частичную функцию и выполнить её побочный эффект. Настоятельно рекомендуется использовать applyOrElse вместо isDefinedAt / apply для повышения эффективности.
- R
тип параметра функции преобразования.
- k
функция преобразования
- returns
частичная функция с областью определения, суженной другой частичной функцией, которая отображает аргументы
xвthis(k(x)).
- Definition Classes
- PartialFunction
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 concat[B >: Int](suffix: IterableOnce[B]): IndexedSeq[B]
Возвращает новую последовательность, содержащую элементы из левого операнда, после которых следуют элементы из правого операнда. Тип элементов последовательности — это наиболее общий суперкласс, охватывающий типы элементов двух операндов.
- B
тип элемента возвращаемой коллекции.
- suffix
объект для добавления.
- returns
новая последовательность, содержащая все элементы этой последовательности, за которыми следуют все элементы
suffix.
- Definition Classes
- SeqOps → IterableOps
- Annotations
- @inline()
final def contains[B >: Int](elem: B): Boolean
Проверяет, содержит ли этот диапазон данное значение в качестве элемента.
- elem
элемент для проверки.
- returns
true, если в этом диапазоне есть элемент, равный (как определяется==)elem,false, в противном случае.
final def contains(x: Int): Boolean
def containsSlice[B](that: collection.Seq[B]): Boolean
Проверяет, содержит ли эта последовательность заданную последовательность в качестве слайса.
Примечание: может не завершаться для коллекций бесконечного размера.
- that
последовательность для проверки
- возвращает
trueесли эта последовательность содержит слайс с теми же элементами, что иthat, в противном случаеfalse.
- Определяющие классы
- SeqOps
final def copy(start: Int = start, end: Int = end, step: Int = step, isInclusive: Boolean = isInclusive): Range
- Атрибуты
- protected
def copyToArray[B >: Int](xs: Array[B], start: Int, len: Int): Int
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start не более чем len элементами этой коллекции.
Копирование прекратится, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива, или len элементов.
- B
тип элементов массива.
- xs
массив для заполнения.
- start
начальный индекс xs.
- len
максимальное количество элементов для копирования.
- возвращает
количество элементов, записанных в массив
- Определяющие классы
- IterableOnceOps
- Примечание
Переиспользование: После вызова этого метода необходимо удалить итератор, на котором он был вызван. Его использование не определено и может быть изменено. Примечание: не завершится для коллекций бесконечного размера.
def copyToArray[B >: Int](xs: Array[B], start: Int): Int
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями этой коллекции.
Копирование прекратится, как только будут скопированы все элементы этой коллекции или будет достигнут конец массива.
- B
тип элементов массива.
- xs
массив для заполнения.
- start
начальный индекс xs.
- возвращает
количество элементов, записанных в массив. Примечание: не завершится для коллекций бесконечного размера.
- Определяющие классы
- IterableOnceOps
def copyToArray[B >: Int](xs: Array[B]): Int
Копирование элементов в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями из этого набора.
Копирование прекращается, когда скопированы все элементы этого набора или достигнут конец массива.
- B
тип элементов массива.
- xs
массив для заполнения.
- returns
количество элементов, записанных в массив. Примечание: не завершается для наборов бесконечного размера.
- Definition Classes
- IterableOnceOps
def corresponds[B](that: collection.Seq[B])(p: (Int, B) => Boolean): Boolean
Проверяет, удовлетворяет ли каждый элемент этой последовательности условию предиката, относящемуся к соответствующему элементу другой последовательности.
- B
тип элементов
that- that
другая последовательность
- p
предикат, связывающий элементы обеих последовательностей
- returns
trueесли обе последовательности имеют одинаковую длину иp(x, y)равноtrueдля всех соответствующих элементовxэтой последовательности иyдругой последовательности, в противном случаеfalse
- Definition Classes
- SeqOps
def corresponds[B](that: IterableOnce[B])(p: (Int, B) => Boolean): Boolean
Проверяет, удовлетворяет ли каждый элемент итератора этого набора условию предиката, относящемуся к соответствующему элементу другого набора.
- B
тип элементов
that- that
другой набор
- p
предикат, связывающий элементы обоих наборов
- returns
trueесли оба набора имеют одинаковую длину иp(x, y)равноtrueдля всех соответствующих элементовxитератора этого набора иyдругого набора, в противном случаеfalse
- Definition Classes
- IterableOnceOps
def count(p: (Int) => Boolean): Int
Подсчитывает количество элементов в коллекции, удовлетворяющих предикату.
- p
предикат, используемый для проверки элементов.
- returns
количество элементов, удовлетворяющих предикату
p.
- Definition Classes
- IterableOnceOps
def diff[B >: Int](that: collection.Seq[B]): IndexedSeq[Int]
Вычисляет разность множеств (мультиразность) между этой последовательностью и другой последовательностью.
- that
последовательность элементов, которые необходимо удалить
- returns
новая последовательность, содержащая все элементы этой последовательности, за исключением некоторых вхождений элементов, которые также присутствуют в
that. Если значение элементаxвстречается n раз вthat, то первые n вхожденийxне будут частью результата, но любые последующие вхождения будут.
- Definition Classes
- StrictOptimizedSeqOps → SeqOps
def distinct: Range
Выбирает все элементы этого диапазона, игнорируя дубликаты.
- returns
новый диапазон, состоящий из всех элементов этого диапазона без дубликатов.
def distinctBy[B](f: (Int) => B): IndexedSeq[Int]
Выбирает все элементы этой неизменяемой последовательности, игнорируя дубликаты, как определено == после применения преобразования f.
- B
тип элементов после преобразования
f- f
Функция преобразования, результат которой используется для определения уникальности каждого элемента
- returns
новая неизменяемая последовательность, состоящая из всех элементов этой неизменяемой последовательности без дубликатов.
- Definition Classes
- StrictOptimizedSeqOps → StrictOptimizedSeqOps → SeqOps
final def drop(n: Int): Range
Создаёт новый диапазон, содержащий все элементы этого диапазона, за исключением первых n элементов.
- n
количество элементов для удаления.
- returns
новый диапазон, состоящий из всех элементов этого диапазона, за исключением первых
nэлементов.
- Definition Classes
- Range → IndexedSeqOps → IterableOps → IterableOnceOps
final def dropRight(n: Int): Range
Создаёт новый диапазон, состоящий из начальных length - n элементов диапазона.
Примечание: этот метод не использует билдеры для построения нового диапазона, и его сложность составляет O(1).
- n
количество элементов для удаления из этого диапазона.
- returns
диапазон, состоящий из всех элементов этого диапазона, кроме последних
nэлементов, или пустого диапазона, если этот диапазон содержит меньшеnэлементов. Еслиnотрицательно, элементы не удаляются.
- Definition Classes
- Range → StrictOptimizedIterableOps → IndexedSeqOps → IterableOps
final def dropWhile(p: (Int) => Boolean): Range
Удаляет самую длинную префиксную последовательность элементов, удовлетворяющих предикату.
- p
Предикат, используемый для проверки элементов.
- returns
самый длинный суффикс этого диапазона, первый элемент которого не удовлетворяет предикату
p.
- Definition Classes
- Range → IterableOps → IterableOnceOps
- Note
Использование: после вызова этого метода следует отбросить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора является неопределённым, может быть изменено и может привести к изменениям в новом итераторе.
def elementWise: ElementWiseExtractor[Int, Int]
Возвращает объект экстрактора с методом unapplySeq, который извлекает каждый элемент данных последовательности.
- Определяющие классы
- PartialFunction
val firstChar: String => Option[Char] = _.headOption
Seq("foo", "bar", "baz") match {
case firstChar.unlift.elementWise(c0, c1, c2) =>
println(s"$c0, $c1, $c2") // Output: f, b, b
}
def empty: IndexedSeq[Int]
Пустая итерируемая последовательность того же типа, что и эта итерируемая последовательность.
- возвращает
пустую итерируемую последовательность типа
C.
- Определяющие классы
- IterableFactoryDefaults → IterableOps
val end: Int
def endsWith[B >: Int](that: collection.Iterable[B]): Boolean
Проверяет, заканчивается ли эта последовательность заданной последовательностью.
Примечание: не будет завершаться для коллекций бесконечного размера.
- that
последовательность для проверки
- возвращает
trueесли у этой последовательностиthatявляется суффиксом,falseв противном случае.
- Определяющие классы
- SeqOps
def ensuring(cond: (Range) => Boolean, msg: => Any): Range
- Неявный
- Этот член добавлен неявным преобразованием из Range в Ensuring[Range] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: (Range) => Boolean): Range
- Неявное
- Этот член добавлен неявным преобразованием из Range вEnsuring[Range] с помощью метода Ensuring в scala.Predef.
- Классы определения
- Ensuring
def ensuring(cond: Boolean, msg: => Any): Range
- Неявное
- Этот член добавлен неявным преобразованием из Range вEnsuring[Range] с помощью метода Ensuring в scala.Predef.
- Классы определения
- Ensuring
def ensuring(cond: Boolean): Range
- Неявное
- Этот член добавлен неявным преобразованием из Range вEnsuring[Range] с помощью метода Ensuring в scala.Predef.
- Классы определения
- Ensuring
final def eq(arg0: AnyRef): Boolean
Проверяет, является ли аргумент (that) ссылкой на объект-приемник (this).
Метод eq реализует отношение эквивалентности на не-нулевых экземплярах AnyRef, и имеет три дополнительных свойства:
-
Он согласован: для любых не-нулевых экземпляров
x и y типа AnyRef, несколько вызовов x.eq(y) последовательно возвращают true или последовательно возвращают false. Для любого не-нулевого экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false.
null.eq(null) возвращает true.
При переопределении методов equals или hashCode важно обеспечить, чтобы их поведение соответствовало равенству ссылок. Поэтому, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и должны иметь одинаковый хеш-код (o1.hashCode == o2.hashCode).
- возвращает
trueесли аргумент является ссылкой на объект-приемник;falseв противном случае.
- Классы определения
- AnyRef
final def equals(other: Any): Boolean
Универсальный метод равенства, определённый в AnyRef.
def exists(p: (Int) => Boolean): Boolean
Проверяет, выполняется ли предикат для хотя бы одного элемента в этом наборе.
Примечание: может не завершиться для наборов бесконечного размера.
- p
предикат, используемый для проверки элементов.
- returns
trueесли заданный предикатpвыполняется для хотя бы одного элемента в этом наборе, в противном случаеfalse
- Definition Classes
- IterableOnceOps
def filter(pred: (Int) => Boolean): IndexedSeq[Int]
Выбирает все элементы этого итерируемого набора, которые удовлетворяют предикату.
- returns
новый итератор, состоящий из всех элементов этого итерируемого набора, удовлетворяющих заданному предикату
p. Порядок элементов сохраняется.
- Definition Classes
- StrictOptimizedIterableOps → IterableOps → IterableOnceOps
def filterImpl(pred: (Int) => Boolean, isFlipped: Boolean): IndexedSeq[Int]
- Attributes
- protected[scala.collection]
- Definition Classes
- StrictOptimizedIterableOps
def filterNot(pred: (Int) => Boolean): IndexedSeq[Int]
Выбирает все элементы этой итерируемой коллекции, которые не удовлетворяют предикату.
- pred
предикат, используемый для проверки элементов.
- returns
новая итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, которые не удовлетворяют заданному предикату
pred. Порядок элементов может быть не сохранён.
- Definition Classes
- StrictOptimizedIterableOps → IterableOps → IterableOnceOps
def finalize(): Unit
Вызывается сборщиком мусора для объекта-получателя, когда больше нет ссылок на объект.
Подробности о том, когда и будет ли вызываться метод finalize, а также взаимодействии между finalize и нелокальными возвратами и исключениями, зависят от платформы.
def find(p: (Int) => Boolean): Option[Int]
Находит первый элемент коллекции, удовлетворяющий предикату, если таковой существует.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.
- p
предикат, используемый для проверки элементов.
- returns
значение типа Option, содержащее первый элемент в коллекции, удовлетворяющий
p, илиNoneесли таковой не существует.
- Definition Classes
- IterableOnceOps
def findLast(p: (Int) => Boolean): Option[Int]
Находит последний элемент последовательности, удовлетворяющий предикату, если таковой существует.
Примечание: не завершится для коллекций бесконечного размера.
- p
предикат, используемый для проверки элементов.
- returns
значение типа Option, содержащее последний элемент в последовательности, удовлетворяющий
p, илиNoneесли таковой не существует.
- Definition Classes
- SeqOps
def flatMap[B](f: (Int) => IterableOnce[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: String) => 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
- StrictOptimizedIterableOps → IterableOps → IterableOnceOps
- Note
Переиспользование: После вызова этого метода нужно удалить итератор, на котором он был вызван, и использовать только тот, который был возвращён. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе тоже.
def flatten[B](implicit toIterableOnce: (Int) => IterableOnce[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
- StrictOptimizedIterableOps → IterableOps → IterableOnceOps
- Note
Переиспользование: После вызова этого метода нужно удалить итератор, на котором он был вызван, и использовать только тот, который был возвращён. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе тоже.
def fold[A1 >: Int](z: A1)(op: (A1, A1) => A1): A1
Складывает элементы этого набора с использованием заданного ассоциативного бинарного оператора. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективных порядков обхода.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Примечание: не завершится для наборов бесконечного размера.
- A1
параметр типа для бинарного оператора, супертип
A.- z
нейтральный элемент для операции сложения; может быть добавлен к результату произвольное количество раз, и не должен изменять результат (например,
Nilдля конкатенации списков, 0 для сложения или 1 для умножения).- op
бинарный оператор, который должен быть ассоциативным.
- returns
результат применения оператора сложения
opмежду всеми элементами иz, илиz, если этот набор пуст.
- Definition Classes
- IterableOnceOps
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
- IterableOnceOps
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
- IterableOnceOps
def forall(p: (Int) => Boolean): Boolean
Проверяет, выполняется ли предикат для всех элементов этого набора.
Примечание: может не завершиться для коллекций бесконечного размера.
- p
предикат, используемый для проверки элементов.
- returns
trueесли этот набор пуст или заданный предикатpвыполняется для всех элементов этого набора, в противном случаеfalse.
- Definition Classes
- IterableOnceOps
final def foreach[U](f: (Int) => U): Unit
Применяет f к каждому элементу для его побочных эффектов. Примечание: параметр [U] необходим для помощи в выводе типов scalac.
- Definition Classes
- Range → IterableOnceOps
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной строкой форматирования. Строки форматирования такие же, как и у String.format (@см. java.lang.String.format).
- Implicit
- Этот член добавлен неявным преобразованием из Range в StringFormat[Range] с помощью метода StringFormat в scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
def fromSpecific(coll: IterableOnce[Int]): IndexedSeq[Int]
Определяет, как преобразовать заданный Iterable[A] в коллекцию типа C.
Этот процесс может выполняться жёстким или гибким способом (т.е. без вычисления элементов результирующих коллекций). Другими словами, этот метод определяет модель вычисления коллекции.
- Атрибуты
- protected
- Классы-определения
- IterableFactoryDefaults → IterableOps
- Примечание
-
При реализации пользовательского типа коллекции и уточнении
,Cдо нового типа этот метод необходимо переопределить (иначе компилятор выдаст ошибку). В общем случае, гдеC =:= CC[A], это можно сделать, смешав в себе трайт IterableFactoryDefaults, который реализует метод с помощью iterableFactory.Как показывает аннотация
@uncheckedVariance, использование этого метода может быть небезопасным. Однако, если он вызывается сIterable[A], полученным из коллекцииthis(как это происходит при реализации операций, где мы используемView[A]), то он безопасен.
final def getClass(): Class[_ <: AnyRef]
Возвращает представление класса объекта во время выполнения.
- возвращает
объект класса, соответствующий типу получателя во время выполнения.
def groupBy[K](f: (Int) => K): Map[K, IndexedSeq[Int]]
Разбивает эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с функцией-дискриминатором.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
- K
тип ключей, возвращаемых функцией-дискриминатором.
- f
функция-дискриминатор.
- возвращает
-
Карта из ключей к итерируемым коллекциям, которая удовлетворяет следующему инварианту:
(xs groupBy f)(k) = xs filter (x => f(x) == k)
То есть, каждый ключ
kсопоставлен с итерируемой коллекцией элементовxдля которыхf(x)равноk.
- Классы-определения
- IterableOps
def groupMap[K, B](key: (Int) => K)(f: (Int) => B): Map[K, IndexedSeq[B]]
Разделяет эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с функцией-дискриминатором key. Каждый элемент в группе преобразуется в значение типа B с помощью функции value.
Эквивалентно groupBy(key).mapValues(_.map(f)), но более эффективно.
case class User(name: String, age: Int) def namesByAge(users: Seq[User]): Map[Int, Seq[String]] = users.groupMap(_.age)(_.name)
Примечание: даже при применении к представлению или ленивой коллекции, она всегда будет принудительно обрабатывать элементы.
- K
тип ключей, возвращаемых функцией дискриминатора
- B
тип значений, возвращаемых функцией преобразования
- key
функция-дискриминатор
- f
функция преобразования элементов
- Definition Classes
- IterableOps
def groupMapReduce[K, B](key: (Int) => K)(f: (Int) => B)(reduce: (B, B) => B): Map[K, B]
Разделяет эту итерируемую коллекцию на карту в соответствии с функцией-дискриминатором key. Все значения с одинаковым дискриминатором затем преобразуются функцией value и сводятся к одному значению с помощью функции reduce.
Эквивалентно groupBy(key).mapValues(_.map(f).reduce(reduce)), но более эффективно.
def occurrences[A](as: Seq[A]): Map[A, Int] = as.groupMapReduce(identity)(_ => 1)(_ + _)
Примечание: даже при применении к представлению или ленивой коллекции, она всегда будет принудительно обрабатывать элементы.
- Definition Classes
- IterableOps
def grouped(size: Int): Iterator[Range]
Разделяет элементы на диапазоны фиксированного размера.
- size
количество элементов в каждой группе
- returns
Итератор, производящий диапазоны размера
size, за исключением последнего, который будет меньше размераsize, если элементы не делятся на размер равномерно.
- Definition Classes
- Range → IterableOps
- См. также
scala.collection.Iterator, метод
grouped
final def hashCode(): Int
Метод hashCode для ссылочных типов. См. hashCode в scala.Any.
- returns
значение хэш-кода для этого объекта.
final def head: Int
Выбирает первый элемент этого диапазона.
- returns
первый элемент этого диапазона.
- Definition Classes
- Range → IterableOps
- Исключения
NoSuchElementException, если диапазон пустой.
def headOption: Option[Int]
Возвращает первый элемент, если он есть.
Примечание: результаты могут отличаться при разных запусках, если тип базовой коллекции не упорядочен.
- returns
первый элемент итерируемой коллекции, если она не пуста,
Noneесли пуста.
- Definition Classes
- IterableOps
final def inclusive: Range
final def indexOf[B >: Int](elem: B, from: Int = 0): Int
Находит индекс первого вхождения некоторого значения в этом диапазоне после или на некотором начальном индексе.
- B
тип элемента
elem.- elem
значение элемента, для которого выполняется поиск.
- from
начальный индекс
- returns
индекс
>= fromпервого элемента этого диапазона, который равен (как определяется==)elem, или-1, если такого элемента нет.
def indexOf[B >: Int](elem: B): Int
Находит индекс первого вхождения некоторого значения в этой последовательности.
- B
тип элемента
elem.- elem
значение элемента, для которого выполняется поиск.
- returns
индекс
>= 0первого элемента этой последовательности, который равен (как определяется==)elem, или-1, если такого элемента нет.
- Definition Classes
- SeqOps
- Annotations
- @deprecatedOverriding("Override indexOf(elem, from) instead - indexOf(elem) calls indexOf(elem, 0)", "2.13.0")
def indexOfSlice[B >: Int](that: collection.Seq[B]): Int
Находит первый индекс, где эта последовательность содержит заданную последовательность в виде среза.
Примечание: может не завершаться для бесконечно больших коллекций.
- that
последовательность для проверки
- returns
первый индекс
>= 0, такой что элементы этой последовательности, начиная с этого индекса, соответствуют элементам последовательностиthat, или-1, если такая подпоследовательность отсутствует.
- Definition Classes
- SeqOps
- Annotations
- @deprecatedOverriding("Override indexOfSlice(that, from) instead - indexOfSlice(that) calls indexOfSlice(that, 0)", "2.13.0")
def indexOfSlice[B >: Int](that: collection.Seq[B], from: Int): Int
Находит первый индекс после или на стартовом индексе, где эта последовательность содержит заданную последовательность как срез.
Примечание: может не завершиться для коллекций бесконечного размера.
- that
последовательность для проверки
- from
стартовый индекс
- возвращает
первый индекс
>= from, такой, что элементы этой последовательности, начинающиеся с этого индекса, соответствуют элементам последовательностиthat, или-1, если такой подпоследовательности не существует.
- Классы определений
- SeqOps
def indexWhere(p: (Int) => Boolean): Int
Находит индекс первого элемента, удовлетворяющего некоторому предикату.
Примечание: может не завершиться для коллекций бесконечного размера.
- p
предикат, используемый для проверки элементов.
- возвращает
индекс
>= 0первого элемента этой последовательности, удовлетворяющего предикатуp, или-1, если такого нет.
- Классы определений
- SeqOps
- Аннотации
- @deprecatedOverriding("Override indexWhere(p, from) instead - indexWhere(p) calls indexWhere(p, 0)", "2.13.0")
def indexWhere(p: (Int) => Boolean, from: Int): Int
Находит индекс первого элемента, удовлетворяющего некоторому предикату после или на некотором стартовом индексе.
Примечание: может не завершиться для коллекций бесконечного размера.
- p
предикат, используемый для проверки элементов.
- from
стартовый индекс
- возвращает
индекс
>= fromпервого элемента этой последовательности, удовлетворяющего предикатуp, или-1, если такого нет.
- Классы определений
- SeqOps
def indices: Range
Создаёт диапазон всех индексов этой последовательности.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
- возвращает
значение
Rangeот0до значения, на единицу меньшего, чем длина этой последовательности.
- Классы определений
- SeqOps
final def init: Range
Создаёт новый диапазон, содержащий все элементы этого диапазона, кроме последнего.
Примечание: этот метод не использует билдеры для построения нового диапазона, и его сложность составляет O(1).
- возвращает
новый диапазон, состоящий из всех элементов этого диапазона, кроме последнего.
- Классы определений
- Range → IterableOps
def inits: Iterator[Range]
Итерирует по начальным отрезкам (inits) этого диапазона. Первое значение будет этим диапазоном, а последнее — пустым диапазоном, промежуточные значения будут результатами последовательных применений init.
Примечание: Даже при применении к представлению или ленивому набору элементов всегда будут принудительно вычисляться.
- returns
итератор по всем начальным отрезкам (inits) этого диапазона
- Definition Classes
- Range → IterableOps
List(1,2,3).inits = Iterator(List(1,2,3), List(1,2), List(1), Nil)
def intersect[B >: Int](that: collection.Seq[B]): IndexedSeq[Int]
Вычисляет пересечение мультимножеств между этой последовательностью и другой последовательностью.
- that
последовательность элементов, с которыми нужно пересечься.
- returns
новая последовательность, которая содержит все элементы этой последовательности, которые также встречаются в
that. Если значение элементаxвстречается n раз вthat, то первые n вхожденийxбудут сохранены в результате, но все последующие вхождения будут пропущены.
- Definition Classes
- StrictOptimizedSeqOps → SeqOps
def isDefinedAt(idx: Int): Boolean
Проверяет, содержит ли эта последовательность данный индекс.
Реализации методов apply и isDefinedAt преобразуют Seq[A] в PartialFunction[Int, A].
- idx
индекс для проверки
- returns
true, если в этой последовательности есть элемент в позицииidx,falseв противном случае.
- Definition Classes
- SeqOps
final val isEmpty: Boolean
Проверяет, является ли диапазон пустым.
Примечание: Реализации в подклассах, которые не являются повторно проходимыми, должны позаботиться о том, чтобы не потреблять никаких элементов при вызове isEmpty.
- returns
trueесли диапазон не содержит элементов,falseв противном случае.
- Definition Classes
- Range → SeqOps → IterableOnceOps
final def isInstanceOf[T0]: Boolean
Проверяет, является ли динамический тип объекта-приёмника T0.
Обратите внимание, что результат теста учитывает семантику стирания Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, так как аргумент типа стирается во время компиляции, невозможно проверить, соответствуют ли элементы списка указанному типу.
- возвращает
trueесли объект-приёмник является экземпляром стираемого типаT0;falseв противном случае.
- Классы определения
- Any
def isTraversableAgain: Boolean
Проверяет, можно ли повторно пройти по этому итерируемому набору. Всегда истинно для Iterables и ложно для Iterators, если не переопределено.
- возвращает
trueесли повторный проход возможен,falseв противном случае.
- Классы определения
- IterableOps → IterableOnceOps
def iterableFactory: SeqFactory[IndexedSeq]
Объект-компаньон этой неизменяемой последовательности, предоставляющий различные методы фабрики.
- Классы определения
- IndexedSeq → IndexedSeq → Seq → Seq → Iterable → Iterable → IterableOps
- Примечание
При реализации пользовательского типа коллекции и уточнении
CCдо нового типа этот метод необходимо переопределить, чтобы вернуть фабрику для нового типа (иначе компилятор выдаст ошибку).
final def iterator: Iterator[Int]
Итератор можно использовать только один раз
- Классы определения
- Range → IndexedSeqOps → IterableOnce
def knownSize: Int
- возвращает
Количество элементов в этой последовательности, если его можно вычислить без больших затрат, -1 в противном случае. Без больших затрат обычно означает: без обхода коллекции.
- Классы определения
- IndexedSeqOps → IterableOnce
final def last: Int
Последний элемент этого диапазона. Этот метод вернёт правильное значение даже если элементов слишком много для перебора.
- returns
Последний элемент этого диапазона.
- Definition Classes
- Range → IndexedSeqOps → IterableOps
final def lastIndexOf[B >: Int](elem: B, end: Int = length - 1): Int
Находит индекс последнего вхождения некоторого значения в этом диапазоне до или на заданном конечном индексе.
- B
тип элемента
elem.- elem
значение искомого элемента.
- end
конечный индекс.
- returns
индекс
<= endпоследнего элемента этого диапазона, который равен (как определено==)elem, или-1, если такой не существует.
def lastIndexOfSlice[B >: Int](that: collection.Seq[B]): Int
Находит последний индекс, где эта последовательность содержит заданную последовательность как срез.
Примечание: не будет завершаться для коллекций бесконечного размера.
- that
последовательность для проверки
- returns
последний индекс, такой что элементы этой последовательности, начиная с этого индекса, соответствуют элементам последовательности
that, или-1, если такой подпоследовательности не существует.
- Definition Classes
- SeqOps
- Annotations
- @deprecatedOverriding("Override lastIndexOfSlice(that, end) instead - lastIndexOfSlice(that) calls lastIndexOfSlice(that, Int.MaxValue)", "2.13.0")
def lastIndexOfSlice[B >: Int](that: collection.Seq[B], end: Int): Int
Находит последний индекс до или на заданном конечном индексе, где эта последовательность содержит заданную последовательность как срез.
Примечание: не будет завершаться для коллекций бесконечного размера.
- that
последовательность для проверки
- end
конечный индекс
- returns
последний индекс
<= end, такой что элементы этой последовательности, начиная с этого индекса, соответствуют элементам последовательностиthat, или-1, если такой подпоследовательности не существует.
- Definition Classes
- SeqOps
def lastIndexWhere(p: (Int) => Boolean): Int
Находит индекс последнего элемента, удовлетворяющего некоторому предикату.
Примечание: не будет завершаться для коллекций бесконечного размера.
- p
предикат, используемый для проверки элементов.
- returns
индекс последнего элемента этой последовательности, удовлетворяющего предикату
p, или-1, если такового нет.
- Definition Classes
- SeqOps
- Annotations
- @deprecatedOverriding("Override lastIndexWhere(p, end) instead - lastIndexWhere(p) calls lastIndexWhere(p, Int.MaxValue)", "2.13.0")
def lastIndexWhere(p: (Int) => Boolean, end: Int): Int
Находит индекс последнего элемента, удовлетворяющего некоторому предикату до или на заданном конечном индексе.
Примечание: не будет завершаться для коллекций бесконечного размера.
- p
предикат, используемый для проверки элементов.
- returns
индекс
<= endпоследнего элемента этой последовательности, удовлетворяющего предикатуp, или-1, если такового нет.
- Definition Classes
- SeqOps
def lastOption: Option[Int]
Возвращает последний элемент в виде Option.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- returns
последний элемент этой итерируемой коллекции, если она не пуста,
Noneесли она пуста.
- Definition Classes
- IterableOps
def lazyZip[B](that: collection.Iterable[B]): LazyZip2[Int, B, Range.this.type]
Аналогично zip за исключением того, что элементы в каждом наборе не потребляются до вызова строгой операции над возвращаемым LazyZip2 декоратором.
Вызовы lazyZip могут быть объединены для поддержки более высоких арифметических операций (до 4) без затрат на построение и разбор промежуточных кортежей.
val xs = List(1, 2, 3) val res = (xs lazyZip xs lazyZip xs lazyZip xs).map((a, b, c, d) => a + b + c + d) // res == List(4, 8, 12)
- B
тип второго элемента в каждой возможной паре
- that
итерируемый объект, предоставляющий второй элемент каждой возможной пары
- возвращает
декоратор
LazyZip2, который позволяет выполнять строгие операции над лениво вычисляемыми парами или объединять вызовыlazyZip. Также поддерживается неявное преобразование вIterable[(A, B)].
- Определяющие классы
- Iterable
final def length: Int
Длина (количество элементов) диапазона. size является псевдонимом для length в коллекциях Seq.
final def lengthCompare(that: collection.Iterable[_]): Int
Сравнивает длину этого последовательности с размером другого Iterable.
- that
Iterable, размер которой сравнивается с длиной этой последовательности.- возвращает
-
Значение
x, гдеx < 0 if this.length < that.size x == 0 if this.length == that.size x > 0 if this.length > that.size
Реализация этого метода не вызывает
lengthилиsizeнапрямую; его время выполнения составляетO(this.length min that.size)вместоO(this.length + that.size). Метод следует переопределить, если вычислениеsizeявляется быстрым, иknownSizeвозвращает-1.
- Определяющие классы
- IndexedSeqOps → SeqOps
final 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является быстрым, иknownSizeвозвращает-1.
- Определяющие классы
- IndexedSeqOps → SeqOps
- См. также
final def lengthIs: SizeCompareOps
Возвращает класс значений, содержащий операции для сравнения длины этой последовательности со значением теста.
Эти операции реализованы с использованием lengthCompare(Int) и позволяют использовать следующие более читаемые выражения:
this.lengthIs < len // this.lengthCompare(len) < 0 this.lengthIs <= len // this.lengthCompare(len) <= 0 this.lengthIs == len // this.lengthCompare(len) == 0 this.lengthIs != len // this.lengthCompare(len) != 0 this.lengthIs >= len // this.lengthCompare(len) >= 0 this.lengthIs > len // this.lengthCompare(len) > 0
def lift: (Int) => Option[Int]
Преобразует эту частичную функцию в обычную функцию, возвращающую Option результат.
- returns
функция, которая принимает аргумент
xвSome(this(x))случае, еслиthisопределена дляx, и вNoneв противном случае.
- Definition Classes
- PartialFunction
- See also
Function.unlift
def map[B](f: (Int) => B): IndexedSeq[B]
Создает новый диапазон, применяя функцию ко всем элементам этого диапазона.
- B
тип элементов возвращаемого диапазона.
- f
функция, применяемая к каждому элементу.
- returns
новый диапазон, полученный в результате применения заданной функции
fк каждому элементу этого диапазона и сбора результатов.
- Definition Classes
- Range → StrictOptimizedIterableOps → IndexedSeqOps → IterableOps → IterableOnceOps
- Note
Переиспользование: После вызова этого метода нужно выбросить итератор, на котором он был вызван, и использовать только тот итератор, который был возвращен. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе тоже.
final def max[A1 >: Int](implicit ord: Ordering[A1]): Int
Находит наибольший элемент.
- ord
Порядок, используемый для сравнения элементов.
- returns
наибольший элемент этого диапазона относительно порядка
ord.
- Definition Classes
- Range → IterableOnceOps
- Exceptions thrown
UnsupportedOperationException, если этот диапазон пуст.
def maxBy[B](f: (Int) => B)(implicit cmp: math.Ordering[B]): Int
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- cmp
Порядок, используемый для сравнения элементов.
- returns
первый элемент этого набора с наибольшим значением, измеренным функцией f, относительно порядка
cmp.
- Definition Classes
- IterableOnceOps
- Exceptions thrown
UnsupportedOperationException, если этот набор пуст.
def maxByOption[B](f: (Int) => B)(implicit cmp: math.Ordering[B]): Option[Int]
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- cmp
Порядок, используемый для сравнения элементов.
- returns
значение Option, содержащее первый элемент этого набора с наибольшим значением, измеренным функцией f, относительно порядка
cmp.
- Definition Classes
- IterableOnceOps
def maxOption[B >: Int](implicit ord: math.Ordering[B]): Option[Int]
Находит наибольший элемент.
- B
Тип, по которому определяется порядок.
- ord
Порядок, который будет использоваться для сравнения элементов.
- returns
значение типа Option, содержащее наибольший элемент этого набора относительно порядка
ord.
- Definition Classes
- IterableOnceOps
final def min[A1 >: Int](implicit ord: Ordering[A1]): Int
Находит наименьший элемент.
- ord
Порядок, который будет использоваться для сравнения элементов.
- returns
наименьший элемент этого диапазона относительно порядка
ord.
- Definition Classes
- Range → IterableOnceOps
- Exceptions thrown
UnsupportedOperationException, если этот диапазон пуст.
def minBy[B](f: (Int) => B)(implicit cmp: math.Ordering[B]): Int
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- cmp
Порядок, который будет использоваться для сравнения элементов.
- returns
первый элемент этого набора с наименьшим значением, измеренным функцией f, относительно порядка
cmp.
- Definition Classes
- IterableOnceOps
- Exceptions thrown
UnsupportedOperationException, если этот набор пуст.
def minByOption[B](f: (Int) => B)(implicit cmp: math.Ordering[B]): Option[Int]
Находит первый элемент, который даёт наименьшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- cmp
Порядок, используемый для сравнения элементов.
- returns
значение типа Option, содержащее первый элемент этого набора с наименьшим значением, измеренным функцией f относительно порядка
cmp.
- Definition Classes
- IterableOnceOps
def minOption[B >: Int](implicit ord: math.Ordering[B]): Option[Int]
Находит наименьший элемент.
- B
Тип, по которому определён порядок.
- ord
Порядок, используемый для сравнения элементов.
- returns
значение типа Option, содержащее наименьший элемент этого набора относительно порядка
ord.
- Definition Classes
- IterableOnceOps
final def mkString: String
Отображает все элементы этого набора в строке.
Делегирует вызов addString, который может быть переопределён.
- returns
строковое представление этого набора. В результирующей строке строковые представления (согласно методу
toString) всех элементов этого набора следуют друг за другом без разделительной строки.
- Definition Classes
- IterableOnceOps
- Annotations
- @inline()
final def mkString(sep: String): String
Отображает все элементы этого набора в строке с разделительной строкой.
Делегирует вызов addString, который может быть переопределён.
- sep
разделительная строка.
- returns
строковое представление этого набора. В результирующей строке строковые представления (согласно методу
toString) всех элементов этого набора разделены строкойsep.
- Definition Classes
- IterableOnceOps
- Annotations
- @inline()
List(1, 2, 3).mkString("|") = "1|2|3"
final def mkString(start: String, sep: String, end: String): String
Отображает все элементы этого набора в строке с использованием строк start, end и разделителя.
Делегирует вызов addString, который может быть переопределён.
- start
начальная строка.
- sep
строка-разделитель.
- end
конечная строка.
- returns
строковое представление этого набора. Результирующая строка начинается со строки
startи заканчивается строкойend. Внутри строковые представления (в соответствии с методомtoString) всех элементов этого набора разделены строкойsep.
- Definition Classes
- IterableOnceOps
List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"
final def ne(arg0: AnyRef): Boolean
Эквивалентно !(this eq that).
- returns
trueесли аргумент не является ссылкой на объект-получатель;falseв противном случае.
- Definition Classes
- AnyRef
def newSpecificBuilder: Builder[Int, IndexedSeq[Int]]
- returns
строгий билдер для того же типа коллекции. Обратите внимание, что в случае ленивых коллекций (например, View или immutable.LazyList) реализация этого метода возможна, но полученный
Builderнарушит ленивость. Следовательно, операции предпочтительнее реализовывать с помощьюfromSpecificвместо этого метода.
- Attributes
- protected
- Definition Classes
- IterableFactoryDefaults → IterableOps
- Примечание
-
При реализации пользовательского типа коллекции и уточнении
,Cдо нового типа, этот метод необходимо переопределить (в противном случае компилятор выдаст ошибку). В общем случае, гдеC =:= CC[A], это можно сделать, смешав в себе трейт IterableFactoryDefaults, который реализует этот метод с использованием iterableFactory.Как видно из аннотации
@uncheckedVariance, использование этого метода может быть небезопасным. Однако, до тех пор, пока возвращаемый билдер подпитывается толькоAзначениями, взятыми изthisэкземпляра, он безопасен.
def nonEmpty: Boolean
Проверяет, не пуста ли коллекция.
- возвращает
trueесли коллекция содержит хотя бы один элемент,falseв противном случае.
- Классы определений
- IterableOnceOps
- Аннотации
- @deprecatedOverriding("nonEmpty определён как !isEmpty; переопределите isEmpty вместо этого", "2.13.0")
final def notify(): Unit
Разбуживает единственную нить, ожидающую монитора объекта получателя.
- Классы определений
- AnyRef
- Аннотации
- @native()
- Примечание
не указано SLS как член AnyRef
final def notifyAll(): Unit
Разбуживает все нити, ожидающие монитора объекта получателя.
- Классы определений
- AnyRef
- Аннотации
- @native()
- Примечание
не указано SLS как член AnyRef
def occCounts[B](sq: collection.Seq[B]): mutable.Map[B, Int]
- Атрибуты
- protected[scala.collection]
- Классы определений
- SeqOps
def orElse[A1 <: Int, B1 >: Int](that: PartialFunction[A1, B1]): PartialFunction[A1, B1]
Компонует эту частичную функцию с частичной функцией-резервом, которая применяется там, где эта частичная функция не определена.
- A1
тип аргумента функции-резерва
- B1
тип результата функции-резерва
- that
функция-резерв
- возвращает
частичная функция, у которой область определения является объединением областей определения этой частичной функции и
that. Результирующая частичная функция принимаетxвthis(x), гдеthisопределена, и вthat(x)в противном случае.
- Классы определений
- PartialFunction
def padTo[B >: Int](len: Int, elem: B): IndexedSeq[B]
Копия этого последовательности с добавленными элементами значения до тех пор, пока не будет достигнута заданная целевая длина.
- B
тип элементов возвращаемой последовательности.
- len
целевая длина
- elem
значение заполнения
- returns
новая последовательность, состоящая из всех элементов этой последовательности, за которыми следует минимальное количество вхождений
elem, чтобы полученная коллекция имела длину как минимумlen.
- Definition Classes
- StrictOptimizedSeqOps → SeqOps
def partition(p: (Int) => Boolean): (IndexedSeq[Int], IndexedSeq[Int])
Пара, состоящая, во-первых, из всех элементов, которые удовлетворяют предикату p, и, во-вторых, из всех элементов, которые не удовлетворяют ему. Интересно тем, что разделяет коллекцию на две части.
Представленное здесь реализация по умолчанию должна дважды пройтись по коллекции. Строгие коллекции имеют переопределённую версию partition в StrictOptimizedIterableOps, которая требует только одного прохода.
- Definition Classes
- StrictOptimizedIterableOps → IterableOps
def partitionMap[A1, A2](f: (Int) => Either[A1, A2]): (IndexedSeq[A1], IndexedSeq[A2])
Применяет функцию f к каждому элементу итерируемого набора и возвращает пару итерируемых наборов: первый набор состоит из значений, возвращенных f, которые были обернуты в scala.util.Left, а второй набор состоит из значений, обернутых в scala.util.Right.
Пример:
val xs = Iterable(1, "one", 2, "two", 3, "three") partitionMap {
case i: Int => Left(i)
case s: String => Right(s)
}
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
- A1
тип элементов первого результирующего набора
- A2
тип элементов второго результирующего набора
- f
функция 'разделения', сопоставляющая элементы этого итерируемого набора с scala.util.Either
- returns
пара итерируемых наборов: первый набор состоит из значений, возвращенных
f, которые были обернуты в scala.util.Left, а второй набор состоит из значений, обернутых в scala.util.Right.
- Definition Classes
- StrictOptimizedIterableOps → IterableOps
def patch[B >: Int](from: Int, other: IterableOnce[B], replaced: Int): IndexedSeq[B]
Создаёт новую неизменяемую последовательность, где фрагмент элементов в этой неизменяемой последовательности заменён другой последовательностью.
Замена по отрицательным индексам такая же, как замена, начинающаяся с 0. Замена по индексам, равным или большим длины исходной неизменяемой последовательности, добавляет замену в конец. Если заменяется больше значений, чем фактически существует, избыток игнорируется.
- B
тип элементов возвращаемой неизменяемой последовательности.
- from
индекс первого заменяемого элемента
- other
заменяющая последовательность
- replaced
количество элементов, подлежащих удалению в исходной неизменяемой последовательности
- returns
новая неизменяемая последовательность, состоящая из всех элементов этой неизменяемой последовательности, за исключением того, что
replacedэлементы, начиная сfrom, заменены всеми элементамиother.
- Definition Classes
- StrictOptimizedSeqOps → SeqOps
def permutations: Iterator[IndexedSeq[Int]]
Итерация по различным перестановкам.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
- returns
Итератор, проходящий по различным перестановкам этой последовательности.
- Definition Classes
- SeqOps
"abb".permutations = Iterator(abb, bab, bba)
def prepended[B >: Int](elem: B): IndexedSeq[B]
Копия последовательности с добавленным элементом в начало.
Также, исходная последовательность не изменяется, поэтому вам нужно будет сохранить результат.
Пример:
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)
- B
тип элементов возвращаемой последовательности.
- elem
элемент, добавляемый в начало
- returns
новая последовательность, состоящая из
valueи всех элементов этой последовательности.
- Definition Classes
- StrictOptimizedSeqOps → SeqOps
def prependedAll[B >: Int](prefix: IterableOnce[B]): IndexedSeq[B]
Как и :++, возвращает новую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда.
Она отличается от :++ тем, что правый операнд определяет тип результирующей коллекции, а не левый. Мнемоника: двоеточие стоит со стороны нового типа коллекции.
- B
тип элементов возвращаемой коллекции.
- prefix
итерируемый объект, который нужно добавить в начало.
- returns
новая последовательность, которая содержит все элементы
prefixи все элементы этой последовательности.
- Definition Classes
- StrictOptimizedSeqOps → SeqOps
def product[B >: Int](implicit num: math.Numeric[B]): B
Перемножает элементы этой коллекции.
- B
тип результата оператора
*.- num
явный параметр, определяющий набор арифметических операций, включая оператор
*для вычисления произведения.- returns
произведение всех элементов этой коллекции относительно оператора
*вnum.
- Definition Classes
- IterableOnceOps
def reduce[B >: Int](op: (B, B) => B): B
Сводит элементы этой коллекции, используя заданный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
- B
Параметр типа для бинарного оператора, надтип
A.- op
Бинарный оператор, который должен быть ассоциативным.
- returns
Результат применения оператора reduce
opмежду всеми элементами, если коллекция не пустая.
- Definition Classes
- IterableOnceOps
- 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
- IterableOnceOps
- Exceptions thrown
UnsupportedOperationExceptionесли эта коллекция пуста.
def reduceLeftOption[B >: Int](op: (B, Int) => B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этой коллекции слева направо.
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип коллекции не упорядочен или оператор не ассоциативен и не коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
опциональное значение, содержащее результат
reduceLeft(op), если эта коллекция не пуста,Noneв противном случае.
- Definition Classes
- IterableOnceOps
def reduceOption[B >: Int](op: (B, B) => B): Option[B]
Сводит элементы этой коллекции, если таковые имеются, с помощью указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
- B
Параметр типа для бинарного оператора, надтипом
A.- op
Бинарный оператор, который должен быть ассоциативным.
- returns
Значение типа Option, содержащее результат применения оператора reduce к всем элементам, если коллекция не пуста, и
Noneв противном случае.
- Definition Classes
- IterableOnceOps
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
- IterableOnceOps
- Exceptions thrown
UnsupportedOperationException, если эта коллекция пуста.
def reduceRightOption[B >: Int](op: (Int, B) => B): Option[B]
Применительно к этой коллекции бинарный оператор к всем элементам, справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
значение типа Option, содержащее результат применения оператора, если эта коллекция не пуста,
Noneиначе.
- Definition Classes
- IterableOnceOps
final def reverse: Range
Возвращает обратный порядок элементов этого диапазона.
- returns
Новый диапазон с элементами исходного диапазона в обратном порядке.
- Definition Classes
- Range → IndexedSeqOps → SeqOps
def reverseIterator: Iterator[Int]
Итератор, возвращающий элементы в обратном порядке.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: xs.reverseIterator эквивалентен xs.reverse.iterator, но может быть более эффективным.
- returns
итератор, возвращающий элементы этой последовательности в обратном порядке
- Definition Classes
- IndexedSeqOps → SeqOps
def reversed: collection.Iterable[Int]
- Атрибуты
- protected
- Definition Classes
- IndexedSeqOps → IterableOnceOps
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
функция действия
- returns
функция, которая отображает аргументы
xвisDefinedAt(x). Результирующая функция выполняетaction(this(x))там, гдеthisопределена.
- Definition Classes
- PartialFunction
- Since
2.10
- См. также
applyOrElse.
def sameElements[B >: Int](that: scala.IterableOnce[B]): Boolean
Являются ли элементы этого набора одинаковыми (и в том же порядке), что и элементы that?
- Definition Classes
- Range → IndexedSeq → SeqOps
def scan[B >: Int](z: B)(op: (B, B) => B): IndexedSeq[B]
Вычисляет префиксное сканирование элементов коллекции.
Примечание: нейтральный элемент z может применяться более одного раза.
- B
тип элементов результирующей коллекции
- z
нейтральный элемент для оператора
op- op
ассоциативный оператор для сканирования
- returns
новая итерируемая коллекция, содержащая префиксное сканирование элементов в этой итерируемой коллекции
- Definition Classes
- IterableOps
def scanLeft[B](z: B)(op: (B, Int) => B): IndexedSeq[B]
Производит итерируемую коллекцию, содержащую кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- B
тип элементов в результирующей коллекции
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- returns
коллекция с промежуточными результатами
- Definition Classes
- StrictOptimizedIterableOps → IterableOps → IterableOnceOps
- Note
Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только тот итератор, который был возвращен. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе также.
def scanRight[B](z: B)(op: (Int, B) => B): IndexedSeq[B]
Создаёт коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Головным элементом коллекции является последний кумулятивный результат.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
Примечание: даже при применении к представлению или ленивой коллекции она всегда принудительно вычисляет элементы.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
- B
тип элементов в результирующей коллекции
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- returns
коллекция с промежуточными результатами
- Definition Classes
- IterableOps
def search[B >: Int](elem: B, from: Int, to: Int)(implicit ord: math.Ordering[B]): SearchResult
Поиск в интервале в этом отсортированном последовательности определённого элемента. Если эта последовательность является IndexedSeq, используется двоичный поиск. В противном случае используется линейный поиск.
Последовательность должна быть отсортирована с использованием того же Ordering перед вызовом; в противном случае результаты не определены.
- elem
элемент для поиска.
- from
индекс, с которого начинается поиск.
- to
индекс, следующий за тем, где поиск заканчивается.
- ord
упорядочение, используемое для сравнения элементов.
- returns
значение
Found, содержащее индекс, соответствующий элементу в последовательности, илиInsertionPoint, где элемент был бы вставлен, если элемент не содержится в последовательности.
- Definition Classes
- IndexedSeqOps → SeqOps
- Note
если
to <= from, пространство поиска пусто, и возвращаетсяInsertionPointпо адресуfrom- See also
-
scala.collection.SeqOps, метод
sorted
def search[B >: Int](elem: B)(implicit ord: math.Ordering[B]): SearchResult
Поиск заданного элемента в этом отсортированном массиве. Если массив является IndexedSeq, используется бинарный поиск. В противном случае используется линейный поиск.
Массив должен быть отсортирован с использованием того же Ordering перед вызовом; в противном случае результаты не определены.
- elem
элемент для поиска.
- ord
порядок, используемый для сравнения элементов.
- returns
значение
Found, содержащее индекс, соответствующий элементу в массиве, илиInsertionPoint, где элемент был бы вставлен, если элемент не находится в массиве.
- Definition Classes
- IndexedSeqOps → SeqOps
- See also
-
scala.collection.SeqOps, метод
sorted
def segmentLength(p: (Int) => Boolean, from: Int): Int
Вычисляет длину самой длинной последовательности, элементы которой удовлетворяют заданному предикату.
Примечание: может не завершаться для коллекций бесконечного размера.
- p
предикат, используемый для проверки элементов.
- from
индекс, с которого начинается поиск.
- returns
длина самой длинной последовательности в этом массиве, начинающейся с индекса
from, где каждый элемент удовлетворяет предикатуp.
- Definition Classes
- SeqOps
final def segmentLength(p: (Int) => Boolean): Int
Вычисляет длину самой длинной последовательности, элементы которой удовлетворяют заданному предикату.
Примечание: может не завершаться для коллекций бесконечного размера.
- p
предикат, используемый для проверки элементов.
- returns
длина самой длинной последовательности в этом массиве, где каждый элемент удовлетворяет предикату
p.
- Definition Classes
- SeqOps
final def size: Int
Размер этой последовательности.
Примечание: не будет завершаться для коллекций бесконечного размера.
- возвращает
количество элементов в этой последовательности.
- Определяющие классы
- SeqOps → IterableOnceOps
final def sizeCompare(that: collection.Iterable[_]): Int
Сравнивает размер этой последовательности с размером другой Iterable.
- that
другая
Iterable, размер которой сравнивается с размером этой последовательности.- возвращает
-
Значение
x, гдеx < 0 if this.size < that.size x == 0 if this.size == that.size x > 0 if this.size > that.size
Этот метод, как реализован здесь, не вызывает
sizeнапрямую; его время выполнения составляетO(this.size min that.size)вместоO(this.size + that.size). Метод следует переопределить, если вычислениеsizeявляется быстрым, иknownSizeвозвращает-1.
- Определяющие классы
- SeqOps → IterableOps
final def sizeCompare(otherSize: Int): Int
Сравнивает размер этой последовательности со значением.
- otherSize
тестовое значение, которое сравнивается с размером.
- возвращает
-
Значение
x, гдеx < 0 if this.size < otherSize x == 0 if this.size == otherSize x > 0 if this.size > otherSize
Этот метод, как реализован здесь, не вызывает
sizeнапрямую; его время выполнения составляетO(size min otherSize)вместоO(size). Метод следует переопределить, если вычислениеsizeявляется быстрым, иknownSizeвозвращает-1.
- Определяющие классы
- SeqOps → IterableOps
- См. также
final def sizeIs: SizeCompareOps
Возвращает класс-значение, содержащий операции для сравнения размера этой итерируемой коллекции со значением.
Эти операции реализуются с помощью sizeCompare(Int) и позволяют использовать следующие более читабельные выражения:
this.sizeIs < size // this.sizeCompare(size) < 0 this.sizeIs <= size // this.sizeCompare(size) <= 0 this.sizeIs == size // this.sizeCompare(size) == 0 this.sizeIs != size // this.sizeCompare(size) != 0 this.sizeIs >= size // this.sizeCompare(size) >= 0 this.sizeIs > size // this.sizeCompare(size) > 0
- Определяющие классы
- IterableOps
- Аннотации
- @inline()
final def slice(from: Int, until: Int): Range
Создаёт новый диапазон, содержащий элементы, начиная с from и до, но не включая until.
Примечание: этот метод не использует билдеры для построения нового диапазона и его сложность составляет O(1).
- from
элемент, с которого нужно начать
- until
элемент, на котором нужно закончить (не включён в диапазон)
- returns
новый диапазон, состоящий из непрерывного интервала значений в старом диапазоне
- Definition Classes
- Range → IndexedSeqOps → IndexedSeqOps → IterableOps → IterableOnceOps
def sliding(size: Int, step: Int): Iterator[IndexedSeq[Int]]
Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» по ним (в отличие от разбиения, как это делается в grouped.)
- size
количество элементов в группе
- step
расстояние между первыми элементами последовательных групп
- returns
Итератор, генерирующий итерируемые коллекции размером
size, за исключением последнего элемента (который может быть единственным), который будет усечён, если оставшихся элементов для группировки меньшеsize.
- Definition Classes
- IterableOps
- See also
scala.collection.Iterator, метод
sliding
def sliding(size: Int): Iterator[IndexedSeq[Int]]
Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» по ним (в отличие от разбиения, как это делается в grouped.) Шаг «скользящего окна» установлен в единицу.
- size
количество элементов в группе
- returns
Итератор, генерирующий итерируемые коллекции размером
size, за исключением последнего элемента (который может быть единственным), который будет усечён, если оставшихся элементов для группировки меньшеsize.
- Definition Classes
- IterableOps
- See also
scala.collection.Iterator, метод
sliding
def sortBy[B](f: (Int) => B)(implicit ord: Ordering[B]): IndexedSeq[Int]
Сортирует эту последовательность в соответствии с порядком, полученным в результате преобразования неявно заданного порядка с помощью функции преобразования.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
Сортировка стабильна. То есть элементы, которые равны (как определяется ord.compare), отображаются в том же порядке в отсортированной последовательности, что и в исходной.
- B
целевой тип преобразования
f, и тип, где определен порядокord.- f
функция преобразования, сопоставляющая элементы с другой областью
B.- ord
порядок, предполагаемый в области
B.- returns
последовательность, состоящая из элементов этой последовательности, отсортированных в соответствии с порядком, где
x < yеслиord.lt(f(x), f(y)).
- Definition Classes
- SeqOps
- См. также
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
- SeqOps
List("Steve", "Tom", "John", "Bob").sortWith(_.compareTo(_) < 0) =
List("Bob", "John", "Steve", "Tom")
def sorted[B >: Int](implicit ord: Ordering[B]): IndexedSeq[Int]
Сортирует этот диапазон в соответствии с Ordering.
Сортировка является стабильной. То есть элементы, которые равны (как определено ord.compare), появляются в том же порядке в отсортированной последовательности, что и в исходной.
- ord
упорядочение, используемое для сравнения элементов.
- returns
диапазон, состоящий из элементов этого диапазона, отсортированных в соответствии с упорядочением
ord.
- Definition Classes
- Range → StrictOptimizedSeqOps → SeqOps
- См. также
scala.math.Ordering Примечание: даже когда применяется к представлению или ленивому набору, он всегда принуждает элементы.
final def span(p: (Int) => Boolean): (Range, Range)
Разделяет этот диапазон на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
- p
предикат проверки
- returns
пара, состоящая из самого длинного префикса этого диапазона, элементы которого удовлетворяют
p, и остальная часть этого диапазона.
- Definition Classes
- Range → StrictOptimizedIterableOps → IterableOps → IterableOnceOps
- Примечание
Повторное использование: после вызова этого метода следует отбросить итератор, на котором он был вызван, и использовать только возвращенные итераторы. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новых итераторах также.
final def splitAt(n: Int): (Range, Range)
Разделяет этот диапазон на пару префикс/суффикс в заданной позиции.
Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
- n
позиция разделения.
- returns
пара диапазонов, состоящая из первых
nэлементов этого диапазона и других элементов.
- Definition Classes
- Range → IterableOps → IterableOnceOps
- Примечание
Повторное использование: после вызова этого метода следует отбросить итератор, на котором он был вызван, и использовать только возвращенные итераторы. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новых итераторах также.
val start: Int
def startsWith[B >: Int](that: IterableOnce[B], offset: Int = 0): Boolean
Проверяет, содержит ли эта последовательность заданную последовательность в заданном индексе.
Примечание: Если оба получаемого объекта this и аргумент that являются бесконечными последовательностями, этот метод может не завершиться.
- that
Последовательность для проверки
- offset
Индекс, где ищется последовательность.
- returns
trueесли последовательностьthatсодержится в этой последовательности в индексеoffset, иначеfalse.
- Definition Classes
- SeqOps
val step: Int
final def stepper[S <: Stepper[_]](implicit shape: StepperShape[Int, S]): S with EfficientSplit
Возвращает Stepper для элементов этой коллекции.
Stepper позволяет создать поток Java для работы с коллекцией, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, Stepper может использоваться как итератор, который не упаковывает элементы.
Неявный параметр StepperShape определяет тип возвращаемого Stepper в соответствии с типом элементов этой коллекции.
-
Для коллекций
Int, Short, Byte или Char, возвращается IntStepper.Для коллекций Double или Float, возвращается DoubleStepper.Для коллекций Long, возвращается LongStepper.Для любого другого типа элементов, возвращается AnyStepper.
Обратите внимание, что этот метод переопределён в подклассах, и тип возвращаемого значения уточняется до S with EfficientSplit, например IndexedSeqOps.stepper. Для Stepper, помеченных scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, тогда как обычные Steppers могут быть преобразованы только в последовательные потоки.
- Definition Classes
- Range → IndexedSeqOps → IterableOnce
final def strictOptimizedCollect[B, C2](b: Builder[B, C2], pf: PartialFunction[Int, B]): C2
- B
Тип элементов результирующей коллекции (например,
String)- C2
Тип результирующей коллекции (например,
List[String])- b
Библиотека для построения результирующей коллекции
- pf
Частичная функция преобразования элемента
- returns
Результирующая коллекция
- Attributes
- protected[this]
- Definition Classes
- StrictOptimizedIterableOps
- Annotations
- @inline()
final def strictOptimizedConcat[B >: Int, C2](that: IterableOnce[B], b: Builder[B, C2]): C2
- B
Тип элементов результирующих коллекций (например,
Int)- C2
Тип результирующей коллекции (например,
List[Int])- that
Элементы для конкатенации с этой коллекцией
- b
Библиотека для построения результирующей коллекции
- returns
Результирующая коллекция
- Attributes
- protected[this]
- Definition Classes
- StrictOptimizedIterableOps
- Annotations
- @inline()
final def strictOptimizedFlatMap[B, C2](b: Builder[B, C2], f: (Int) => IterableOnce[B]): C2
- B
Тип элементов результирующей коллекции (например,
String)- C2
Тип результирующей коллекции (например,
List[String])- b
Библиотека для построения результирующей коллекции
- f
Функция преобразования элемента
- returns
Результирующая коллекция
- Attributes
- protected[this]
- Definition Classes
- StrictOptimizedIterableOps
- Annotations
- @inline()
final def strictOptimizedFlatten[B, C2](b: Builder[B, C2])(implicit toIterableOnce: (Int) => IterableOnce[B]): C2
- B
Тип элементов результирующего набора (например,
Int)- C2
Тип результирующего набора (например,
List[Int])- b
Используемый для построения результирующего набора конструктор
- toIterableOnce
Доказательство того, что
Aможет рассматриваться какIterableOnce[B]- returns
Результирующий набор
- Атрибуты
- protected[this]
- Определяющие классы
- StrictOptimizedIterableOps
- Аннотации
- @inline()
final def strictOptimizedMap[B, C2](b: Builder[B, C2], f: (Int) => B): C2
- B
Тип элементов результирующего набора (например,
String)- C2
Тип результирующего набора (например,
List[String])- b
Конструктор для построения результирующего набора
- f
Функция преобразования элементов
- returns
Результирующий набор
- Атрибуты
- protected[this]
- Определяющие классы
- StrictOptimizedIterableOps
- Аннотации
- @inline()
final def strictOptimizedZip[B, C2](that: IterableOnce[B], b: Builder[(Int, B), C2]): C2
- B
Тип элементов второго набора (например,
String)- C2
Тип результирующего набора (например,
List[(Int, String)])- that
Набор для объединения с этим набором
- b
Конструктор для построения результирующего набора
- returns
Результирующий набор
- Атрибуты
- protected[this]
- Определяющие классы
- StrictOptimizedIterableOps
- Аннотации
- @inline()
def stringPrefix: String
- Атрибуты
- protected[this]
- Классы-определения
- IndexedSeq → Seq → Iterable
- Аннотации
- @deprecatedOverriding("Совместимое переопределение", "2.13.0")
final def sum[B >: Int](implicit num: Numeric[B]): Int
Суммирует элементы этого набора.
- B
тип результата операции
+.- num
явный параметр, определяющий набор числовых операций, включающий операцию
+, используемую при формировании суммы.- возвращает
сумма всех элементов этого диапазона относительно операции
+вnum.
- Классы-определения
- Range → IterableOnceOps
final def synchronized[T0](arg0: => T0): T0
- Классы-определения
- AnyRef
final def tail: Range
Создаёт новый диапазон, содержащий все элементы данного диапазона, кроме первого.
Примечание: этот метод не использует билдеры для построения нового диапазона, и его сложность — O(1).
- возвращает
новый диапазон, состоящий из всех элементов данного диапазона, кроме первого.
- Классы-определения
- Range → IterableOps
def tails: Iterator[Range]
Итерируется по хвостам данного диапазона. Первое значение будет этим диапазоном, а последнее — пустым диапазоном, а промежуточные значения будут результатами последовательных применений tail.
- возвращает
итератор по всем хвостам данного диапазона
- Классы-определения
- Range → IterableOps
List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)
final def take(n: Int): Range
Создаёт новый диапазон, содержащий первые n элементы этого диапазона.
- n
количество элементов для взятия.
- returns
новый диапазон, состоящий из первых
nэлементов.
- Definition Classes
- Range → IndexedSeqOps → IterableOps → IterableOnceOps
final def takeRight(n: Int): Range
Создаёт новый диапазон, состоящий из последних n элементов диапазона.
Примечание: этот метод не использует билдеры для построения нового диапазона, и его сложность составляет O(1).
- n
количество элементов для взятия из этого диапазона.
- returns
диапазон, содержащий только последние
nэлементы этого диапазона, или весь диапазон, если он содержит меньшеnэлементов. Еслиnотрицательное, возвращает пустой диапазон.
- Definition Classes
- Range → StrictOptimizedIterableOps → IndexedSeqOps → IterableOps
final def takeWhile(p: (Int) => Boolean): Range
Возвращает самую длинную префиксную последовательность элементов, удовлетворяющих предикату.
- p
Предикат, используемый для проверки элементов.
- returns
самая длинная префиксная последовательность этого диапазона, элементы которой удовлетворяют предикату
p.
- Definition Classes
- Range → IterableOps → IterableOnceOps
def tapEach[U](f: (Int) => U): IndexedSeq[Int]
Применяет функцию с побочным эффектом к каждому элементу в этом наборе. Строгие наборы применят f к своим элементам немедленно, в то время как ленивые наборы, такие как Views и LazyLists, будут применять f только к каждому элементу, если и когда этот элемент будет вычисляться, и каждый раз, когда этот элемент будет вычисляться.
- U
тип возвращаемого значения f
- f
функция, которая будет применена к каждому элементу в этом итерируемом наборе
- returns
Тот же логический набор, что и этот
- Definition Classes
- StrictOptimizedIterableOps → IterableOps → IterableOnceOps
def to[C1](factory: Factory[Int, C1]): C1
Используя фабрику наборов factory, преобразуйте этот набор в соответствующее представление для текущего типа элементов A. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
- Definition Classes
- IterableOnceOps
def toArray[B >: Int](implicit arg0: ClassTag[B]): Array[B]
Преобразовать набор в массив.
- Definition Classes
- IterableOnceOps
final def toBuffer[B >: Int]: Buffer[B]
- Definition Classes
- IterableOnceOps
- Annotations
- @inline()
final def toIndexedSeq: IndexedSeq[Int]
- Definition Classes
- IndexedSeq → IterableOnceOps
final def toIterable: Range.this.type
- returns
Этот набор как
Iterable[A]. Новый набор не будет создан, еслиthisуже являетсяIterable[A].
- Definition Classes
- Iterable → IterableOps
def toList: List[Int]
- Definition Classes
- IterableOnceOps
def toMap[K, V](implicit ev: <:<[Int, (K, V)]): Map[K, V]
- Definition Classes
- IterableOnceOps
final def toSeq: Range.this.type
- returns
Этот набор как
Seq[A]. Это эквивалентноto(Seq), но может быть быстрее.
- Definition Classes
- Seq → IterableOnceOps
def toSet[B >: Int]: Set[B]
- Definition Classes
- IterableOnceOps
final def toString(): String
Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.
- returns
строковое представление объекта.
def toVector: Vector[Int]
- Definition Classes
- IterableOnceOps
def transpose[B](implicit asIterable: (Int) => collection.Iterable[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
тип элементов каждого итерируемого множества.
- asIterable
явное преобразование, которое утверждает, что тип элементов этого итерируемого множества является
Iterable.- returns
двумерное итерируемое множество итерируемых множеств, где n-я строка соответствует n-му столбцу этого итерируемого множества.
- Definition Classes
- IterableOps
- Exceptions thrown
IllegalArgumentExceptionесли все множества в этом итерируемом множестве не имеют одинаковый размер.
def unapply(a: Int): Option[Int]
Попытка извлечь B из A в выражении сопоставления с образцом.
- Definition Classes
- PartialFunction
def unzip[A1, A2](implicit asPair: (Int) => (A1, A2)): (IndexedSeq[A1], IndexedSeq[A2])
Преобразует это итерируемое множество пар в два множества первой и второй половины каждой пары.
val xs = Iterable(
(1, "one"),
(2, "two"),
(3, "three")).unzip
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
- A1
тип первой половины элементов пар
- A2
тип второй половины элементов пар
- asPair
явное преобразование, которое утверждает, что тип элементов этого итерируемого множества является парой.
- returns
пара итерируемых множеств, содержащая первую и соответственно вторую половину каждой пары элементов этого итерируемого множества.
- Definition Classes
- StrictOptimizedIterableOps → IterableOps
def unzip3[A1, A2, A3](implicit asTriple: (Int) => (A1, A2, A3)): (IndexedSeq[A1], IndexedSeq[A2], IndexedSeq[A3])
Преобразует этот итерируемый набор троек в три коллекции первого, второго и третьего элемента каждой тройки.
val xs = Iterable(
(1, "one", '1'),
(2, "two", '2'),
(3, "three", '3')).unzip3
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three),
// Iterable(1, 2, 3))
- A1
тип первого члена элементов троек
- A2
тип второго члена элементов троек
- A3
тип третьего члена элементов троек
- asTriple
явное преобразование, которое утверждает, что тип элемента этого итерируемого набора - тройка.
- returns
тройка итерируемых коллекций, содержащих первый, второй и соответственно третий член каждой тройки элементов этого итерируемого набора.
- Definition Classes
- StrictOptimizedIterableOps → IterableOps
def updated[B >: Int](index: Int, elem: B): IndexedSeq[B]
Копия этого неизменяемого последовательности с одним изменённым элементом.
- B
тип элемента возвращаемой неизменяемой последовательности.
- index
позиция замены
- elem
элемент замены
- returns
новая неизменяемая последовательность, которая является копией этой неизменяемой последовательности с элементом в позиции
indexзаменённым наelem.
- Definition Classes
- StrictOptimizedSeqOps → SeqOps
- Exceptions thrown
IndexOutOfBoundsException, еслиindexне удовлетворяет0 <= index < length. В случае ленивой коллекции это исключение может быть выброшено позднее или вообще не выброшено (если конец коллекции никогда не оценивается).
def view: IndexedSeqView[Int]
Просмотр элементов этого набора.
- Классы определений
- IndexedSeqOps → SeqOps → IterableOps
final def wait(): Unit
- Классы определений
- AnyRef
- Аннотации
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long, arg1: Int): Unit
- Классы определений
- AnyRef
- Аннотации
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long): Unit
def withFilter(p: (Int) => Boolean): WithFilter[Int, [_]IndexedSeq[_]]
Создаёт нестрогий фильтр для этого итерируемого набора.
Примечание: различие между c filter p и c withFilter p заключается в том, что первый создаёт новый набор, а второй только ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.
Примечание: результаты могут отличаться при разных запусках, если тип основного набора не упорядочен.
- p
предикат, используемый для проверки элементов.
- returns
объект класса
WithFilter, который поддерживаетmap,flatMap,foreach, иwithFilterоперации. Все эти операции применяются к тем элементам этого итерируемого набора, которые удовлетворяют предикатуp.
- Классы определений
- IterableOps
def zip[B](that: IterableOnce[B]): IndexedSeq[(Int, B)]
Возвращает итерируемую коллекцию, образованную из этой итерируемой коллекции и другой итерируемой коллекции, комбинируя соответствующие элементы в парах. Если одна из двух коллекций длиннее другой, её оставшиеся элементы игнорируются.
- B
тип второй половины возвращаемых пар
- that
Итерируемый объект, предоставляющий вторую половину каждой пары результата
- returns
новая итерируемая коллекция, содержащая пары, состоящие из соответствующих элементов этой итерируемой коллекции и
that. Длина возвращаемой коллекции — минимальная из длин этой итерируемой коллекции иthat.
- Definition Classes
- StrictOptimizedIterableOps → IterableOps
def zipAll[A1 >: Int, B](that: collection.Iterable[B], thisElem: A1, thatElem: B): IndexedSeq[(A1, B)]
Возвращает итерируемую коллекцию, образованную из этой итерируемой коллекции и другой итерируемой коллекции, комбинируя соответствующие элементы в парах. Если одна из двух коллекций короче другой, для расширения короче коллекции до длины большей используются плацехолдеры.
- that
итерируемый объект, предоставляющий вторую половину каждой пары результата
- thisElem
элемент, используемый для заполнения результата, если эта итерируемая коллекция короче
that.- thatElem
элемент, используемый для заполнения результата, если
thatкороче этой итерируемой коллекции.- returns
новая коллекция типа
Thatсодержащая пары, состоящие из соответствующих элементов этой итерируемой коллекции иthat. Длина возвращаемой коллекции — максимальная из длин этой итерируемой коллекции иthat. Если эта итерируемая коллекция корочеthat, значенияthisElemиспользуются для дополнения результата. Еслиthatкороче этой итерируемой коллекции, значенияthatElemиспользуются для дополнения результата.
- Definition Classes
- IterableOps
def zipWithIndex: IndexedSeq[(Int, Int)]
Компонует эту итерируемую коллекцию со своими индексами.
- returns
Новая итерируемая коллекция, содержащая пары, состоящие из всех элементов этой итерируемой коллекции, связанных с их индексом. Индексы начинаются с
0.
- Классы-определения
- StrictOptimizedIterableOps → IterableOps → IterableOnceOps
- Примечание
Переиспользование: После вызова этого метода следует отказаться от итератора, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе также.
List("a", "b", "c").zipWithIndex == List(("a", 0), ("b", 1), ("c", 2))
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/collection/immutable/Range.html
Класс
Rangeпредставляет целые значения в диапазоне [start;end) с ненулевым шагомstep. Это особый случай индексированного последовательности. Например:Диапазоны, содержащие более чем
Int.MaxValueэлементов, могут быть созданы, но эти избыточные диапазоны имеют ограниченные возможности. Любой метод, который может потребовать создания коллекции длиной болееInt.MaxValueили может быть запрошен для индексации за пределамиInt.MaxValueэлементов, выбросит исключение. Избыточные диапазоны могут быть безопасно уменьшены в размерах путем изменения размера шага (например,by 3) или взятия/удаления элементов.contains,equals, и доступ к концам диапазона (head,last,tail,init) также разрешены для избыточных диапазонов.