Класс NumericRange.Exclusive
| Суператрибуты | 28 типов |
|---|
Конкретные методы
Исходный код
Создаёт копию этого диапазона.
| Классы определения | NumericRange |
|---|
Исходный код
Унаследованные методы
Исходный код
final def ++[B >: T](suffix: IterableOnce[B]): CC[B]
Псевдоним для concat
| Унаследованно от | IterableOps |
|---|
Исходный код
final override def ++:[B >: T](prefix: IterableOnce[B]): CC[B]
Псевдоним для prependedAll
| Классы определения | SeqOps -> IterableOps |
|---|---|
| Унаследованно от | SeqOps |
Исходный код
final def +:[B >: T](elem: B): CC[B]
Псевдоним для prepended. Обратите внимание, что операторы с окончанием :- ассоциативны справа (см. пример). Мемоник для +: против :+: двоеточие ставится со стороны коллекции.
| Унаследованно от | SeqOps |
|---|
Исходный код
final def :+[B >: T](elem: B): CC[B]
Псевдоним для appended. Обратите внимание, что операторы с окончанием :- ассоциативны справа (см. пример). Мемоник для +: против :+: двоеточие ставится со стороны коллекции.
| Унаследованно от | SeqOps |
|---|
Исходный код
final def :++[B >: T](suffix: IterableOnce[B]): CC[B]
Псевдоним для appendedAll
| Унаследованно от | SeqOps |
|---|
Исходный код
Добавляет все элементы этой коллекции в строковый буфер. Записываемый текст состоит из строковых представлений (относительно метода 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
| Параметры значения |
|
|---|---|
| Возвращает | строковый буфер |
| Унаследованно от | IterableOnceOps |
Исходный код
Добавляет все элементы этой коллекции в строковый буфер с разделительной строкой. Записываемый текст состоит из строковых представлений (относительно метода 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
| Параметры значения |
|
|---|---|
| Возвращает | строковый буфер |
| Унаследованно от | IterableOnceOps |
Исходный код
Добавляет все элементы этой коллекции в строковый буфер с начальной, конечной и разделительной строками. Записываемый текст начинается со строки 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)
| Параметры значения |
|
|---|---|
| Возвращает | строковый буфер |
| Унаследованно от | IterableOnceOps |
Исходный код
Компонует эту частичную функцию с другой частичной функцией, которая применяется к результатам этой частичной функции.
Обратите внимание, что вызов isDefinedAt на полученной частичной функции может применить первую частичную функцию и выполнить её побочный эффект. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения этой частичной функции, суженной другой частичной функцией, которая отображает аргументы |
| Унаследовано от | PartialFunction |
Источник
override def andThen[C](k: T => C): PartialFunction[A, C]
Компонует эту частичную функцию с функцией преобразования, которая применяется к результатам этой частичной функции.
Если тип функции в момент выполнения является PartialFunction, то используется другой метод andThen (обратите внимание на его предостережения).
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения этой частичной функции, возможно, суженной указанной функцией, которая отображает аргументы |
| Классы-предки | PartialFunction -> Function1 |
| Унаследовано от | PartialFunction |
Источник
override def appended[B >: T](elem: B): CC[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)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности, за которыми следует |
| Классы-предки | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
override def appendedAll[B >: T](suffix: IterableOnce[B]): CC[B]
Возвращает новую последовательность, содержащую элементы левого операнда, за которыми следуют элементы правого операнда. Тип элемента последовательности — наиболее специфический суперкласс, охватывающий типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая коллекция типа |
| Классы-предки | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
Получение элемента по указанному индексу. Эта операция предоставлена для удобства в Seq. Не следует предполагать, что она эффективна, если у вас нет IndexedSeq.
| Унаследовано от | NumericRange |
|---|
Источник
def applyOrElse[A1 <: Int, B1 >: T](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. Это может привести к лучшей производительности и более предсказуемому поведению относительно побочных эффектов.
| Параметры значения |
|
|---|---|
| Возвращает | результат применения этой функции или функции-обработчика. |
| Унаследовано от | PartialFunction |
Источник
def by(newStep: T): NumericRange[T]
Создаёт новый диапазон с начальным и конечным значениями этого диапазона и новым step.
| Унаследовано от | NumericRange |
|---|
Источник
Метод, который должен вызываться из каждой хорошо спроектированной функции equals, открытой для переопределения в подклассе. См. Programming in Scala, Глава 28 для обсуждения и проектирования.
| Параметры значения |
|
|---|---|
| Возвращает | true, если этот экземпляр может быть равен |
| Классы-предки | IndexedSeq -> Seq -> Equals |
| Унаследовано от | IndexedSeq |
Источник
override def collect[B](pf: PartialFunction[T, B]): CC[B]
Строит новую итерируемую коллекцию, применяя частичную функцию ко всем элементам этой итерируемой коллекции, для которых функция определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, полученная путём применения заданной частичной функции |
| Классы-предки | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | значение опции, содержащей pf, примененной к первому значению, для которого она определена, или |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Итерация по комбинациям. _Комбинация_ длины n — это подпоследовательность исходной последовательности, элементы которой взяты в порядке. Таким образом, "xy" и "yy" — это комбинации длины 2 последовательности "xyy", но "yx" — нет. Если существует более одного способа сгенерировать одну и ту же подпоследовательность, будет возвращена только одна.
Например, "xyyy" имеет три различных способа генерации "xy" в зависимости от того, какой элемент "y" выбран первым, вторым или третьим. Однако, поскольку все они идентичны, будет выбран только один. Какой из трех будет выбран, является деталью реализации, которая не определена.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Возвращаемое значение | Итератор, который проходит по возможным n-элементным комбинациям этой последовательности. |
|---|---|
| Пример |
|
| Унаследовано от | SeqOps |
Источник
Компонует другую частичную функцию k с этой частичной функцией таким образом, что эта частичная функция применяется к результатам k.
Обратите внимание, что вызов isDefinedAt на результирующей частичной функции может применить первую частичную функцию и выполнить ее побочный эффект. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | частичная функция с областью определения другой частичной функции, суженной этой частичной функцией, которая отображает аргументы |
| Унаследовано от | PartialFunction |
Источник
Компонует две экземпляры Function1 в новую Function1, с этой функцией, применяемой последней.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | новая функция |
| Унаследовано от | Function1 |
Источник
final override def concat[B >: T](suffix: IterableOnce[B]): CC[B]
Возвращает новую последовательность, содержащую элементы левого операнда, за которыми следуют элементы правого операнда. Тип элементов последовательности — это наиболее специфичный суперкласс, охватывающий типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | новая последовательность, которая содержит все элементы этой последовательности, за которыми следуют все элементы |
| Классы определения | SeqOps -> IterableOps |
| Унаследовано от | SeqOps |
Источник
Проверяет, содержит ли этот числовой диапазон заданное значение в качестве элемента.
| Параметры значения |
|
|---|---|
| Возвращаемое значение |
|
| Классы определения | NumericRange -> SeqOps |
| Унаследовано от | NumericRange |
Источник
Проверяет, содержит ли эта последовательность заданную последовательность в качестве среза.
Примечание: может не завершиться для бесконечно больших коллекций.
| Параметры значения |
|
|---|---|
| Возвращаемое значение |
|
| Унаследовано от | SeqOps |
Источник
def containsTyped(x: T): Boolean
| Унаследовано от | NumericRange |
|---|
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет данный массив xs начиная с индекса start не более чем len элементами этой коллекции.
Копирование завершается, когда либо скопированы все элементы этой коллекции, либо достигнут конец массива, либо скопировано len элементов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода итератор, на котором он был вызван, следует удалить. Использование его не определено и может быть изменено. |
| Унаследовано от | IterableOnceOps |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет данный массив xs начиная с индекса start значениями этой коллекции.
Копирование завершается, когда либо скопированы все элементы этой коллекции, либо достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода итератор, на котором он был вызван, следует удалить. Использование его не определено и может быть изменено. |
| Унаследовано от | IterableOnceOps |
Источник
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями этого набора.
Копирование прекращается, как только будут скопированы все элементы этого набора или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Повторное использование: после вызова этого метода итератор, на котором он был вызван, следует удалить. Использование его в дальнейшем неопределенно и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, соответствует ли каждый элемент итератора этого набора соответствующему элементу другого набора, удовлетворяя условию предиката.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, соответствует ли каждый элемент этой последовательности соответствующему элементу другой последовательности, удовлетворяя условию предиката.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Унаследовано от | SeqOps |
Источник
Подсчитывает количество элементов в коллекции, удовлетворяющих предикату.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Источник
Вычисляет разность мультимножеств между этой последовательностью и другой последовательностью.
| Параметры значения |
|
|---|---|
| Возвращает | новая последовательность, которая содержит все элементы этой последовательности, за исключением некоторых вхождений элементов, которые также появляются в |
| Классы-определения | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
def distinct: C
Выбирает все элементы этой последовательности, игнорируя дубликаты.
| Возвращает | новую последовательность, состоящую из всех элементов этой последовательности без дубликатов. |
|---|---|
| Унаследовано от | SeqOps |
Источник
override def distinctBy[B](f: T => B): C
Выбирает все элементы этой последовательности, игнорируя дубликаты, как определено ==, после применения преобразующей функции f.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новую последовательность, состоящую из всех элементов этой последовательности без дубликатов. |
| Классы определений | StrictOptimizedSeqOps -> StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
Выбирает все элементы, кроме первых n.
| Параметры значения |
|
|---|---|
| Возвращает | числовой диапазон, состоящий из всех элементов этого числового диапазона, кроме первых |
| Классы определений | NumericRange -> IndexedSeqOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | NumericRange |
Источник
Остальная часть коллекции без её n последних элементов. Для линейных неизменяемых коллекций это должно избегать создания копии.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Классы определений | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Удаляет самую длинную префиксную последовательность элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | самое длинное постфиксное подмножество этой итерируемой коллекции, первый элемент которого не удовлетворяет предикату |
| Унаследовано от | IterableOps |
Источник
def elementWise: ElementWiseExtractor[A, B]
Возвращает объект-экстрактор с методом unapplySeq, который извлекает каждый элемент данных последовательности.
| Пример |
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
}
|
|---|---|
| Унаследовано от | PartialFunction |
Источник
override def empty: CC[A]
Пустой итерируемый объект того же типа, что и этот итерируемый объект
| Возвращает | пустой итерируемый объект типа |
|---|---|
| Определяющие классы | IterableFactoryDefaults -> IterableOps |
| Унаследовано от | IterableFactoryDefaults |
Источник
Проверяет, заканчивается ли эта последовательность данной последовательностью.
Примечание: для бесконечных коллекций выполнение не завершится.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Источник
Универсальный метод равенства, определенный в AnyRef.
| Определяющие классы | NumericRange -> Seq -> Equals -> Any |
|---|---|
| Унаследовано от | NumericRange |
Источник
Проверяет, выполняется ли предикат хотя бы для одного элемента этой коллекции.
Примечание: для бесконечных коллекций выполнение может не завершиться.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Выбирает все элементы этой итерируемой коллекции, удовлетворяющие предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новая итерируемая коллекция, содержащая все элементы этой итерируемой коллекции, удовлетворяющие заданному предикату |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Выбирает все элементы этой итерируемой коллекции, не удовлетворяющие предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новая итерируемая коллекция, содержащая все элементы этой итерируемой коллекции, не удовлетворяющие заданному предикату |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Находит первый элемент коллекции, удовлетворяющий предикату, если таковой существует.
Примечание: для бесконечных коллекций выполнение может не завершиться.
Примечание: могут быть получены разные результаты при разных запусках, если тип базовой коллекции не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | значение Option, содержащее первый элемент в коллекции, удовлетворяющий |
| Унаследовано от | IterableOnceOps |
Источник
Находит последний элемент последовательности, удовлетворяющий предикату, если таковой существует.
Примечание: для бесконечных коллекций выполнение не завершится.
| Параметры значения |
|
|---|---|
| Возвращает | значение Option, содержащее последний элемент в последовательности, удовлетворяющий |
| Унаследовано от | SeqOps |
Источник
override def flatMap[B](f: T => IterableOnce[B]): CC[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)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, полученная путём применения заданной функции, принимающей коллекцию |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
override def flatten[B](implicit toIterableOnce: T => IterableOnce[B]): CC[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)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, полученная путём конкатенации всех итерируемых коллекций элементов. |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
def fold[A1 >: T](z: A1)(op: (A1, A1) => A1): A1
Складывает элементы этой коллекции с использованием указанного ассоциативного бинарного оператора. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективного порядка обхода.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Примечание: для бесконечных коллекций выполнение не завершится.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат применения оператора сворачивания |
| Унаследовано от | IterableOnceOps |
Источник
def foldLeft[B](z: B)(op: (B, T) => B): B
Применяет бинарный оператор к начальному значению и всем элементам этого набора, слева направо.
Примечание: не завершит работу для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и не коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Источник
override def foldRight[B](z: B)(op: (T, B) => B): B
Применяет бинарный оператор ко всем элементам этой последовательности и начальному значению, справа налево.
Примечание: не завершит работу для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Классы определения | IndexedSeqOps -> IterableOnceOps |
| Унаследовано от | IndexedSeqOps |
Источник
Проверяет, выполняется ли предикат для всех элементов этого набора.
Примечание: может не завершиться для наборов бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Применяет f к каждому элементу для побочных эффектов. Примечание: параметр [U] необходим для помощи в выводе типов scalac.
| Классы определения | NumericRange -> IterableOnceOps |
|---|---|
| Унаследовано от | NumericRange |
Источник
protected def fromSpecific(coll: IterableOnce[T]): CC[A]
Определяет, как преобразовать данный Iterable[A] в набор типа C.
Этот процесс может быть выполнен строго или нестрого (т. е. без вычисления элементов результирующих наборов). Другими словами, этот метод определяет модель вычисления набора.
| Примечание |
При реализации пользовательского типа набора и уточнении Как показано аннотацией |
|---|---|
| Унаследовано от | IterableFactoryDefaults |
Источник
Разбивает этот итерируемый набор на карту итерируемых наборов в соответствии с функцией-дискриминатором.
Примечание: даже при применении к представлению или ленивому набору он всегда заставляет элементы.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
Карта, сопоставляющая ключи итерируемым наборам, при этом соблюдается следующее инвариантное свойство: (xs groupBy f)(k) = xs filter (x => f(x) == k) То есть, каждый ключ |
| Унаследовано от | IterableOps |
Источник
Разбивает этот итерируемый набор на карту итерируемых наборов в соответствии с функцией-дискриминатором 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)
Примечание: даже при применении к представлению или ленивому набору он всегда заставляет элементы.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Унаследовано от | IterableOps |
Источник
def groupMapReduce[K, B](key: T => K)(f: T => B)(reduce: (B, B) => B): Map[K, B]
Разбивает этот итерируемый набор на карту в соответствии с функцией-дискриминатором key. Все значения, имеющие одинаковый дискриминатор, затем преобразуются функцией f и затем сводятся к одному значению с помощью функции reduce.
Это эквивалентно groupBy(key).mapValues(_.map(f).reduce(reduce)), но более эффективно.
def occurrences[A](as: Seq[A]): Map[A, Int] = as.groupMapReduce(identity)(_ => 1)(_ + _)
Примечание: даже при применении к представлению или ленивому набору он всегда заставляет элементы.
| Унаследовано от | IterableOps |
|---|
Источник
Разбивает элементы на итерируемые наборы фиксированного размера.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые коллекции размера |
| См. также | scala.collection.Iterator, метод |
| Унаследовано от | IterableOps |
Источник
override def head: T
Выбирает первый элемент этого числового диапазона.
| Возвращает | первый элемент этого числового диапазона. |
|---|---|
| Исключения |
|
| Классы определения | NumericRange -> IndexedSeqOps -> IterableOps |
| Унаследовано от | NumericRange |
Источник
override def headOption: Option[A]
Возможная выборка первого элемента.
| Возвращает | первый элемент этой последовательности, если она не пуста, |
|---|---|
| Классы определения | IndexedSeqOps -> IterableOps |
| Унаследовано от | IndexedSeqOps |
Источник
Находит индекс первого вхождения некоторого значения в этой последовательности.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Источник
Находит индекс первого вхождения некоторого значения в этой последовательности после или на некотором начальном индексе.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Источник
Находит первый индекс, где эта последовательность содержит заданную последовательность как срез.
Примечание: для бесконечных коллекций может не завершаться.
| Параметры значения |
|
|---|---|
| Возвращает | первый индекс |
| Унаследовано от | SeqOps |
Источник
Находит первый индекс после или на начальном индексе, где эта последовательность содержит заданную последовательность как срез.
Примечание: для бесконечных коллекций может не завершаться.
| Параметры значения |
|
|---|---|
| Возвращает | первый индекс |
| Унаследовано от | SeqOps |
Источник
Находит индекс первого элемента, удовлетворяющего некоторому предикату.
Примечание: может не завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Исходный код
Находит индекс первого элемента, удовлетворяющего некоторому предикату после или на определенном стартовом индексе.
Примечание: может не завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Исходный код
Создает диапазон всех индексов этой последовательности.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Возвращает | значение |
|---|---|
| Унаследовано от | SeqOps |
Исходный код
override def init: NumericRange[T]
Начальная часть коллекции без её последнего элемента.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Классы определений | NumericRange -> IterableOps |
|---|---|
| Унаследовано от | NumericRange |
Исходный код
Итерируется по начальным частям (inits) этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения — результатом последовательных применений init.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Возвращает | итератор по всем начальным частям (inits) этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Исходный код
Вычисляет пересечение мультимножеств между этой последовательностью и другой последовательностью.
| Параметры значения |
|
|---|---|
| Возвращает | новая последовательность, содержащая все элементы этой последовательности, которые также присутствуют в |
| Классы определения | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
Проверяет, содержит ли эта последовательность заданный индекс.
Реализации методов apply и Seq[A] преобразуют Seq[A] в PartialFunction[Int, A].
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Источник
override def isTraversableAgain: Boolean
Проверяет, может ли эта итерируемая коллекция быть многократно пройдена. Всегда истинно для Iterable и ложно для Iterator, если не переопределено.
| Возвращает |
|
|---|---|
| Классы определения | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Источник
Компаньон-объект этой последовательности, предоставляющий различные методы фабрики.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Классы определения | IndexedSeq -> IndexedSeq -> Seq -> Seq -> Iterable -> Iterable -> IterableOps |
| Унаследовано от | IndexedSeq |
Источник
Итератор может быть использован только один раз
| Классы определения | NumericRange -> IndexedSeqOps -> IterableOnce |
|---|---|
| Унаследовано от | NumericRange |
Источник
| Возвращает | Количество элементов в этой последовательности, если его можно вычислить без проблем, -1 в противном случае. Быстро обычно означает: не требует обхода коллекции. |
|---|---|
| Классы определения | IndexedSeqOps -> IterableOnce |
| Унаследовано от | IndexedSeqOps |
Источник
override def last: T
Выбирает последний элемент.
| Возвращает | Последний элемент этого числового диапазона. |
|---|---|
| Исключение |
|
| Классы определения | NumericRange -> IndexedSeqOps -> IterableOps |
| Унаследовано от | NumericRange |
Источник
Находит индекс последнего вхождения некоторого значения в этой последовательности до или на заданном индексе окончания.
Примечание: для коллекций бесконечного размера не будет завершения.
| Параметры типов |
|
|---|---|
| Параметры значения |
|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Источник
Находит последний индекс, где эта последовательность содержит заданную последовательность как срез.
Примечание: для коллекций бесконечного размера не будет завершения.
| Параметры значения |
|
|---|---|
| Возвращает | последний индекс, такой что элементы этой последовательности, начиная с этого индекса, соответствуют элементам последовательности |
| Унаследовано от | SeqOps |
Источник
Находит последний индекс до или на заданном индексе окончания, где эта последовательность содержит заданную последовательность как срез.
Примечание: для коллекций бесконечного размера не будет завершения.
| Параметры значения |
|
|---|---|
| Возвращает | последний индекс |
| Унаследовано от | SeqOps |
Источник
Находит индекс последнего элемента, удовлетворяющего некоторому предикату.
Примечание: для коллекций бесконечного размера не будет завершения.
| Параметры значения |
|
|---|---|
| Возвращает | индекс последнего элемента этой последовательности, удовлетворяющего предикату |
| Унаследовано от | SeqOps |
Источник
Находит индекс последнего элемента, удовлетворяющего некоторому предикату до или на заданном индексе окончания.
Примечание: для коллекций бесконечного размера не будет завершения.
| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Источник
def lastOption: Option[A]
Необязательно выбирает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Возвращает | последний элемент этой итерируемой коллекции$, если она непустая, |
|---|---|
| Унаследовано от | IterableOps |
Источник
Аналогично 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)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | декоратор |
| Унаследовано от | Iterable |
Источник
Сравнивает длину этого набора с размером другой Iterable.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.length < that.size x == 0 if this.length == that.size x > 0 if this.length > that.size Реализация этого метода не вызывает |
| Классы определений | IndexedSeqOps -> SeqOps |
| Унаследовано от | IndexedSeqOps |
Источник
Сравнивает длину этого набора со значением для проверки.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.length < len x == 0 if this.length == len x > 0 if this.length > len Реализация этого метода не вызывает |
| См. также | |
| Классы определений | IndexedSeqOps -> SeqOps |
| Унаследовано от | IndexedSeqOps |
Источник
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
| Унаследовано от | SeqOps |
|---|
Источник
Преобразует эту частичную функцию в обычную функцию, возвращающую Option результат.
| Возвращает | функцию, принимающую аргумент |
|---|---|
| См. также | Function.unlift |
| Унаследовано от | PartialFunction |
Источник
override def map[B](f: T => B): CC[B]
Создаёт новую итерируемую коллекцию, применяя функцию ко всем элементам этой итерируемой коллекции.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, полученная путём применения данной функции |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Находит наибольший элемент.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наибольший элемент этого числового диапазона относительно упорядочения |
| Исключения |
|
| Классы определений | NumericRange -> IterableOnceOps |
| Унаследовано от | NumericRange |
Источник
Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который даёт наибольшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение опции, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Источник
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение типа option, содержащее наибольший элемент этого набора по отношению к упорядочению |
| Унаследовано от | IterableOnceOps |
Исходный код
Находит наименьший элемент.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | наименьший элемент этого числового диапазона по отношению к упорядочению |
| Исключения |
|
| Классы определений | NumericRange -> IterableOnceOps |
| Унаследовано от | NumericRange |
Исходный код
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | первый элемент этой коллекции с наименьшим значением, измеренным функцией f, относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Исходный код
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение типа option, содержащее первый элемент этой коллекции с наименьшим значением, измеренным функцией f, относительно упорядочения |
| Унаследовано от | IterableOnceOps |
Исходный код
Находит наименьший элемент.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение типа option, содержащее наименьший элемент этой коллекции по отношению к упорядочению |
| Унаследовано от | IterableOnceOps |
Исходный код
Отображает все элементы этой коллекции в строке.
Методы вызова addString, которые можно переопределить.
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (согласно методу |
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этой коллекции в строке с использованием разделителя.
Методы вызова addString, которые можно переопределить.
| Параметры |
|
|---|---|
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (согласно методу |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этой коллекции в строке с использованием начальной, конечной и разделительной строк.
Методы вызова addString, которые можно переопределить.
| Параметры |
|
|---|---|
| Возвращает | строковое представление этой коллекции. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
protected def newSpecificBuilder: Builder[A, CC[A]]
| Возвращает | жесткий билдер для того же типа коллекции. Обратите внимание, что в случае ленивых коллекций (например, scala.collection.View или scala.collection.immutable.LazyList), реализация этого метода возможна, но полученный |
|---|---|
| Примечание |
При реализации пользовательского типа коллекции и уточнении Как показывает аннотация |
| Унаследовано от | IterableFactoryDefaults |
Источник
Проверяет, не пуста ли коллекция.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Компонует эту частичную функцию со вспомогательной частичной функцией, которая применяется там, где эта частичная функция не определена.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция, область определения которой является объединением областей определения этой частичной функции и |
| Унаследовано от | PartialFunction |
Исходный код
Копия этого последовательности с добавленными элементами до достижения заданной длины.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности, за которыми следует минимальное количество повторений |
| Классы определения | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Исходный код
Пара, состоящая из, во-первых, всех элементов, удовлетворяющих предикату p, и, во-вторых, всех элементов, которые не удовлетворяют ему. Интересно, потому что разделяет коллекцию на две части.
Реализация по умолчанию, предоставленная здесь, должна дважды пройтись по коллекции. Строгие коллекции имеют переопределённую версию partition в StrictOptimizedIterableOps, которая требует только одного прохода.
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
override def partitionMap[A1, A2](f: T => Either[A1, A2]): (CC[A1], CC[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))
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | пару итерируемых коллекций: первая содержит значения, возвращённые |
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
Создаёт новую последовательность, где фрагмент элементов в этой последовательности заменяется другой последовательностью.
Замена по отрицательным индексам аналогична замене с началом с 0. Замена по индексам, равным или большим длины исходной последовательности, добавляет замену в конец. Если заменяется больше значений, чем существует фактически, избыток игнорируется.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности, за исключением |
| Классы определения | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Исходный код
def permutations: Iterator[C]
Итерация по различным перестановкам.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Возвращает | Итератор, проходящий по различным перестановкам этой последовательности. |
|---|---|
| Пример |
|
| Унаследовано от | SeqOps |
Исходный код
override def prepended[B >: T](elem: B): CC[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)
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, состоящая из |
| Классы определения | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Исходный код
override def prependedAll[B >: T](prefix: IterableOnce[B]): CC[B]
Как и :++, возвращает новую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда.
Отличается от :++ тем, что тип результирующей коллекции определяется правым операндом, а не левым. Мнемоника: знак двоеточия находится со стороны нового типа коллекции.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, которая содержит все элементы |
| Классы определения | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Исходный код
Перемножает элементы этой коллекции.
Примечание: не завершит работу для коллекций бесконечной размерности.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | произведение всех элементов этой коллекции относительно оператора |
| Унаследовано от | IterableOnceOps |
Исходный код
def reduce[B >: T](op: (B, B) => B): B
Уменьшает элементы этого набора, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Результат применения оператора reduce |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
def reduceLeft[B >: T](op: (B, T) => B): B
Применяет бинарный оператор ко всем элементам этого набора слева направо.
Примечание: не завершится для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
def reduceLeftOption[B >: T](op: (B, T) => B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этого набора слева направо.
Примечание: не завершится для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение option, содержащее результат |
| Унаследовано от | IterableOnceOps |
Source
def reduceOption[B >: T](op: (B, B) => B): Option[B]
Приводит элементы этого набора, если таковые имеются, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Значение option, содержащее результат применения оператора reduce |
| Унаследовано от | IterableOnceOps |
Source
def reduceRight[B >: T](op: (T, B) => B): B
Применяет бинарный оператор ко всем элементам этого набора справа налево.
Примечание: не завершится для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
def reduceRightOption[B >: T](op: (T, B) => B): Option[B]
Возвращает значение, возможно, применяя бинарный оператор ко всем элементам этого набора, справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если только тип базовой коллекции не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | возможное значение, содержащее результат |
| Унаследовано от | IterableOnceOps |
Source
override def reverse: NumericRange[T]
Возвращает новый числовой диапазон с элементами в обратном порядке.
Примечание: даже при применении к представлению или ленивой коллекции, он всегда будет форсировать элементы.
| Возвращает | Новый числовой диапазон со всеми элементами этого числового диапазона в обратном порядке. |
|---|---|
| Классы определения | NumericRange -> IndexedSeqOps -> SeqOps |
| Унаследовано от | NumericRange |
Source
override def reverseIterator: Iterator[A]
Итератор, возвращающий элементы в обратном порядке.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: xs.reverseIterator то же самое, что и xs.reverse.iterator, но может быть более эффективным.
| Возвращает | Итератор, возвращающий элементы этой последовательности в обратном порядке |
|---|---|
| Классы определения | IndexedSeqOps -> SeqOps |
| Унаследовано от | IndexedSeqOps |
Source
| Классы определения | IndexedSeqOps -> IterableOnceOps |
|---|---|
| Унаследовано от | IndexedSeqOps |
Source
Компонует эту частичную функцию с функцией действия, которая применяется к результатам этой частичной функции. Функция действия вызывается только для побочных эффектов; ее результат игнорируется.
Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно
if(pf isDefinedAt x) { action(pf(x)); true } else false
за исключением того, что runWith реализована с помощью applyOrElse и, следовательно, потенциально более эффективна. Использование runWith предотвращает двойное вычисление совпадений шаблонов и условий для частичных функций-литералов.
| Параметры значения |
|
|---|---|
| Возвращает | функция, которая отображает аргументы |
| См. также |
|
| Унаследовано от | PartialFunction |
Source
Являются ли элементы этой коллекции одинаковыми (и в том же порядке) что и элементы that?
| Definition Classes | IndexedSeq -> SeqOps |
|---|---|
| Inherited from | IndexedSeq |
Source
def scan[B >: T](z: B)(op: (B, B) => B): CC[B]
Вычисляет префиксную сканирование элементов коллекции.
Примечание: Нейтральный элемент z может применяться более одного раза.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | новая итерируемая коллекция, содержащая префиксное сканирование элементов в этой итерируемой коллекции |
| Inherited from | IterableOps |
Source
override def scanLeft[B](z: B)(op: (B, T) => B): CC[B]
Создает итерируемую коллекцию, содержащую кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | коллекция с промежуточными результатами |
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Inherited from | StrictOptimizedIterableOps |
Source
def scanRight[B](z: B)(op: (T, B) => B): CC[B]
Создаёт коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Голова коллекции — это последний кумулятивный результат.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычислены.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | коллекция с промежуточными результатами |
| Inherited from | IterableOps |
Source
Поиск в данном отсортированном последовательности элемента в заданном интервале. Если последовательность является IndexedSeq, используется бинарный поиск. В противном случае используется линейный поиск.
Последовательность должна быть отсортирована с использованием того же Ordering перед вызовом; в противном случае результаты не определены.
| Value parameters |
|
|---|---|
| Returns | значение |
| See also |
scala.collection.SeqOps, метод |
| Note | если |
| Definition Classes | IndexedSeqOps -> SeqOps |
| Inherited from | IndexedSeqOps |
Source
Поиск данного отсортированного последовательности заданного элемента. Если последовательность является IndexedSeq, используется бинарный поиск. В противном случае используется линейный поиск.
Последовательность должна быть отсортирована с использованием того же Ordering перед вызовом; в противном случае результаты не определены.
| Value parameters |
|
|---|---|
| Returns | значение |
| See also |
scala.collection.SeqOps, метод |
| Definition Classes | IndexedSeqOps -> SeqOps |
| Inherited from | IndexedSeqOps |
Source
Вычисляет длину самой длинной последовательности, которая начинается с определенного индекса, и все элементы которой удовлетворяют некоторому предикату.
Примечание: может не завершиться для коллекций бесконечного размера.
| Value parameters |
|
|---|---|
| Returns | длина самой длинной последовательности в этой последовательности, начинающейся с индекса |
| Inherited from | SeqOps |
Source
Вычисляет длину самой длинной последовательности, которая начинается с первого элемента, и все элементы которой удовлетворяют некоторому предикату.
Примечание: может не завершиться для коллекций бесконечного размера.
| Value parameters |
|
|---|---|
| Returns | длина самой длинной последовательности в этой последовательности, начинающейся с первого элемента, такая что каждый элемент последовательности удовлетворяет предикату |
| Inherited from | SeqOps |
Source
Размер этой последовательности.
Примечание: не завершится для коллекций бесконечного размера.
| Returns | количество элементов в этой последовательности. |
|---|---|
| Definition Classes | SeqOps -> IterableOnceOps |
| Inherited from | SeqOps |
Source
Сравнивает размер этой последовательности с размером другой Iterable.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < that.size x == 0 if this.size == that.size x > 0 if this.size > that.size Реализация метода здесь не вызывает |
| Определяющие классы | SeqOps -> IterableOps |
| Унаследовано от | SeqOps |
Источник
Сравнивает размер этой последовательности со значением теста.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < otherSize x == 0 if this.size == otherSize x > 0 if this.size > otherSize Реализация метода здесь не вызывает |
| См. также | |
| Определяющие классы | SeqOps -> IterableOps |
| Унаследовано от | SeqOps |
Источник
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 |
|---|
Источник
Выбирает интервал элементов. Возвращаемая последовательность состоит из всех элементов x , которые удовлетворяют инварианту:
from <= indexOf(x) < until
| Параметры значения |
|
|---|---|
| Возвращает | последовательность, содержащую элементы, большие или равные индексу |
| Определяющие классы | IndexedSeqOps -> IndexedSeqOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | IndexedSeqOps |
Источник
Группирует элементы в блоки фиксированного размера, пропуская "скользящее окно" над ними (в отличие от их разбиения, как это делается в grouped).
Возвращаемый итератор будет пустым при вызове на пустой коллекции. Последний элемент, который производит итератор, может быть меньше размера окна, когда исходная коллекция не исчерпывается окном до его завершения и его последний элемент не пропущен шагом до него.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, производящий итерируемые коллекции размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Группирует элементы в блоки фиксированного размера, пропуская "скользящее окно" над ними (в отличие от их разбиения, как это делается в grouped).
Пустая коллекция возвращает пустой итератор, а непустая коллекция, содержащая меньше элементов, чем размер окна, возвращает итератор, который произведёт исходную коллекцию как единственный элемент.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, производящий итерируемые коллекции размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Сортирует эту последовательность в соответствии с упорядочением, которое получается из преобразования неявно заданного упорядочения с помощью функции преобразования.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
Сортировка стабильна. То есть элементы, которые равны (как определено ord.compare), появляются в отсортированной последовательности в том же порядке, что и в исходной.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | последовательность, состоящую из элементов этой последовательности, отсортированных в соответствии с упорядочением, где |
| См. также | |
| Пример |
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)
|
| Унаследовано от | SeqOps |
Источник
Сортирует эту последовательность в соответствии с функцией сравнения.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
Сортировка стабильна. То есть элементы, которые равны (как определено lt ), появляются в отсортированной последовательности в том же порядке, что и в исходной.
| Параметры значения |
|
|---|---|
| Возвращает | последовательность, состоящую из элементов этой последовательности, отсортированных в соответствии с функцией сравнения |
| Пример |
List("Steve", "Tom", "John", "Bob").sortWith(_.compareTo(_) < 0) =
List("Bob", "John", "Steve", "Tom")
|
| Унаследовано от | SeqOps |
Источник
Сортирует эту последовательность в соответствии с упорядочением.
Сортировка стабильна. То есть элементы, которые равны (как определено ord.compare ), появляются в отсортированной последовательности в том же порядке, что и в исходной.
| Параметры значения |
|
|---|---|
| Возвращает | последовательность, состоящую из элементов этой последовательности, отсортированных в соответствии с порядком |
| См. также | scala.math.Ordering Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычислены. |
| Классы определений | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Исходный код
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | пара, состоящая из наибольшего префикса этой итерируемой коллекции, элементы которого все удовлетворяют |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
Разделяет этот числовой диапазон на пару префикс/суффикс в заданной позиции.
Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
| Параметры значения |
|
|---|---|
| Возвращает | пара числовых диапазонов, состоящая из первых |
| Классы определений | NumericRange -> IterableOps -> IterableOnceOps |
| Унаследовано от | NumericRange |
Исходный код
Проверяет, содержит ли эта последовательность заданную последовательность в заданном индексе.
Примечание: Если и объект-получатель this, и аргумент that являются бесконечными последовательностями, этот метод может не завершиться.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Исходный код
Возвращает scala.collection.Stepper для элементов этой коллекции.
Stepper позволяет создать Java-поток для работы с коллекцией, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, Stepper может использоваться в качестве итератора, который не упаковывает элементы.
Неявный параметр scala.collection.StepperShape определяет тип возвращаемого Stepper в соответствии с типом элемента этой коллекции.
Для коллекций
Int,Short,ByteилиChar, возвращается scala.collection.IntStepperДля коллекций
DoubleилиFloat, возвращается scala.collection.DoubleStepperДля коллекций
Long, возвращается scala.collection.LongStepperДля любого другого типа элемента возвращается scala.collection.AnyStepper
Обратите внимание, что этот метод переопределен в подклассах, и возвращаемый тип уточняется до S with EfficientSplit, например, scala.collection.IndexedSeqOps.stepper. Для Stepper, помеченных как scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Stepper могут быть преобразованы только в последовательные потоки.
| Классы определений | NumericRange -> IndexedSeqOps -> IterableOnce |
|---|---|
| Унаследовано от | NumericRange |
Исходный код
Суммирует элементы этой коллекции.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | сумма всех элементов этого числового диапазона относительно оператора |
| Классы определений | NumericRange -> IterableOnceOps |
| Унаследовано от | NumericRange |
Исходный код
override def tail: NumericRange[T]
Остальная часть коллекции без ее первого элемента.
| Классы определений | NumericRange -> IterableOps |
|---|---|
| Унаследовано от | NumericRange |
Исходный код
Итерируется по хвостам этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения — результатом последовательных применений tail.
| Возвращает | итератор по всем хвостам этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Исходный код
Выбирает первые n элементов.
| Параметры значения |
|
|---|---|
| Возвращает | числовой диапазон, состоящий только из первых |
| Классы определений | NumericRange -> IndexedSeqOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | NumericRange |
Исходный код
Коллекция, содержащая последние n элементов этой коллекции.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
END_OF_DOCUMENT_MARKER| Definition Classes | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Inherited from | StrictOptimizedIterableOps |
Source
Возвращает самый длинный префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Value parameters |
|
|---|---|
| Returns | самый длинный префикс этого итерируемого набора, элементы которого удовлетворяют предикату |
| Inherited from | IterableOps |
Source
override def tapEach[U](f: T => U): C
Применяет функцию со побочным эффектом к каждому элементу в этом наборе. Строгие коллекции будут применять f к своим элементам немедленно, в то время как ленивые коллекции, такие как представления и LazyLists, будут применять f только к каждому элементу, если и когда этот элемент будет вычислен, и каждый раз, когда этот элемент будет вычислен.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | Такой же логический набор, как и этот |
| Definition Classes | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Inherited from | StrictOptimizedIterableOps |
Source
На основе фабрики коллекций factory, преобразовать этот набор в соответствующее представление для текущего типа элемента A. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
| Inherited from | IterableOnceOps |
|---|
Source
Преобразование набора в массив.
Примечание к реализации: НЕ вызывайте Array.from из этого метода.
| Inherited from | IterableOnceOps |
|---|
Source
| Inherited from | IterableOnceOps |
|---|
Source
final override def toIndexedSeq: IndexedSeq[A]
| Definition Classes | IndexedSeq -> IterableOnceOps |
|---|---|
| Inherited from | IndexedSeq |
Source
| Inherited from | IterableOnceOps |
|---|
Source
| Inherited from | IterableOnceOps |
|---|
Source
| Returns | Этот набор в виде |
|---|---|
| Definition Classes | Seq -> IterableOnceOps |
| Inherited from | Seq |
Source
| Inherited from | IterableOnceOps |
|---|
Source
Возвращает строковое представление объекта.
Значение по умолчанию зависит от платформы.
| Returns | строковое представление объекта. |
|---|---|
| Definition Classes | NumericRange -> Seq -> Function1 -> Iterable -> Any |
| Inherited from | NumericRange |
Source
| Inherited from | IterableOnceOps |
|---|
Source
Транспонирует этот итерируемый набор итерируемых наборов в итерируемый набор итерируемых наборов.
Тип результирующего набора будет определяться статическим типом итерируемого набора. Например:
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))
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | двумерный итерируемый набор итерируемых наборов, в котором n-я строка является n-м столбцом этого итерируемого набора. |
| Throws |
|
| Inherited from | IterableOps |
Source
Пытается извлечь B из A в выражении сопоставления с образцом.
| Inherited from | PartialFunction |
|---|
Source
override def unzip[A1, A2](implicit asPair: T => (A1, A2)): (CC[A1], CC[A2])
Преобразует этот итерируемый набор пар в два набора первой и второй половины каждой пары.
val xs = Iterable(
(1, "one"),
(2, "two"),
(3, "three")).unzip
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | пару итерируемых наборов, содержащих первую и соответственно вторую половину каждой пары элементов этого итерируемого набора. |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
override def unzip3[A1, A2, A3](implicit asTriple: T => (A1, A2, A3)): (CC[A1], CC[A2], CC[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))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | тройку итерируемых наборов, содержащих первый, второй и соответственно третий член каждой тройки элементов этого итерируемого набора. |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
Копия этого последовательности с одним заменённым элементом.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, являющаяся копией этой последовательности с элементом в позиции |
| Исключения |
|
| Определяющие классы | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Исходный код
override def view: IndexedSeqView[A]
Представление над элементами этой коллекции.
| Определяющие классы | IndexedSeqOps -> SeqOps -> IterableOps |
|---|---|
| Унаследовано от | IndexedSeqOps |
Исходный код
Создаёт нестрогий фильтр этого итерируемого набора.
Примечание: разница между c filter p и c withFilter p заключается в том, что первый создаёт новую коллекцию, а второй только ограничивает область последующих map, flatMap, foreach, и withFilter операций.
Примечание: может возвращать разные результаты для разных запусков, если тип основной коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | объект класса |
| Унаследовано от | IterableOps |
Исходный код
override def zip[B](that: IterableOnce[B]): CC[(A, B)]
Возвращает итерируемый набор, образованный из этого итерируемого набора и другого итерируемого набора путём объединения соответствующих элементов в пары. Если один из двух наборов длиннее другого, оставшиеся элементы игнорируются.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый итерируемый набор, содержащий пары, состоящие из соответствующих элементов этого итерируемого набора и |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
Возвращает итерируемый набор, образованный из этого итерируемого набора и другого итерируемого набора путём объединения соответствующих элементов в пары. Если один из двух наборов короче другого, используются заполнители для расширения более короткого набора до длины более длинного.
| Параметры значения |
|
|---|---|
| Возвращает | новый набор типа Если этот итерируемый набор короче |
| Унаследовано от | IterableOps |
Исходный код
override def zipWithIndex: CC[(A, Int)]
Объединяет этот итерируемый набор с его индексами.
| Возвращает | Новый итерируемый набор, содержащий пары, состоящие из всех элементов этого итерируемого набора, связанных с их индексом. Индексы начинаются с |
|---|---|
| Пример | |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Унаследованные поля
Исходный код
Вычисляет значение хэш-кода для объекта.
Алгоритм хэширования по умолчанию зависит от платформы.
Обратите внимание, что для двух объектов разрешено иметь одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)) и тем не менее не быть равными (o1.equals(o2) возвращает false). Вырожденная реализация могла бы всегда возвращать 0. Однако требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true), у них были одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)). Поэтому при переопределении этого метода убедитесь, что поведение согласуется с методом equals.
| Возвращает | значение хэш-кода для этого объекта. |
|---|---|
| Унаследовано от | NumericRange |
Исходный код
Проверяет, является ли числовой диапазон пустым.
Примечание: Реализации в подклассах, которые не являются многократно проходимыми, должны позаботиться о том, чтобы не потреблять элементы, когда isEmpty вызывается.
| Возвращает |
|
|---|---|
| Унаследовано от | NumericRange |
Исходный код
val isInclusive: Boolean
| Унаследовано от | NumericRange |
|---|
Исходный код
Длина (количество элементов) числового диапазона. size является псевдонимом для length в Seq коллекциях.
| Унаследовано от | NumericRange |
|---|
© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/collection/immutable/NumericRange$$Exclusive.html