Трейт scala.collection.Set
Базовый трейт для коллекций множеств.
| Суперайпы | |
|---|---|
| Известные подтипы | 27 типов |
Конкретные методы
Исходный код
Исходный код
Равенство множеств реализуется с помощью метода поиска contains. Этот метод возвращает true если
аргумент
thatявляетсяSet,два множества имеют одинаковый размер, и
для каждого
elementэтого множества,other.contains(element) == true.
Реализация equals проверяет метод canEqual, поэтому подклассы Set могут сузить равенство до определённых типов множеств. Реализации Set в стандартной библиотеке могут быть сравнены, их методы canEqual возвращают true.
Примечание: метод equals соблюдает законы равенства (симметрия, транзитивность) только если два множества используют одну и ту же функцию эквивалентности элементов в операции поиска. Например, операция эквивалентности элементов в scala.collection.immutable.TreeSet определяется его упорядочением. Сравнение TreeSet с HashSet приводит к неожиданным результатам, если ordering.equiv(e1, e2) (используемая для поиска в TreeSet) отличается от e1 == e2 (используемой для поиска в HashSet).
scala> import scala.collection.immutable._
scala> val ord: Ordering[String] = _ compareToIgnoreCase _
scala> TreeSet("A")(ord) == HashSet("a")
val res0: Boolean = false
scala> HashSet("a") == TreeSet("A")(ord)
val res1: Boolean = true
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Классы определения | Equals -> Any |
Исходный код
| Классы определения | Any |
|---|
Исходный код
| Классы определения | Iterable -> IterableOps |
|---|
Исходный код
| Классы определения | Function1 -> Iterable -> Any |
|---|
Наследованные методы
Исходный код@inline
Псевдоним для intersect
| Наследуется от | SetOps |
|---|
Исходный код@inline
Псевдоним для diff
| Наследуется от | SetOps |
|---|
Исходный код@inline
Псевдоним для concat
| Наследуется от | IterableOps |
|---|
Исходный код@inline
Псевдоним для concat
| Наследуется от | SetOps |
|---|
Исходный код@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 |
Исходный код@unspecialized
Компонует две функции Function1 в новую Function1, применяя эту функцию в первую очередь.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая функция |
| Унаследовано от | Function1 |
Исходный код@inline
Проверяет, содержится ли некоторый элемент в этом наборе.
Этот метод эквивалентен contains. Он позволяет интерпретировать множества как предикаты.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SetOps |
Исходный код
| Унаследовано от | IterableOps |
|---|
Исходный код
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение опции, содержащее pf, применённое к первому значению, для которого оно определено, или |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Исходный код@unspecialized
Компонует две функции Function1 в новую Function1, применяя эту функцию в последнюю очередь.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая функция |
| Унаследовано от | Function1 |
Исходный код
Возвращает новую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элементов в коллекции — это наиболее конкретный суперкласс, охватывающий типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, которая содержит все элементы этой итерируемой коллекции, за которыми следуют все элементы |
| Унаследовано от | IterableOps |
Исходный код
Создаёт новый набор, добавляя все элементы, содержащиеся в другой коллекции, в этот набор, исключая дубликаты.
Этот метод принимает коллекцию элементов и добавляет все элементы, исключая дубликаты, в набор.
Пример:
scala> val a = Set(1, 2) concat Set(2, 3) a: scala.collection.immutable.Set[Int] = Set(1, 2, 3)
| Параметры значения |
|
|---|---|
| Возвращает | новый набор с добавленными элементами, исключая дубликаты. |
| Унаследовано от | SetOps |
Исходный код
| Унаследовано от | SetOps |
|---|
Исходный код
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs, начиная с индекса start не более чем len элементами этой коллекции.
Копирование остановится, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива, или len элементов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода итератор, на котором он был вызван, следует удалить. Его использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Исходный код@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs, начиная с индекса start значениями этой коллекции.
Копирование остановится, как только будут скопированы все элементы этой коллекции или будет достигнут конец массива.
END_OF_DOCUMENT_MARKER| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван. Его использование неопределено и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник@deprecatedOverriding("Этот метод всегда должен перенаправляться на версию с 3 параметрами", since = "2.13.4")
Копирует элементы в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs начиная с индекса start значениями из этого набора.
Копирование прекращается, когда либо все элементы этого набора были скопированы, либо достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван. Его использование неопределено и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, соответствует ли каждый элемент итератора этого набора соответствующему элементу другого набора, удовлетворяя предикату.
Примечание: не завершается для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Подсчитывает количество элементов в наборе, удовлетворяющих предикату.
Примечание: не завершается для наборов бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Источник
Вычисляет разность этого набора и другого набора.
| Параметры значения |
|
|---|---|
| Возвращает | набор, содержащий элементы этого набора, которые также не содержатся в заданном наборе |
| Унаследовано от | SetOps |
Источник
| Унаследовано от | IterableOps |
|---|
Источник
Выбирает все элементы, кроме последних n.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | набор, состоящий из всех элементов этого набора, кроме последних |
| Унаследовано от | IterableOps |
Source
| Inherited from | IterableOps |
|---|
Source
| Definition Classes | IterableFactoryDefaults -> IterableOps |
|---|---|
| Inherited from | IterableFactoryDefaults |
Source
Проверяет, выполняется ли предикат хотя бы для одного элемента этого набора.
Примечание: может не завершаться для наборов бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Inherited from | IterableOnceOps |
Source
| Inherited from | IterableOps |
|---|
Source
| Inherited from | IterableOps |
|---|
Source
Находит первый элемент набора, удовлетворяющий предикату, если такой существует.
Примечание: может не завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа Option, содержащее первый элемент в наборе, который удовлетворяет |
| Inherited from | IterableOnceOps |
Source
| Inherited from | IterableOps |
|---|
Source
| Inherited from | IterableOps |
|---|
Source
def fold[A1 >: A](z: A1)(op: (A1, A1) => A1): A1
Складывает элементы этого набора, используя заданный ассоциативный бинарный оператор. По умолчанию в IterableOnce реализация эквивалентна foldLeft, но может быть переопределена для более эффективных порядков обхода.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Примечание: не завершится для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат применения оператора слияния |
| Унаследовано от | IterableOnceOps |
Исходный код
def foldLeft[B](z: B)(op: (B, A) => B): B
Применяет бинарный оператор к начальному значению и всем элементам этого набора слева направо.
Примечание: не завершится для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Исходный код
def foldRight[B](z: B)(op: (A, B) => B): B
Применяет бинарный оператор ко всем элементам этого набора и начальному значению справа налево.
Примечание: не завершится для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен или оператор ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Унаследовано от | IterableOnceOps |
Исходный код
Проверяет, выполняется ли предикат для всех элементов этого набора.
Примечание: может не завершиться для наборов бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Исходный код
Применяет f к каждому элементу для его побочных эффектов. Примечание: параметр [U] необходим для помощи в процессе вывода типов scalac.
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
| Унаследовано от | 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 |
Исходный код
def head: A
Выбирает первый элемент этого итерируемого набора.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Возвращает | первый элемент этого итерируемого набора. |
|---|---|
| Исключения |
|
| Унаследовано от | IterableOps |
Источник
def headOption: Option[A]
Возвращает первый элемент, если он есть.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Возвращаемое значение | первый элемент этой итерируемой коллекции, если она не пустая, |
|---|---|
| Унаследовано от | IterableOps |
Источник
Часть коллекции без последнего элемента.
Примечание: даже если применяется к представлению или ленивой коллекции, элементы всегда будут принудительно вычисляться.
| Унаследовано от | IterableOps |
|---|
Источник
Итерирует по начальным частям этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения — результаты последовательных применений init.
Примечание: даже если применяется к представлению или ленивой коллекции, элементы всегда будут принудительно вычисляться.
| Возвращаемое значение | итератор по всем начальным частям этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Вычисляет пересечение этого множества и другого множества.
| Параметры |
|
|---|---|
| Возвращаемое значение | новое множество, состоящее из всех элементов, которые присутствуют как в этом множестве, так и в заданном множестве |
| Унаследовано от | SetOps |
Источник
Проверяет, пуста ли коллекция.
Примечание: Реализации в подклассах, которые не являются многократно проходимыми, должны следить за тем, чтобы не потреблять элементов, когда isEmpty вызывается.
| Возвращаемое значение |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
override def isTraversableAgain: Boolean
| Классы-предки | IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | IterableOps |
Источник
Итератор может быть использован только один раз
| Унаследовано от | IterableOnce |
|---|
Источник
| Возвращаемое значение | Количество элементов в этой коллекции, если оно может быть вычислено без затрат, иначе -1. «Без затрат» обычно означает: без обхода коллекции. |
|---|---|
| Унаследовано от | IterableOnce |
Источник
def last: A
Возвращает последний элемент.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Возвращаемое значение | Последний элемент этой итерируемой коллекции. |
|---|---|
| Исключения |
|
| Унаследовано от | IterableOps |
Источник
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 |
Источник
| Унаследовано от | IterableOps |
|---|
Источник
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращаемое значение | наибольший элемент этой коллекции относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который даёт наибольшее значение, измеряемое функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращаемое значение | первый элемент этой коллекции с наибольшим значением, измеренным функцией f, относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который даёт наибольшее значение, измеряемое функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее первый элемент этого набора с наибольшим значением, измеренным функцией f по отношению к порядку |
| Унаследовано от | IterableOnceOps |
Источник
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее наибольший элемент этого набора по отношению к порядку |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наименьший элемент этого набора по отношению к порядку |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этого набора с наименьшим значением, измеренным функцией f по отношению к порядку |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее первый элемент этого набора с наименьшим значением, измеренным функцией f по отношению к порядку |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее наименьший элемент этого набора по отношению к порядку |
| Унаследовано от | IterableOnceOps |
Source@inline
Отображает все элементы этого набора в строке.
Делегирует addString, который может быть переопределён.
| Возвращает | строковое представление этого набора. В результирующей строке строковые представления (относительно метода |
|---|---|
| Унаследовано от | IterableOnceOps |
Source@inline
Отображает все элементы этого набора в строке, используя разделительную строку.
Делегирует addString, который может быть переопределён.
| Параметры |
|
|---|---|
| Возвращает | строковое представление этого набора. В результирующей строке строковые представления (относительно метода |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
Отображает все элементы этого набора в строке, используя начальную, конечную и разделительные строки.
Делегирует addString, который может быть переопределён.
| Параметры |
|
|---|---|
| Возвращает | строковое представление этого набора. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
| Унаследовано от | IterableFactoryDefaults |
|---|
Source@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
Проверяет, не является ли набор пустым.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Source
Пара, состоящая из, во-первых, всех элементов, которые удовлетворяют предикату p, и, во-вторых, всех элементов, которые не удовлетворяют. Интересно, потому что разбивает набор на две части.
Установленная по умолчанию реализация, представленная здесь, требует два прохода по набору. Строгие наборы имеют переопределённую версию partition в StrictOptimizedIterableOps, которая требует только одного прохода.
| Inherited from | IterableOps |
|---|
Source
Применяет функцию 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))
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | пара коллекций: первая содержит значения, возвращённые |
| Inherited from | IterableOps |
Source
Перемножает элементы этой коллекции.
Примечание: не завершит работу для коллекций бесконечного размера.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | произведение всех элементов этой коллекции относительно операции |
| Inherited from | IterableOnceOps |
Source
def reduce[B >: A](op: (B, B) => B): B
Сводит элементы этой коллекции, используя указанную ассоциативную бинарную операцию.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | Результат применения операции reduce |
| Throws |
|
| Inherited from | IterableOnceOps |
Source
def reduceLeft[B >: A](op: (B, A) => B): B
Применяет бинарную операцию ко всем элементам этой коллекции слева направо.
Примечание: не завершит работу для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | результат вставки |
| Throws |
|
| Inherited from | IterableOnceOps |
Source
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]
Опционально применяет бинарный оператор ко всем элементам этой коллекции, справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции упорядочен или оператор ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее результат |
| Унаследовано от | IterableOnceOps |
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
Вычисляет префиксный скан элементов коллекции.
Примечание: нейтральный элемент z может применяться более одного раза.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый итерируемый набор, содержащий префиксное сканирование элементов в этом итерируемом наборе |
| Унаследовано от | IterableOps |
Источник
| Унаследовано от | IterableOps |
|---|
Источник
Создает набор, содержащий кумулятивные результаты применения оператора справа налево. Голова набора — последний кумулятивный результат.
Примечание: не завершит работу для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базового набора не упорядочен.
Примечание: даже при применении к представлению или ленивому набору он всегда принудительно вычисляет элементы.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | набор с промежуточными результатами |
| Унаследовано от | IterableOps |
Источник
Размер этого набора.
Примечание: не завершит работу для наборов бесконечного размера.
| Возвращает | количество элементов в этом наборе. |
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Сравнивает размер этого итерируемого набора с размером другого Iterable.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < that.size x == 0 if this.size == that.size x > 0 if this.size > that.size Реализация данного метода не вызывает |
| Унаследовано от | IterableOps |
Источник
Сравнивает размер этого итерируемого набора со значением для сравнения.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < otherSize x == 0 if this.size == otherSize x > 0 if this.size > otherSize Реализация данного метода не вызывает |
| См. также | |
| Унаследовано от | IterableOps |
Источник@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 |
|---|
Источник
| Унаследовано от | IterableOps |
|---|
Источник
Группирует элементы в блоки фиксированного размера, перемещая «скользящее окно» по ним (в отличие от разбиения на части, как в grouped.)
Возвращаемый итератор будет пустым, если вызван для пустого набора. Последний элемент, который генерирует итератор, может быть меньше размера окна, если исходный набор не исчерпан окном до конца, и его последний элемент не пропущен шагом до конца.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые наборы размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Группирует элементы в блоки фиксированного размера, перемещая «скользящее окно» по ним (в отличие от разбиения на части, как в grouped.)
Для пустого набора возвращается пустой итератор, а для непустого набора, содержащего меньше элементов, чем размер окна, возвращается итератор, который генерирует исходный набор как единственный элемент.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые наборы размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Источник
| Унаследовано от | IterableOps |
|---|
Источник
| Классы-предки | IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | IterableOps |
Источник
Возвращает 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 |
|---|
Источник
Проверяет, является ли этот набор подмножеством другого набора.
| Параметры |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SetOps |
Источник
Итератор по всем подмножествам этого набора.
| Возвращает | итератор. |
|---|---|
| Унаследовано от | SetOps |
Источник
Итератор по всем подмножествам этого набора заданной размерности. Если запрашиваемая размерность невозможна, возвращается пустой итератор.
| Параметры |
|
|---|---|
| Возвращает | итератор. |
| Унаследовано от | SetOps |
Источник
Суммирует элементы этой коллекции.
Примечание: не завершится для бесконечных коллекций.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращает | сумма всех элементов этой коллекции относительно оператора |
| Унаследовано от | IterableOnceOps |
Источник
Остальная часть коллекции без её первого элемента.
| Унаследовано от | IterableOps |
|---|
Источник
Итерируется по хвостам этой коллекции. Первое значение будет этой коллекцией, а последнее — пустой коллекцией, а промежуточные значения — результаты последовательных применений tail.
| Возвращает | итератор по всем хвостам этой коллекции. |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Источник
| Унаследовано от | IterableOps |
|---|
Источник
Выбирает последние n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры |
|
|---|---|
| Возвращает | коллекция, содержащая только последние |
| Унаследовано от | IterableOps |
Источник
Извлекает наибольший префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры |
|
|---|---|
| Возвращает | наибольший префикс этой коллекции, элементы которого удовлетворяют предикату |
| Унаследовано от | IterableOps |
Источник
| Классы-родители | IterableOps -> IterableOnceOps |
|---|---|
| Унаследовано от | IterableOps |
Источник
Принимая во внимание фабрику коллекций factory, преобразует эту коллекцию в соответствующее представление для текущего типа элементов A. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
| Унаследовано от | IterableOnceOps |
|---|
Источник
Преобразует коллекцию в массив.
Примечание к реализации: НЕ вызывайте Array.from из этого метода.
| Унаследовано от | IterableOnceOps |
|---|
Источник@inline
| Унаследовано от | IterableOnceOps |
|---|
Источник
def toIndexedSeq: IndexedSeq[A]
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
| Унаследовано от | IterableOnceOps |
|---|
Source
| Returns | Этот набор как |
|---|---|
| Inherited from | IterableOnceOps |
Source
| Inherited from | IterableOnceOps |
|---|
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 |
Source@inline
Вычисляет объединение между множеством и другим множеством.
| Параметры значения |
|
|---|---|
| Возвращает | новое множество, содержащее все элементы, которые находятся в этом множестве или в заданном множестве |
| Унаследовано от | SetOps |
Source
Преобразует это итерируемое множество пар в два множества первой и второй половины каждой пары.
val xs = Iterable(
(1, "one"),
(2, "two"),
(3, "three")).unzip
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | пара итерируемых множеств, содержащих первую, соответственно вторую половину каждой пары элементов этого итерируемого множества. |
| Унаследовано от | IterableOps |
Source
Преобразует это итерируемое множество троек в три множества первого, второго и третьего элемента каждой тройки.
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))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | тройка итерируемых множеств, содержащих первый, второй, соответственно третий член каждой тройки элементов этого итерируемого множества. |
| Унаследовано от | IterableOps |
Source
Представление элементов этого множества.
| Унаследовано от | IterableOps |
|---|
Source
Создает нестрогий фильтр этого итерируемого множества.
Примечание: разница между c filter p и c withFilter p заключается в том, что первый создает новое множество, а второй только ограничивает область последующих map, flatMap, foreach, и withFilter операций.
Примечание: может возвращать разные результаты для разных запусков, если только тип базового множества не является упорядоченным.
| Параметры значения |
|
|---|---|
| Возвращает | объект класса |
| Унаследовано от | IterableOps |
Source
Возвращает итерируемое множество, сформированное из этого итерируемого множества и другого итерируемого множества путем объединения соответствующих элементов парами. Если одно из двух множеств длиннее другого, его оставшиеся элементы игнорируются.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новое итерируемое множество, содержащее пары, состоящие из соответствующих элементов этого итерируемого множества и |
| Унаследовано от | IterableOps |
Source
Возвращает итерируемое множество, сформированное из этого итерируемого множества и другого итерируемого множества путем объединения соответствующих элементов парами. Если одно из двух множеств короче другого, для расширения более короткого множества до длины более длинного используются элементы-заполнители.
| Параметры значения |
|
|---|---|
| Возвращает | новое множество типа |
| Унаследовано от | IterableOps |
Source
| Унаследовано от | IterableOps |
|---|
Source@inline
Псевдоним для union
| Унаследовано от | SetOps |
|---|
© 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/Set.html