Класс ::.::
| Подтипы | 31 тип |
|---|
Конкретные методы
Исходный код
override def headOption: Some[A]
Возвращает первый элемент коллекции, если он есть, None если коллекция пуста.
| Возвращает | первый элемент этой неизменяемой коллекции, если она не пустая, |
|---|---|
| Определения классов | LinearSeqOps -> IterableOps |
Исходный код
Остальная часть коллекции без первого элемента.
| Определения классов | LinearSeqOps -> IterableOps |
|---|
Наследованные методы
Исходный код
final def ++[B >: A](suffix: IterableOnce[B]): CC[B]
Псевдоним для concat
| Унаследованно от | IterableOps |
|---|
Исходный код
final override def ++:[B >: A](prefix: IterableOnce[B]): CC[B]
Псевдоним для prependedAll
| Определения классов | SeqOps -> IterableOps |
|---|---|
| Унаследованно от | SeqOps |
Исходный код
final def +:[B >: A](elem: B): CC[B]
Псевдоним для prepended. Обратите внимание, что операторы, оканчивающиеся на двоеточие, ассоциативны справа (см. пример). Мемоническая для +: против :+ такая: двоеточие ставится со стороны коллекции.
| Унаследованно от | SeqOps |
|---|
Исходный код
final def :+[B >: A](elem: B): CC[B]
Псевдоним для appended. Обратите внимание, что операторы, оканчивающиеся на двоеточие, ассоциативны справа (см. пример). Мемоническая для +: против :+ такая: двоеточие ставится со стороны коллекции.
| Унаследованно от | SeqOps |
|---|
Исходный код
final def :++[B >: A](suffix: IterableOnce[B]): CC[B]
Псевдоним для appendedAll
| Унаследованно от | SeqOps |
|---|
Исходный код
Добавляет элемент в начало списка.
| Параметры значений |
|
|---|---|
| Возвращает |
список, содержащий 1 :: List(2, 3) = List(2, 3).::(1) = List(1, 2, 3) |
| Унаследованно от | Список |
Исходный код
Добавляет элементы данного списка перед этим списком.
Пример:
List(1, 2) ::: List(3, 4) = List(3, 4).:::(List(1, 2)) = List(1, 2, 3, 4)
| Параметры значений |
|
|---|---|
| Возвращает | список, полученный в результате конкатенации данного списка |
| Унаследованно от | Список |
Исходный код
Добавляет все элементы этой коллекции в строковый буфер. Записываемый текст состоит из строковых представлений (относительно метода 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: A => C): PartialFunction[A, C]
Компонует данную частичную функцию с функцией преобразования, которая применяется к результатам данной частичной функции.
Если тип времени выполнения функции является PartialFunction, то используется другой метод andThen (обратите внимание на предостережения).
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения данной частичной функции, возможно, суженной указанной функцией, которая отображает аргументы |
| Классы определения | PartialFunction -> Function1 |
| Унаследовано от | PartialFunction |
Источник
override def appended[B >: A](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 |
Источник
Возвращает новый список, содержащий элементы левого операнда, за которыми следуют элементы правого операнда. Тип элемента списка — это наиболее конкретный суперкласс, охватывающий типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый набор типа |
| Классы определения | List -> StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | List |
Источник
Получение элемента по указанному индексу. Данная операция предоставляется для удобства в Seq. Не следует предполагать её эффективность, если у вас нет IndexedSeq.
| Классы определения | LinearSeqOps -> SeqOps |
|---|---|
| Унаследовано от | LinearSeqOps |
Источник
def applyOrElse[A1 <: Int, B1 >: A](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 |
Источник
Метод, который должен вызываться из каждой хорошо спроектированной функции equals, которая открыта для переопределения в подклассе. См. Programming in Scala, Глава 28 для обсуждения и проектирования.
| Параметры значения |
|
|---|---|
| Возвращает | true, если этот экземпляр потенциально может быть равен |
| Унаследовано от | Seq |
Источник
Создаёт новый список, применяя частичную функцию ко всем элементам этого списка, для которых функция определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый список, полученный путём применения заданной частичной функции |
| Классы определения | List -> StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | List |
Source
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа Option, содержащее результат применения pf к первому значению, для которого оно определено, или |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
Итерирует по сочетаниям. _Сочетание_ длины n — это подпоследовательность исходной последовательности, с элементами, взятыми в порядке следования. Таким образом, "xy" и "yy" — оба сочетания длины 2 для "xyy", но "yx" им не является. Если существует более одного способа сгенерировать одну и ту же подпоследовательность, будет возвращена только одна.
Например, у "xyyy" есть три различных способа сгенерировать "xy" в зависимости от того, какой элемент "y" — первый, второй или третий — выбирается. Однако, поскольку все они идентичны, будет выбран только один. Какой из трёх будет выбран — это деталь реализации, которая не определена.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычислены.
| Возвращает | Итератор, который проходит по возможным сочетаниям из n элементов этой последовательности. |
|---|---|
| Пример |
|
| Унаследовано от | SeqOps |
Source
Компонует другую частичную функцию k с этой частичной функцией таким образом, что эта частичная функция применяется к результатам k.
Обратите внимание, что вызов isDefinedAt для полученной частичной функции может применить первую частичную функцию и выполнить её побочное действие. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция, область определения которой сужена этой частичной функцией, которая отображает аргументы |
| Унаследовано от | PartialFunction |
Source
Компонует две функции Function1 в новую функцию Function1, при этом эта функция применяется последней.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая функция |
| Унаследовано от | Function1 |
Source
final override def concat[B >: A](suffix: IterableOnce[B]): CC[B]
Возвращает новую последовательность, содержащую элементы левого операнда, за которыми следуют элементы правого операнда. Тип элементов последовательности — это наиболее общий надкласс, охватывающий типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, которая содержит все элементы этой последовательности, за которыми следуют все элементы |
| Классы определения | SeqOps -> IterableOps |
| Унаследовано от | SeqOps |
Source
Проверяет, содержит ли этот список заданное значение в качестве элемента.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Классы определения | Список -> LinearSeqOps -> SeqOps |
| Унаследовано от | Список |
Исходный код
Проверяет, содержит ли эта последовательность заданную последовательность в качестве фрагмента.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Исходный код
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start максимум len элементами этой коллекции.
Копирование прекратится, когда будут скопированы все элементы этой коллекции, или будет достигнут конец массива, или len элементов будут скопированы.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода необходимо отказаться от итератора, на котором он был вызван. Его использование не определено и может быть изменено. |
| Унаследовано от | IterableOnceOps |
Исходный код
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями этой коллекции.
Копирование прекратится, когда будут скопированы все элементы этой коллекции, или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода необходимо отказаться от итератора, на котором он был вызван. Его использование не определено и может быть изменено. |
| Унаследовано от | IterableOnceOps |
Исходный код
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями этой коллекции.
Копирование прекратится, когда будут скопированы все элементы этой коллекции, или будет достигнут конец массива.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода итератор, на котором он был вызван, следует удалить. Использование его не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, относится ли каждый элемент этого списка к соответствующему элементу другой последовательности, удовлетворяя предикату проверки.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает |
|
| Классы определения | List -> SeqOps |
| Унаследовано от | List |
Источник
Проверяет, относится ли каждый элемент итератора этого набора к соответствующему элементу другого набора, удовлетворяя предикату проверки.
Примечание: не будет завершаться для наборов бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Считает количество элементов в наборе, которые удовлетворяют предикату.
Примечание: не будет завершаться для наборов бесконечного размера.
| Параметры значений |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Источник
Вычисляет разность мультимножеств между этой последовательностью и другой последовательностью.
| Параметры значений |
|
|---|---|
| Возвращает | новая последовательность, содержащая все элементы этой последовательности за исключением некоторых вхождений элементов, которые также появляются в |
| Классы определения | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
def distinct: C
Выбирает все элементы этой последовательности, игнорируя дубликаты.
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности без дубликатов. |
|---|---|
| Унаследовано от | SeqOps |
Источник
override def distinctBy[B](f: A => B): C
Выбирает все элементы этой последовательности, игнорируя дубликаты, как определено == после применения функции преобразования f.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности без дубликатов. |
| Классы определения | StrictOptimizedSeqOps -> StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
Выбирает все элементы, кроме первых n.
| Параметры значений |
|
|---|---|
| Возвращает | последовательность, состоящая из всех элементов этой последовательности, кроме первых |
| Классы определения | StrictOptimizedLinearSeqOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedLinearSeqOps |
Источник
Остальная часть коллекции без её n последних элементов. Для линейных неизменяемых коллекций это должно избежать создания копии.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Удаляет самую длинную префиксную часть элементов, удовлетворяющих предикату.
| Параметры значений |
|
|---|---|
| Возвращает | самую длинную постфиксную часть этой последовательности, первый элемент которой не удовлетворяет предикату |
| Классы определения | StrictOptimizedLinearSeqOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedLinearSeqOps |
Источник
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]
Пустой набор итераций того же типа, что и этот набор итераций
| Returns | пустой итератор типа |
|---|---|
| Definition Classes | IterableFactoryDefaults -> IterableOps |
| Inherited from | IterableFactoryDefaults |
Source
Проверяет, заканчивается ли эта последовательность данной последовательностью.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Value parameters |
|
|---|---|
| Returns |
|
| Inherited from | SeqOps |
Source
Метод универсального равенства, определённый в AnyRef.
| Definition Classes | List -> Seq -> Equals -> Any |
|---|---|
| Inherited from | List |
Source
Проверяет, выполняется ли предикат хотя бы для одного элемента этого списка.
| Value parameters |
|
|---|---|
| Returns |
|
| Definition Classes | List -> LinearSeqOps -> IterableOnceOps |
| Inherited from | List |
Source
Выбирает все элементы этого списка, удовлетворяющие предикату.
| Value parameters |
|
|---|---|
| Returns | новый список, содержащий все элементы этого списка, удовлетворяющие заданному предикату |
| Definition Classes | List -> StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Inherited from | List |
Source
Выбирает все элементы этого списка, которые не удовлетворяют предикату.
| Value parameters |
|
|---|---|
| Returns | новый список, содержащий все элементы этого списка, которые не удовлетворяют заданному предикату |
| Definition Classes | List -> StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Inherited from | List |
Source
Находит первый элемент в списке, удовлетворяющий предикату, если такой есть.
| Value parameters |
|
|---|---|
| Returns | значение типа Option, содержащее первый элемент в списке, удовлетворяющий |
| Definition Classes | List -> LinearSeqOps -> IterableOnceOps |
| Inherited from | List |
Source
Находит последний элемент последовательности, удовлетворяющий предикату, если таковой существует.
Примечание: не будет завершаться для бесконечных коллекций.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа option, содержащее последний элемент в последовательности, удовлетворяющий |
| Классы определения | LinearSeqOps -> SeqOps |
| Унаследовано от | LinearSeqOps |
Source
Строит новый список, применяя функцию ко всем элементам этого списка и используя элементы полученных коллекций.
Например:
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)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый список, полученный путём применения заданной функции, возвращающей коллекцию |
| Классы определения | List -> StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | List |
Source
override def flatten[B](implicit toIterableOnce: A => 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 |
Source
def fold[A1 >: A](z: A1)(op: (A1, A1) => A1): A1
Складывает элементы этой коллекции, используя заданный ассоциативный бинарный оператор. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективного порядка обхода.
Порядок выполнения операций над элементами не определён и может быть недетерминированным.
Примечание: не будет завершаться для бесконечных коллекций.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращаемое значение | результат применения оператора fold |
| Унаследовано от | IterableOnceOps |
Источник
override def foldLeft[B](z: B)(op: (B, A) => B): B
Применяет бинарный оператор к начальному значению и всем элементам этой последовательности, слева направо.
Примечание: не завершится для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращаемое значение | результат вставки |
| Классы определений | LinearSeqOps -> IterableOnceOps |
| Унаследовано от | LinearSeqOps |
Источник
final override def foldRight[B](z: B)(op: (A, B) => B): B
Применяет бинарный оператор ко всем элементам этого списка и начальному значению, справа налево.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращаемое значение | результат вставки |
| Классы определений | List -> IterableOnceOps |
| Унаследовано от | List |
Источник
Проверяет, выполняется ли предикат для всех элементов этого списка.
| Параметры значений |
|
|---|---|
| Возвращаемое значение |
|
| Классы определений | List -> LinearSeqOps -> IterableOnceOps |
| Унаследовано от | List |
Источник
Применяет f к каждому элементу для его побочных эффектов. Примечание: параметр [U] необходим для улучшения вывода типов scalac.
| Классы определений | List -> LinearSeqOps -> IterableOnceOps |
|---|---|
| Унаследовано от | List |
Источник
protected def fromSpecific(coll: IterableOnce[A]): 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: A => K)(f: A => 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 |
Источник
Вычисляет хэш-код объекта.
По умолчанию алгоритм хэширования зависит от платформы.
Обратите внимание, что для двух объектов возможны одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)) при этом объекты могут не быть равны (o1.equals(o2) возвращает false). Вырожденная реализация может всегда возвращать 0. Однако, требуется, чтобы если два объекта равны (o1.equals(o2) возвращает true), то у них должны быть одинаковые хэш-коды (o1.hashCode.equals(o2.hashCode)). Поэтому при переопределении этого метода убедитесь, что поведение согласуется с методом equals.
| Возвращает | значение хэш-кода для этого объекта. |
|---|---|
| Классы-определения | Seq -> Any |
| Унаследовано от | Seq |
Источник
Находит индекс первого вхождения значения в этой последовательности.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Источник
Находит индекс первого вхождения значения в этой последовательности после или на определённом стартовом индексе.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Источник
Находит первый индекс, где эта последовательность содержит заданную последовательность как срез.
Примечание: может не завершиться для последовательностей бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | первый индекс |
| Унаследовано от | SeqOps |
Источник
Находит первый индекс после или на стартовом индексе, где эта последовательность содержит заданную последовательность как срез.
Примечание: может не завершиться для последовательностей бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | первый индекс |
| Унаследовано от | SeqOps |
Источник
Находит индекс первого элемента, удовлетворяющего некоторому предикату.
Примечание: может не завершиться для последовательностей бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Источник
Находит индекс первого элемента, удовлетворяющего некоторому предикату после или на некотором начальном индексе.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Определяющие классы | LinearSeqOps -> SeqOps |
| Унаследовано от | LinearSeqOps |
Источник
Возвращает диапазон всех индексов этой последовательности.
Примечание: даже при применении к представлению или ленивой коллекции она всегда будет принудительно вычислять элементы.
| Возвращает | значение |
|---|---|
| Унаследовано от | SeqOps |
Источник
def init: C
Первая часть коллекции без последнего элемента.
Примечание: даже при применении к представлению или ленивой коллекции она всегда будет принудительно вычислять элементы.
| Унаследовано от | IterableOps |
|---|
Источник
Итерируется по начальным частям (inits) этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения — результатами последовательных применений init.
Примечание: даже при применении к представлению или ленивой коллекции она всегда будет принудительно вычислять элементы.
| Возвращает | итератор по всем начальным частям (inits) этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Вычисляет пересечение мультимножеств между этой последовательностью и другой последовательностью.
| Параметры значения |
|
|---|---|
| Возвращает | новая последовательность, содержащая все элементы этой последовательности, которые также присутствуют в |
| Определяющие классы | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
Проверяет, содержит ли эта последовательность указанный индекс.
Реализации методов apply и isDefinedAt преобразуют Seq[A] в PartialFunction[Int, A].
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Определяющие классы | LinearSeqOps -> SeqOps |
| Унаследовано от | LinearSeqOps |
Source
Проверяет, является ли список пустым.
Примечание: реализации в подклассах, которые не являются многократно проходимыми, должны позаботиться о том, чтобы не использовать какие-либо элементы при вызове isEmpty.
| Возвращает |
|
|---|---|
| Классы определения | List -> LinearSeqOps -> SeqOps -> IterableOnceOps |
| Унаследовано от | List |
Source
override def isTraversableAgain: Boolean
Проверяет, может ли эта итерируемая коллекция быть многократно пройдена. Всегда истинно для Iterables и ложно для Iterators, если не переопределено.
| Возвращает |
|
|---|---|
| Классы определения | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Source
Объект-компаньон этого списка, предоставляющий различные методы фабрик.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Классы определения | List -> LinearSeq -> LinearSeq -> Seq -> Iterable -> Seq -> Iterable -> IterableOps |
| Унаследовано от | List |
Source
Итератор может быть использован только один раз
| Классы определения | StrictOptimizedLinearSeqOps -> LinearSeqOps -> IterableOnce |
|---|---|
| Унаследовано от | StrictOptimizedLinearSeqOps |
Source
| Возвращает | Количество элементов в этой коллекции, если оно может быть вычислено с низкой стоимостью, иначе -1. Низкая стоимость обычно означает: Не требующее обхода коллекции. |
|---|---|
| Унаследовано от | IterableOnce |
Source
override def last: A
Выбирает последний элемент.
| Возвращает | Последний элемент этого списка. |
|---|---|
| Исключения |
|
| Классы определения | List -> LinearSeqOps -> IterableOps |
| Унаследовано от | List |
Source
Находит индекс последнего вхождения некоторого значения в этой последовательности перед или на заданном конечном индексе.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Source
Находит последний индекс, где данная последовательность содержит заданную последовательность в качестве среза.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | последний индекс, такой что элементы этой последовательности, начиная с этого индекса, соответствуют элементам последовательности |
| Унаследовано от | SeqOps |
Источник
Находит последний индекс перед или в заданном конечном индексе, где эта последовательность содержит заданную последовательность в качестве среза.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | последний индекс |
| Унаследовано от | SeqOps |
Источник
Находит индекс последнего элемента, удовлетворяющего некоторому предикату.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс последнего элемента этой последовательности, удовлетворяющего предикату |
| Унаследовано от | SeqOps |
Источник
Находит индекс последнего элемента, удовлетворяющего некоторому предикату до или в заданном конечном индексе.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс |
| Классы определений | LinearSeqOps -> SeqOps |
| Унаследовано от | LinearSeqOps |
Источник
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 |
Источник
Длина (количество элементов) списка. size является псевдонимом для length в коллекциях Seq.
| Классы определения | List -> LinearSeqOps -> SeqOps |
|---|---|
| Унаследовано от | List |
Источник
Сравнивает длину этого списка со значением-тестом.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.length < len x == 0 if this.length == len x > 0 if this.length > len Реализация данного метода не вызывает |
| См. также | |
| Классы определения | List -> LinearSeqOps -> SeqOps |
| Унаследовано от | List |
Источник
Сравнивает длину этой последовательности с размером другого Iterable.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.length < that.size x == 0 if this.length == that.size x > 0 if this.length > that.size Метод, как реализован здесь, не вызывает |
| Классы определения | LinearSeqOps -> SeqOps |
| Унаследовано от | LinearSeqOps |
Источник
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 |
Источник
Создаёт новый список, применяя функцию ко всем элементам этого списка.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый список, полученный путём применения заданной функции |
| Классы определения | List -> StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | List |
Источник
Создаёт новый список, применяя функцию ко всем элементам этого списка. Подобно xs map f, но возвращает xs без изменений, если функция f отображает все элементы на самих себя (определяется eq).
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | список, полученный путём применения заданной функции |
| Унаследовано от | List |
Источник
Находит максимальный элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | наибольший элемент этой коллекции по отношению к порядку |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который даёт наибольшее значение, измеряемое функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наибольшим значением, измеряемым функцией f, по отношению к порядку |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который даёт наибольшее значение, измеряемое функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение Option, содержащее первый элемент этой коллекции с наибольшим значением, измеряемым функцией f, по отношению к порядку |
| Унаследовано от | IterableOnceOps |
Source
Находит максимальный элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение опции, содержащее наибольший элемент этой коллекции по отношению к упорядочению |
| Унаследовано от | IterableOnceOps |
Source
Находит минимальный элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наименьший элемент этой коллекции по отношению к упорядочению |
| Исключение |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наименьшим значением, измеренным функцией f, по отношению к упорядочению |
| Исключение |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение опции, содержащее первый элемент этой коллекции с наименьшим значением, измеренным функцией f, по отношению к упорядочению |
| Унаследовано от | IterableOnceOps |
Source
Находит минимальный элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение опции, содержащее наименьший элемент этой коллекции по отношению к упорядочению |
| Унаследовано от | IterableOnceOps |
Source
Отображает все элементы этой коллекции в строке.
Делегирует вызов методу addString, который может быть переопределён.
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
|---|---|
| Унаследовано от | IterableOnceOps |
Source
Отображает все элементы этой коллекции в строке с использованием разделителя.
Делегирует вызов методу addString, который может быть переопределён.
| Параметры |
|
|---|---|
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
Отображает все элементы этой коллекции в строке с использованием начальной, конечной и разделительной строк.
Делегирует вызов методу addString, который может быть переопределён.
| Параметры |
|
|---|---|
| Возвращает | строковое представление этой коллекции. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
protected def newSpecificBuilder: Builder[A, CC[A]]
| Возвращает | строгий билдер для того же типа коллекции. Обратите внимание, что в случае ленивых коллекций (например, scala.collection.View или scala.collection.immutable.LazyList), реализация этого метода возможна, но полученный |
|---|---|
| Примечание |
При реализации пользовательского типа коллекции и уточнении Как показывает аннотация |
| Унаследовано от | IterableFactoryDefaults |
Source
Проверяет, не является ли коллекция пустой.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Source
Компонует данную частичную функцию с резервной частичной функцией, которая применяется, когда данная частичная функция не определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция, область определения которой является объединением областей определения этой частичной функции и |
| Унаследовано от | PartialFunction |
Источник
Копия этой последовательности с добавленными элементами до достижения заданной длины.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности, за которыми следует минимальное количество повторений |
| Классы-предки | StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | StrictOptimizedSeqOps |
Источник
Пара, содержащая, во-первых, все элементы, удовлетворяющие предикату p, и, во-вторых, все элементы, которые не удовлетворяют ему. Это полезно для разделения коллекции на две части.
В реализации по умолчанию требуется два прохода по коллекции. Жесткие коллекции имеют переопределенную версию partition в StrictOptimizedIterableOps, которая требует только одного прохода.
| Классы-предки | List -> StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | List |
Источник
override def partitionMap[A1, A2](f: A => 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 |
Источник
Копия списка с добавленным элементом в начало.
Исходный список не изменяется, поэтому необходимо сохранить результат.
Пример:
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)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый список, состоящий из |
| Классы-предки | List -> StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | List |
Источник
Аналогично :++, возвращает новую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда.
Отличается от :++ тем, что тип результирующей коллекции определяется правым операндом, а не левым. Память: двоеточие (:): стоит с той стороны, которая обозначает тип новой коллекции.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый список, содержащий все элементы |
| Классы-предки | List -> StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | List |
Источник
Перемножает элементы этой коллекции.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | произведение всех элементов этой коллекции относительно оператора |
| Унаследовано от | IterableOnceOps |
Источник
Итератор по именам всех элементов этого произведения.
| Унаследовано от | Product |
|---|
Source
Итератор по всем элементам этого произведения.
| Возвращает | в реализации по умолчанию, |
|---|---|
| Унаследовано от | Product |
Source
def reduce[B >: A](op: (B, B) => B): B
Приводит элементы этой коллекции к одному значению, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Результат применения оператора reduce |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
def reduceLeft[B >: A](op: (B, A) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
def reduceLeftOption[B >: A](op: (B, A) => B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этой коллекции слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | вариант значения, содержащий результат |
| Унаследовано от | IterableOnceOps |
Source
def reduceOption[B >: A](op: (B, B) => B): Option[B]
Приводит элементы этой коллекции, если они есть, к одному значению, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Вариант значения, содержащий результат применения оператора reduce |
| Унаследовано от | IterableOnceOps |
Source
def reduceRight[B >: A](op: (A, B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
def reduceRightOption[B >: A](op: (A, B) => B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этой коллекции справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | вариант значения, содержащий результат |
| Унаследовано от | IterableOnceOps |
Source
Возвращает новый список с элементами в обратном порядке.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Возвращает | Новый список со всеми элементами этого списка в обратном порядке. |
|---|---|
| Определяющие классы | List -> SeqOps |
| Унаследовано от | List |
Source
def reverseIterator: Iterator[A]
Итератор, возвращающий элементы в обратном порядке.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: xs.reverseIterator то же самое, что и xs.reverse.iterator, но может быть более эффективным.
| Возвращает | итератор, возвращающий элементы этой последовательности в обратном порядке |
|---|---|
| Унаследовано от | SeqOps |
Source
Добавляет элементы заданного списка в обратном порядке в начало этого списка. xs reverse_::: ys эквивалентно xs.reverse ::: ys, но более эффективно.
| Параметры значения |
|
|---|---|
| Возвращает | Конкатенация перевернутого префикса и текущего списка. |
| Унаследовано от | List |
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
Компонует эту частичную функцию с функцией действия, которая применяется к результатам этой частичной функции. Функция действия вызывается только для побочных эффектов; ее результат игнорируется.
Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно
if(pf isDefinedAt x) { action(pf(x)); true } else false
за исключением того, что runWith реализовано с помощью applyOrElse и, следовательно, потенциально более эффективно. Использование runWith избегает двойного вычисления матчеров и условий для частичных функций-литералов.
| Параметры значения |
|
|---|---|
| Возвращает | функцию, которая отображает аргументы |
| См. также |
|
| Унаследовано от | PartialFunction |
Источник
Являются ли элементы этой коллекции одинаковыми (и в том же порядке) что и элементы that?
| Классы определения | LinearSeqOps -> SeqOps |
|---|---|
| Унаследовано от | LinearSeqOps |
Источник
def scan[B >: A](z: B)(op: (B, B) => B): CC[B]
Вычисляет префиксное сканирование элементов коллекции.
Примечание: Нейтральный элемент z может применяться более одного раза.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерабельная коллекция, содержащая префиксное сканирование элементов в этой итерабельной коллекции |
| Унаследовано от | IterableOps |
Источник
override def scanLeft[B](z: B)(op: (B, A) => B): CC[B]
Создаёт итерабельную коллекцию, содержащую кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | коллекция с промежуточными результатами |
| Классы определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
def scanRight[B](z: B)(op: (A, B) => B): CC[B]
Создаёт коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Головка коллекции - последний кумулятивный результат.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | коллекция с промежуточными результатами |
| Унаследовано от | IterableOps |
Источник
Поиск в заданном интервале в этой отсортированной последовательности заданного элемента. Если эта последовательность является IndexedSeq, используется бинарный поиск. В противном случае используется линейный поиск.
Последовательность должна быть отсортирована с использованием того же Ordering перед вызовом; в противном случае результаты не определены.
| Параметры значения |
|
|---|---|
| Возвращает | значение |
| См. также |
scala.collection.SeqOps, метод |
| Примечание | если |
| Унаследовано от | SeqOps |
Источник
Ищет этот отсортированный массив для заданного элемента. Если массив является IndexedSeq, используется бинарный поиск. В противном случае используется линейный поиск.
Последовательность должна быть отсортирована с использованием того же Ordering перед вызовом; в противном случае результаты не определены.
| Параметры значения |
|
|---|---|
| Возвращает | значение |
| См. также |
scala.collection.SeqOps, метод |
| Унаследовано от | SeqOps |
Источник
Вычисляет длину самой длинной последовательности, начинающейся с некоторого индекса, элементы которой удовлетворяют некоторому предикату.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | длину самой длинной последовательности в этой последовательности, начинающейся с индекса |
| Классы определения | LinearSeqOps -> SeqOps |
| Унаследовано от | LinearSeqOps |
Источник
Вычисляет длину самой длинной последовательности, начинающейся с первого элемента, элементы которой удовлетворяют некоторому предикату.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | длину самой длинной последовательности в этой последовательности, начинающейся с первого элемента, элементы которой удовлетворяют предикату |
| Унаследовано от | SeqOps |
Источник
Размер этой последовательности.
Примечание: не завершится для коллекций бесконечного размера.
| Возвращает | количество элементов в этой последовательности. |
|---|---|
| Классы определения | SeqOps -> IterableOnceOps |
| Унаследовано от | SeqOps |
Источник
Сравнивает размер этой последовательности с размером другой 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 |
|---|
Источник
| Пример |
// Given a list
val letters = List('a','b','c','d','e')
// `slice` returns all elements beginning at index `from` and afterwards,
// up until index `until` (excluding index `until`.)
letters.slice(1,3) // Returns List('b','c')
|
|---|---|
| Классы определения | List -> IterableOps -> IterableOnceOps |
| Унаследовано от | List |
Источник
Группирует элементы в блоки фиксированного размера, передавая «скользящее окно» по ним (в отличие от разбиения их, как это делается в 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 |
| Унаследовано от | Список |
Источник
Разделяет этот список на пару префикс/суффикс в заданной позиции.
Примечание: c splitAt n эквивалентно (но возможно более эффективно, чем) (c take n, c drop n).
| Параметры значения |
|
|---|---|
| Возвращает | пара списков, состоящая из первых |
| Определяющие классы | Список -> IterableOps -> IterableOnceOps |
| Унаследовано от | Список |
Источник
Проверяет, содержит ли эта последовательность заданную последовательность в заданном индексе.
Примечание: Если оба объекта-получателя 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 могут быть преобразованы только в последовательные потоки.
| Унаследовано от | IterableOnce |
|---|
Источник
Суммирует элементы этой коллекции.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | сумма всех элементов этой коллекции относительно оператора |
| Унаследовано от | IterableOnceOps |
Источник
Итерирует по хвостам этой последовательности. Первое значение будет этой последовательностью, а последнее — пустой последовательностью, а промежуточные значения будут результатами последовательных применений tail.
| Возвращает | итератор по всем хвостам этой последовательности |
|---|---|
| Пример |
|
| Определяющие классы | LinearSeqOps -> IterableOps |
| Унаследовано от | LinearSeqOps |
Источник
Выбирает первые n элементов.
| Параметры значения |
|
|---|---|
| Возвращает | список, содержащий только первые |
| Определяющие классы | Список -> IterableOps -> IterableOnceOps |
| Унаследовано от | Список |
Источник
Коллекция, содержащая последние n элементов этой коллекции.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Определяющие классы | Список -> StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | Список |
Источник
Извлекает самый длинный префикс элементов, удовлетворяющих предикату.
| Параметры значения |
|
|---|---|
| Возвращает | самый длинный префикс этого списка, элементы которого удовлетворяют предикату |
| Определяющие классы | Список -> IterableOps -> IterableOnceOps |
| Унаследовано от | Список |
Источник
override def tapEach[U](f: A => U): C
Применяет функцию с побочным эффектом к каждому элементу в этой коллекции. Строгие коллекции сразу применяют f к своим элементам, в то время как ленивые коллекции, такие как представления и LazyList, применяют f к каждому элементу только при его вычислении и каждый раз, когда этот элемент вычисляется.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | такая же логическая коллекция, как и эта |
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Исходя из фабрики коллекций factory, преобразует эту коллекцию в соответствующее представление для текущего типа элемента A.
Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
| Унаследовано от | IterableOnceOps |
|---|
Источник
Преобразовать коллекцию в массив.
Примечание к реализации: НЕ вызывать Array.from из этого метода.
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
def toIndexedSeq: IndexedSeq[A]
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Классы-определения | List -> IterableOnceOps |
|---|---|
| Унаследовано от | List |
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Возвращает | Эту коллекцию в виде |
|---|---|
| Классы-определения | Seq -> IterableOnceOps |
| Унаследовано от | Seq |
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
Возвращает строковое представление объекта.
По умолчанию представление зависит от платформы.
| Возвращает | строковое представление объекта. |
|---|---|
| Классы-определения | Seq -> Function1 -> Iterable -> Any |
| Унаследовано от | Seq |
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
Транспонирует эту итерируемую коллекцию итерируемых коллекций в итерируемую коллекцию итерируемых коллекций.
Тип результирующей коллекции будет определяться статическим типом итерируемой коллекции. Например:
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))
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | двумерная итерируемая коллекция итерируемых коллекций, у которой n-я строка соответствует n-му столбцу этой итерируемой коллекции. |
| Исключения |
|
| Унаследовано от | IterableOps |
Источник
Попытка извлечь B из A в выражении сопоставления с образцом.
| Унаследовано от | PartialFunction |
|---|
Источник
override def unzip[A1, A2](implicit asPair: A => (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: A => (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 |
Источник
Копия этого списка с одним заменённым элементом.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый список, который является копией этого списка с элементом в позиции |
| Исключения |
|
| Классы-определения | List -> StrictOptimizedSeqOps -> SeqOps |
| Унаследовано от | List |
Источник
Представление над элементами этой коллекции.
| Классы-определения | SeqOps -> IterableOps |
|---|---|
| Унаследовано от | SeqOps |
Source
Создаёт нестрогий фильтр этого итерируемого набора.
Примечание: разница между c filter p и c withFilter p заключается в том, что первый создаёт новый набор, а второй только ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.
Примечание: результаты могут отличаться при разных запусках, если только тип базового набора не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | объект класса |
| Унаследовано от | IterableOps |
Source
override def zip[B](that: IterableOnce[B]): CC[(A, B)]
Возвращает итерируемый набор, образованный из этого итерируемого набора и другого итерируемого набора путём объединения соответствующих элементов парами. Если один из двух наборов длиннее другого, его оставшиеся элементы игнорируются.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый итерируемый набор, содержащий пары, состоящие из соответствующих элементов этого итерируемого набора и |
| Классы определений | StrictOptimizedIterableOps -> IterableOps |
| Унаследовано от | StrictOptimizedIterableOps |
Source
Возвращает итерируемый набор, образованный из этого итерируемого набора и другого итерируемого набора путём объединения соответствующих элементов парами. Если один из двух наборов короче другого, для расширения более короткого набора до длины более длинного используются элементы-заполнители.
| Параметры значения |
|
|---|---|
| Возвращает | новый набор типа |
| Унаследовано от | IterableOps |
Source
override def zipWithIndex: CC[(A, Int)]
Объединяет этот итерируемый набор с его индексами.
| Возвращает | Новый итерируемый набор, содержащий пары, состоящие из всех элементов этого итерируемого набора, соединённых со своим индексом. Индексы начинаются с |
|---|---|
| Пример | |
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
| Унаследовано от | StrictOptimizedIterableOps |
© 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/::.html