Класс scala.collection.immutable.List
@SerialVersionUID(3L)
sealed abstract class List[+A] extends AbstractSeq[A] with LinearSeq[A] with LinearSeqOps[A, List, List[A]] with StrictOptimizedLinearSeqOps[A, List, List[A]] with StrictOptimizedSeqOps[A, List, List[A]] with IterableFactoryDefaults[A, List] with DefaultSerializable
Класс для неизменяемых связанных списков, представляющих упорядоченные коллекции элементов типа A.
Этот класс поставляется с двумя реализующими case-классами scala.Nil и scala.:: , которые реализуют абстрактные члены isEmpty, head и tail.
Этот класс оптимален для обращений с последним входом, первым выходом (LIFO), подобных стекам. Если вам нужен другой порядок доступа, например, случайный доступ или FIFO, рассмотрите использование коллекции, более подходящей для этого, чем List.
Производительность
Время: List имеет O(1) добавление в начало и доступ к голове/хвосту. Большинство других операций выполняются за O(n) время, зависящее от количества элементов в списке. Это включает в себя поиск элементов по индексу, length, append и reverse.
Память: List реализует совместное использование структуры хвостового списка. Это означает, что многие операции имеют нулевую или постоянную стоимость памяти.
val mainList = List(3, 2, 1) val with4 = 4 :: mainList // re-uses mainList, costs one :: instance val with42 = 42 :: mainList // also re-uses mainList, cost one :: instance val shorter = mainList.tail // costs nothing as it uses the same 2::1::Nil instances as mainList
| См. также | "Обзор библиотеки коллекций Scala" раздел по |
|---|---|
| Примечание | Функциональный список характеризуется сохранением состояния и совместным использованием структуры, что обеспечивает значительные преимущества в плане производительности и потребления памяти в некоторых сценариях при правильном использовании. Однако обратите внимание, что объекты, имеющие несколько ссылок на один и тот же функциональный список (то есть, объекты, которые полагаются на совместное использование структуры), будут сериализованы и десериализованы с несколькими списками, по одному для каждой ссылки на него. То есть совместное использование структуры теряется после сериализации/десериализации. |
| Пример |
// Make a list via the companion object factory
val days = List("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")
// Make a list element-by-element
val when = "AM" :: "PM" :: Nil
// Pattern match
days match {
case firstDay :: otherDays =>
println("The first day of the week is: " + firstDay)
case Nil =>
println("There don't seem to be any week days.")
}
|
| Надтипы | 29 типов |
| Известные подтипы |
Конкретные методы
Исходный код
Добавляет элемент в начало этого списка.
| Параметры значения |
|
|---|---|
| Возвращает |
список, содержащий 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)
| Параметры значения |
|
|---|---|
| Возвращает | список, полученный в результате конкатенации заданного списка |
Исходный код
| Классы определений | StrictOptimizedSeqOps -> SeqOps |
|---|
Исходный код
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|
Исходный код
| Классы определений | LinearSeqOps -> SeqOps |
|---|
Исходный код
| Классы определений | SeqOps |
|---|
Исходный код
| Классы определений | Seq -> Equals -> Any |
|---|
Исходный код
| Классы определений | LinearSeqOps -> IterableOnceOps |
|---|
Исходный код
| Классы определений | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|
Исходный код
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|
Исходный код
| Определяющие классы | LinearSeqOps -> IterableOnceOps |
|---|
Исходный код
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|
Исходный код
final override def foldRight[B](z: B)(op: (A, B) => B): B
| Определяющие классы | IterableOnceOps |
|---|
Исходный код
| Определяющие классы | LinearSeqOps -> IterableOnceOps |
|---|
Исходный код@inline
| Определяющие классы | LinearSeqOps -> IterableOnceOps |
|---|
Исходный код
| Определяющие классы | LinearSeqOps -> SeqOps -> IterableOnceOps |
|---|
Исходный код
| Определяющие классы | LinearSeq -> LinearSeq -> Seq -> Iterable -> Seq -> Iterable -> IterableOps |
|---|
Исходный код
override def last: A
| Определяющие классы | LinearSeqOps -> IterableOps |
|---|
Исходный код
| Определяющие классы | LinearSeqOps -> SeqOps |
|---|
Исходный код
| Определяющие классы | LinearSeqOps -> SeqOps |
|---|
Исходный код
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|
Исходный код@inline
Создаёт новый список, применяя функцию ко всем элементам этого списка. Подобно xs map f, но возвращает xs без изменений, если функция f отображает все элементы на себя (как определяется eq).
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | список, полученный путём применения данной функции |
Исходный код
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps |
|---|
Исходный код
| Определяющие классы | StrictOptimizedSeqOps -> SeqOps |
|---|
Исходный код
| Определяющие классы | StrictOptimizedSeqOps -> SeqOps |
|---|
Исходный код
| Определяющие классы | SeqOps |
|---|
Исходный код
Добавляет элементы заданного списка в обратном порядке перед этим списком. xs reverse_::: ys эквивалентно xs.reverse ::: ys, но более эффективно.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | соединение перевёрнутого префикса и текущего списка. |
Исходный код
| Пример |
// 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')
|
|---|---|
| Определяющие классы | IterableOps -> IterableOnceOps |
Исходный код@inline
| Определяющие классы | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|
Исходный код
| Определяющие классы | IterableOps -> IterableOnceOps |
|---|
Исходный код
| Классы-определения | IterableOps -> IterableOnceOps |
|---|
Исходный код
| Классы-определения | StrictOptimizedIterableOps -> IterableOps |
|---|
Исходный код@inline
| Классы-определения | IterableOps -> IterableOnceOps |
|---|
Исходный код
| Классы-определения | IterableOnceOps |
|---|
Исходный код
| Классы-определения | StrictOptimizedSeqOps -> SeqOps |
|---|
Наследованные методы
Исходный код@inline
Псевдоним для concat
| Унаследовано от | IterableOps |
|---|
Исходный код@inline
Псевдоним для prependedAll
| Классы-определения | SeqOps -> IterableOps |
|---|---|
| Унаследовано от | SeqOps |
Исходный код@inline
Псевдоним для prepended. Обратите внимание, что операторы с суффиксом :- ассоциативны справа (см. пример). Мнемоника для +: против :+ такова: двоеточие ставится со стороны коллекции.
| Унаследовано от | SeqOps |
|---|
Исходный код@inline
Псевдоним для appended. Обратите внимание, что операторы с суффиксом :- ассоциативны справа (см. пример). Мнемоника для +: против :+ такова: двоеточие ставится со стороны коллекции.
| Унаследовано от | SeqOps |
|---|
Исходный код@inline
Псевдоним для appendedAll
| Унаследовано от | SeqOps |
|---|
Исходный код@inline
Добавляет все элементы этой коллекции в строковый буфер. Записанный текст состоит из строковых представлений (согласно методу 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 |
Исходный код@inline
Добавляет все элементы этой коллекции в строковый буфер с использованием разделительной строки. Записанный текст состоит из строковых представлений (согласно методу 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 |
Исходный код
Компонует эту частичную функцию с функцией преобразования, которая применяется к результатам этой частичной функции.
Если тип времени выполнения функции является PartialFunction, то используется другой метод andThen (обратите внимание на его предостережения).
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения этой частичной функции, возможно суженной указанной функцией, которая отображает аргументы |
| Определяющие классы | PartialFunction -> Function1 |
| Унаследовано от | PartialFunction |
Источник
| Определяющие классы | StrictOptimizedSeqOps -> SeqOps |
|---|---|
| Унаследовано от | StrictOptimizedSeqOps |
Источник@throws(scala.throws.$lessinit$greater$default$1[scala.IndexOutOfBoundsException])
| Определяющие классы | 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 |
Источник
| Унаследовано от | Seq |
|---|
Источник
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение Option, содержащее результат применения pf к первому значению, для которого она определена, или |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Итерирует по комбинациям. _Комбинация_ длины n — это подпоследовательность исходной последовательности, элементы которой взяты в порядке. Таким образом, "xy" и "yy" являются комбинациями длины 2 для "xyy", но "yx" нет. Если существует более одного способа сгенерировать ту же подпоследовательность, будет возвращена только одна.
Например, у "xyyy" есть три разных способа сгенерировать "xy" в зависимости от того, какой элемент — первый, второй или третий "y" — выбирается. Однако, поскольку все они идентичны, будет выбран только один. Какой из трёх будет выбран, — это деталь реализации, которая не определена.
Примечание: даже при применении к представлению или ленивой коллекции все элементы всегда будут принудительно вычислены.
| Возвращает | Итератор, который проходит по возможным комбинациям длины n элементов этой последовательности. |
|---|---|
| Пример |
|
| Унаследовано от | SeqOps |
Источник
Компонует другую частичную функцию k с этой частичной функцией таким образом, что эта частичная функция применяется к результатам k.
Обратите внимание, что вызов isDefinedAt на результирующей частичной функции может применить первую частичную функцию и выполнить её побочный эффект. Для повышения эффективности рекомендуется использовать applyOrElse вместо isDefinedAt или apply.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция с областью определения другой частичной функции, суженной этой частичной функцией, которая отображает аргументы |
| Унаследовано от | PartialFunction |
Источник@unspecialized
Компонует две функции Function1 в новую Function1, применяя эту функцию последней.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая функция |
| Унаследовано от | Function1 |
Источник@inline
| Определяющие классы | SeqOps -> IterableOps |
|---|---|
| Унаследовано от | SeqOps |
Источник
Проверяет, содержит ли эта последовательность заданную последовательность как срез.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Source
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start не более чем len элементами из этого набора.
Копирование прекращается, как только скопированы все элементы этого набора, или достигнут конец массива, или len элементов скопированы.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода итератор, на котором он был вызван, следует удалить. Его использование не определено и может измениться. |
| Наследуется от | IterableOnceOps |
Source@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями этого набора.
Копирование прекращается, как только скопированы все элементы этого набора или достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода итератор, на котором он был вызван, следует удалить. Его использование не определено и может измениться. |
| Наследуется от | IterableOnceOps |
Source@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями этого набора.
Копирование прекращается, как только скопированы все элементы этого набора или достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода итератор, на котором он был вызван, следует удалить. Его использование не определено и может измениться. |
| Наследуется от | IterableOnceOps |
Source
Проверяет, удовлетворяет ли каждый элемент итератора этого набора соответствующему элементу другого набора с помощью предиката проверки.
Примечание: не будет завершаться для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Наследуется от | IterableOnceOps |
Source
Подсчитывает количество элементов в наборе, удовлетворяющих предикату.
Примечание: не будет завершаться для наборов бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Наследуется от | IterableOnceOps |
Source
| Классы-определения | StrictOptimizedSeqOps -> SeqOps |
|---|---|
| Наследуется от | StrictOptimizedSeqOps |
Source
Выбирает все элементы из этой последовательности, игнорируя дубликаты.
| Возвращает | новая последовательность, состоящая из всех элементов этой последовательности без дубликатов. |
|---|---|
| Наследуется от | SeqOps |
Source
override def distinctBy[B](f: A => B): List[A]
| Классы-определения | StrictOptimizedSeqOps -> StrictOptimizedSeqOps -> SeqOps |
|---|---|
| Наследуется от | StrictOptimizedSeqOps |
Source
| Классы-определения | StrictOptimizedLinearSeqOps -> IterableOps -> IterableOnceOps |
|---|---|
| Наследуется от | StrictOptimizedLinearSeqOps |
Source
Часть коллекции без её n последних элементов. Для линейных неизменяемых коллекций это должно избегать создания копии.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Классы-определения | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Наследуется от | StrictOptimizedIterableOps |
Source
| Классы-определения | StrictOptimizedLinearSeqOps -> IterableOps -> IterableOnceOps |
|---|---|
| Наследуется от | StrictOptimizedLinearSeqOps |
Source
Возвращает объект-экстрактор с методом 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 |
Исходный код
| Классы-предки | IterableFactoryDefaults -> IterableOps |
|---|---|
| Унаследовано от | IterableFactoryDefaults |
Исходный код
Проверяет, заканчивается ли эта последовательность заданной последовательностью.
Примечание: не завершается для коллекций бесконечного размера.
| Параметры |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SeqOps |
Исходный код
| Классы-предки | LinearSeqOps -> SeqOps |
|---|---|
| Унаследовано от | LinearSeqOps |
Исходный код
| Классы-предки | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Исходный код
def fold[A1 >: A](z: A1)(op: (A1, A1) => A1): A1
Выполняет сведение элементов этой коллекции с помощью указанного ассоциативного бинарного оператора. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективного порядка обхода.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Примечание: не завершается для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращает | результат применения оператора сведения |
| Унаследовано от | IterableOnceOps |
Исходный код
override def foldLeft[B](z: B)(op: (B, A) => B): B
| Классы-предки | LinearSeqOps -> IterableOnceOps |
|---|---|
| Унаследовано от | LinearSeqOps |
Исходный код
| Унаследовано от | IterableFactoryDefaults |
|---|
Исходный код
Разбивает эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с некоторой функцией дискриминатора.
Примечание: даже когда применяется к представлению или ленивой коллекции, она всегда заставляет элементы.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает |
Карта из ключей к итерируемым коллекциям, в которой выполняется следующее инвариантное свойство: (xs groupBy f)(k) = xs filter (x => f(x) == k) То есть, каждый ключ |
| Унаследовано от | IterableOps |
Source
Разделяет эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с функцией-дискриминатором 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 |
Source
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 |
|---|
Source
Разделяет элементы на итерируемые коллекции фиксированного размера.
| Параметры значений |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые коллекции размером |
| См. также | scala.collection.Iterator, метод |
| Унаследовано от | IterableOps |
Source
| Классы-предки | Seq -> Any |
|---|---|
| Унаследовано от | Seq |
Source
def head: A
Выбирает первый элемент этой итерируемой коллекции.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Возвращает | первый элемент этой итерируемой коллекции. |
|---|---|
| Исключения |
|
| Унаследовано от | IterableOps |
Source
override def headOption: Option[A]
| Definition Classes | LinearSeqOps -> IterableOps |
|---|---|
| Inherited from | LinearSeqOps |
Source@deprecatedOverriding("Override indexOf(elem, from) instead - indexOf(elem) calls indexOf(elem, 0)", "2.13.0")
Находит индекс первого вхождения некоторого значения в эту последовательность.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | индекс |
| Inherited from | SeqOps |
Source
Находит индекс первого вхождения некоторого значения в этой последовательности после или в определённом стартовом индексе.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | индекс |
| Inherited from | SeqOps |
Source@deprecatedOverriding("Override indexOfSlice(that, from) instead - indexOfSlice(that) calls indexOfSlice(that, 0)", "2.13.0")
Находит первый индекс, где эта последовательность содержит заданную последовательность как срез.
Примечание: может не завершаться для коллекций бесконечного размера.
| Value parameters |
|
|---|---|
| Returns | первый индекс |
| Inherited from | SeqOps |
Source
Находит первый индекс после или в стартовом индексе, где эта последовательность содержит заданную последовательность как срез.
Примечание: может не завершаться для коллекций бесконечного размера.
| Value parameters |
|
|---|---|
| Returns | первый индекс |
| Inherited from | SeqOps |
Source@deprecatedOverriding("Override indexWhere(p, from) instead - indexWhere(p) calls indexWhere(p, 0)", "2.13.0")
Находит индекс первого элемента, удовлетворяющего некоторому предикату.
Примечание: может не завершаться для коллекций бесконечного размера.
| Value parameters |
|
|---|---|
| Returns | индекс |
| Inherited from | SeqOps |
Source
| Definition Classes | LinearSeqOps -> SeqOps |
|---|---|
| Inherited from | LinearSeqOps |
Source
Производит диапазон всех индексов этой последовательности.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Returns | значение |
|---|---|
| Inherited from | SeqOps |
Source
Начальная часть коллекции без её последнего элемента.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Inherited from | IterableOps |
|---|
Source
Итерируется по начальным частям (inits) этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, с промежуточными значениями, являющимися результатами последовательных применений init.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Returns | итератор по всем начальным частям (inits) этой итерируемой коллекции |
|---|---|
| Example |
|
| Inherited from | IterableOps |
Source
| Definition Classes | StrictOptimizedSeqOps -> SeqOps |
|---|---|
| Inherited from | StrictOptimizedSeqOps |
Source
| Definition Classes | LinearSeqOps -> SeqOps |
|---|---|
| Inherited from | LinearSeqOps |
Source
override def isTraversableAgain: Boolean
| Definition Classes | IterableOps -> IterableOnceOps |
|---|---|
| Inherited from | IterableOps |
Source
| Definition Classes | StrictOptimizedLinearSeqOps -> LinearSeqOps -> IterableOnce |
|---|---|
| Inherited from | StrictOptimizedLinearSeqOps |
Источник
| Возвращает | Количество элементов в этом наборе, если его можно вычислить без затрат, в противном случае -1. Без затрат обычно означает: без обхода коллекции. |
|---|---|
| Унаследовано от | IterableOnce |
Источник
Находит индекс последнего вхождения некоторого значения в этой последовательности до или на заданном индексе окончания.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | индекс |
| Унаследовано от | SeqOps |
Источник@deprecatedOverriding("Override lastIndexOfSlice(that, end) instead - lastIndexOfSlice(that) calls lastIndexOfSlice(that, Int.MaxValue)", "2.13.0")
Находит последний индекс, где эта последовательность содержит заданную последовательность в качестве среза.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | последний индекс, такой что элементы этой последовательности, начиная с этого индекса, соответствуют элементам последовательности |
| Унаследовано от | SeqOps |
Источник
Находит последний индекс до или на заданном индексе окончания, где эта последовательность содержит заданную последовательность в качестве среза.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | последний индекс |
| Унаследовано от | SeqOps |
Источник@deprecatedOverriding("Override lastIndexWhere(p, end) instead - lastIndexWhere(p) calls lastIndexWhere(p, Int.MaxValue)", "2.13.0")
Находит индекс последнего элемента, удовлетворяющего некоторому предикату.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | индекс последнего элемента этой последовательности, удовлетворяющего предикату |
| Унаследовано от | 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 |
Источник
| Классы-определения | LinearSeqOps -> SeqOps |
|---|---|
| Унаследовано от | LinearSeqOps |
Источник@inline
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 |
|---|
Источник
Преобразует эту частичную функцию в обычную функцию, возвращающую опциональное значение.
| Возвращает | функцию, которая принимает аргумент |
|---|---|
| См. также | Function.unlift |
| Унаследовано от | PartialFunction |
Источник
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наибольший элемент этой коллекции относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который возвращает наибольшее значение, измеренное функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наибольшим значением, измеренным функцией f с учетом порядка |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который возвращает наибольшее значение, измеренное функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f с учетом порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наибольший элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее наибольший элемент этой коллекции с учетом порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наименьший элемент этой коллекции с учетом порядка |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который возвращает наименьшее значение, измеренное функцией f.
Примечание: не завершит работу для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наименьшим значением, измеренным функцией f с учетом порядка |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который даёт наименьшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее наименьший элемент этой коллекции относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник@inline
Отображает все элементы этой коллекции в строке.
Делегирует addString, который может быть переопределён.
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
|---|---|
| Унаследовано от | IterableOnceOps |
Источник@inline
Отображает все элементы этой коллекции в строке с использованием разделительной строки.
Делегирует addString, который может быть переопределён.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этой коллекции в строке с использованием начальной, конечной и разделительной строк.
Делегирует addString, который может быть переопределён.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
| Наследуется от | IterableFactoryDefaults |
|---|
Источник@deprecatedOverriding("nonEmpty определено как !isEmpty; переопределите isEmpty вместо этого", "2.13.0")
Проверяет, пуст ли набор.
| Возвращает |
|
|---|---|
| Наследуется от | IterableOnceOps |
Источник
Компонует эту частичную функцию с резервной частичной функцией, которая применяется в случае, когда эта частичная функция не определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | частичная функция, область определения которой является объединением областей определения этой частичной функции и |
| Наследуется от | PartialFunction |
Источник
| Классы определения | StrictOptimizedSeqOps -> SeqOps |
|---|---|
| Наследуется от | StrictOptimizedSeqOps |
Источник
| Классы определения | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Наследуется от | StrictOptimizedIterableOps |
Источник
| Классы определения | StrictOptimizedSeqOps -> SeqOps |
|---|---|
| Наследуется от | StrictOptimizedSeqOps |
Источник
Итерация по уникальным перестановкам.
Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
| Возвращает | Итератор, который проходит по уникальным перестановкам этой последовательности. |
|---|---|
| Пример |
|
| Наследуется от | SeqOps |
Источник
Перемножает элементы этого набора.
Примечание: не завершится для бесконечных наборов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | произведение всех элементов этого набора по отношению к оператору |
| Наследуется от | IterableOnceOps |
Источник
def reduce[B >: A](op: (B, B) => B): B
Сводит элементы этого набора с использованием указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат применения оператора reduce |
| Исключения |
|
| Наследуется от | IterableOnceOps |
Источник
def reduceLeft[B >: A](op: (B, A) => B): B
Применяет бинарный оператор ко всем элементам этого набора слева направо.
Примечание: не завершится для бесконечных наборов.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключения |
|
| Наследуется от | IterableOnceOps |
Источник
def reduceLeftOption[B >: A](op: (B, A) => B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этого набора слева направо.
Примечание: не завершится для бесконечных наборов.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен или оператор ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение option, содержащее результат |
| Наследуется от | IterableOnceOps |
Источник
def reduceOption[B >: A](op: (B, B) => B): Option[B]
Сводит элементы этого набора, если они есть, с использованием указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение option, содержащее результат применения оператора reduce |
| Наследуется от | IterableOnceOps |
Источник
def reduceRight[B >: A](op: (A, B) => B): B
Применяет бинарный оператор ко всем элементам этого набора, идя справа налево.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключение |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceRightOption[B >: A](op: (A, B) => B): Option[B]
Опционально применяет бинарный оператор ко всем элементам этого набора, идя справа налево.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен или оператор ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значения опции, содержащей результат |
| Унаследовано от | IterableOnceOps |
Источник
def reverseIterator: Iterator[A]
Итератор, возвращающий элементы в обратном порядке.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: xs.reverseIterator эквивалентно xs.reverse.iterator, но может быть более эффективным.
| Возвращает | итератор, возвращающий элементы этой последовательности в обратном порядке |
|---|---|
| Унаследовано от | SeqOps |
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
Компонует эту частичную функцию с функцией действия, которая применяется к результатам этой частичной функции. Функция действия вызывается только для побочных эффектов; ее результат игнорируется.
Обратите внимание, что выражение pf.runWith(action)(x) эквивалентно
if(pf isDefinedAt x) { action(pf(x)); true } else false
за исключением того, что runWith реализуется с помощью applyOrElse и, следовательно, потенциально более эффективен. Использование runWith позволяет избежать двойной оценки обработчиков шаблонов и условий для литералов частичных функций.
| Параметры значения |
|
|---|---|
| Возвращает | функция, которая отображает аргументы |
| См. также |
|
| Унаследовано от | PartialFunction |
Источник
| Классы-определения | LinearSeqOps -> SeqOps |
|---|---|
| Унаследовано от | LinearSeqOps |
Источник
Вычисляет префиксный сканирование элементов набора.
Примечание: нейтральный элемент z может применяться более одного раза.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый итерируемый набор, содержащий префиксное сканирование элементов в этом итерируемом наборе |
| Унаследовано от | IterableOps |
Источник
| Классы-определения | StrictOptimizedIterableOps -> IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Создает набор, содержащий кумулятивные результаты применения оператора справа налево. Голова набора — это последний кумулятивный результат.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен.
Примечание: даже при применении к представлению или ленивому набору он всегда заставляет элементы.
Пример:
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 |
Источник
| Классы определения | SeqOps -> IterableOps |
|---|---|
| Унаследовано от | SeqOps |
Источник
| Классы определения | SeqOps -> IterableOps |
|---|---|
| Унаследовано от | SeqOps |
Источник@inline
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 |
|---|
Источник
Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» над ними (в отличие от их разбиения, как это делается в 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 |
Источник
| Definition Classes | StrictOptimizedSeqOps -> SeqOps |
|---|---|
| Inherited from | StrictOptimizedSeqOps |
Source
Проверяет, содержит ли эта последовательность заданную последовательность в заданном индексе.
Примечание: Если и получаемый объект this и аргумент that являются бесконечными последовательностями, этот метод может не завершиться.
| Value parameters |
|
|---|---|
| Returns |
|
| Inherited from | SeqOps |
Source
Возвращает 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 могут быть преобразованы только в последовательные потоки.
| Inherited from | IterableOnce |
|---|
Source
Суммирует элементы этой коллекции.
Примечание: не завершится для коллекций бесконечного размера.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | сумма всех элементов этой коллекции относительно оператора |
| Inherited from | IterableOnceOps |
Source
Остальная часть коллекции без ее первого элемента.
| Inherited from | IterableOps |
|---|
Source
| Definition Classes | LinearSeqOps -> IterableOps |
|---|---|
| Inherited from | LinearSeqOps |
Source
| 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@inline
| Inherited from | IterableOnceOps |
|---|
Source
def toIndexedSeq: IndexedSeq[A]
| Inherited from | IterableOnceOps |
|---|
Source
| Inherited from | IterableOnceOps |
|---|
Source
| Definition Classes | Seq -> IterableOnceOps |
|---|---|
| Inherited from | Seq |
Source
| Inherited from | IterableOnceOps |
|---|
Source
| Definition Classes | Seq -> Function1 -> Iterable -> Any |
|---|---|
| Inherited from | Seq |
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))
Примечание: Даже при применении к представлению или ленивой коллекции, элементы всегда будут принудительно использоваться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | двумерный итерируемый набор итерируемых наборов, в котором n-я строка — это n-й столбец этого итерируемого набора. |
| Бросает исключения |
|
| Унаследовано от | IterableOps |
Источник
Попытка извлечь B из A в выражении сопоставления с образцом.
| Унаследовано от | PartialFunction |
|---|
Источник
| Классы-предки | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
| Классы-предки | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
| Классы-предки | SeqOps -> IterableOps |
|---|---|
| Унаследовано от | SeqOps |
Источник
Создаёт нестрогий фильтр этого итерируемого набора.
Примечание: разница между c filter p и c withFilter p в том, что первый создаёт новый набор, а второй лишь ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.
Примечание: результаты могут различаться при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | объект класса |
| Унаследовано от | IterableOps |
Источник
| Классы-предки | StrictOptimizedIterableOps -> IterableOps |
|---|---|
| Унаследовано от | StrictOptimizedIterableOps |
Источник
Возвращает итерируемый набор, образованный из этого итерируемого набора и другого итерируемого набора путём объединения соответствующих элементов парами. Если один из двух наборов короче другого, элементы-заполнители используются для расширения более короткого набора до длины более длинного.
| Параметры значения |
|
|---|---|
| Возвращает | новый набор типа |
| Унаследовано от | IterableOps |
Источник
| Классы-предки | 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.1.1/scala/collection/immutable/List.html