Класс AbstractSet.AbstractSet
Явное создание экземпляра Set-трейта, чтобы уменьшить размер файла класса в подклассах.
| Супертипы | |
|---|---|
| Известные подтипы | 20 типов |
Наследованные методы
Исходный код
Псевдоним для intersect
| Наследованный от | SetOps |
|---|
Исходный код
Псевдоним для diff
| Наследованный от | SetOps |
|---|
Исходный код
final def ++[B >: A](suffix: IterableOnce[B]): CC[B]
Псевдоним для concat
| Наследованный от | IterableOps |
|---|
Исходный код
final def ++(that: IterableOnce[A]): C
Псевдоним для concat
| Наследованный от | SetOps |
|---|
Исходный код
Добавляет все элементы этой коллекции в строковый буфер. Записываемый текст состоит из строковых представлений (в соответствии с методом 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 |
Исходный код
Комбинирует два экземпляра Function1 в новый Function1, с применением этого function первым.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращает | новая функция |
| Наследованный от | Function1 |
Исходный код
Проверяет, содержится ли элемент в этом множестве.
Этот метод эквивалентен contains. Он позволяет интерпретировать множества как предикаты.
| Параметры |
|
|---|---|
| Возвращает |
|
| Наследованный от | SetOps |
Исходный код
Метод, который должен вызываться из каждого хорошо спроектированного метода equals, открытого для переопределения в подклассе. См. Programming in Scala, Chapter 28 для обсуждения и проектирования.
| Параметры |
|
|---|---|
| Возвращает | true, если этот экземпляр потенциально равен |
| Наследованный от | Set |
Source
def collect[B](pf: PartialFunction[A, B]): CC[B]
Строит новую коллекцию итераций, применяя частичную функцию ко всем элементам этой итерационной коллекции, для которых функция определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая коллекция итераций, полученная путём применения данной частичной функции |
| Унаследовано от | IterableOps |
Source
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение типа option, содержащее результат применения pf к первому значению, для которого оно определено, или |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Source
def compose[A](g: A => A): A => R
Компонует два экземпляра Function1 в новую Function1, при этом данная функция применяется последней.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая функция |
| Унаследовано от | Function1 |
Source
def concat[B >: A](suffix: IterableOnce[B]): CC[B]
Возвращает новую итерационную коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элемента итерационной коллекции — это самый общий суперкласс, охватывающий типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая коллекция итераций, содержащая все элементы этой итерационной коллекции, за которыми следуют все элементы |
| Унаследовано от | IterableOps |
Source
def concat(that: IterableOnce[A]): C
Создаёт новое множество, добавляя все элементы, содержащиеся в другой коллекции, в это множество, опуская дубликаты.
Этот метод принимает коллекцию элементов и добавляет все элементы, опуская дубликаты, в множество.
Пример:
scala> val a = Set(1, 2) concat Set(2, 3) a: scala.collection.immutable.Set[Int] = Set(1, 2, 3)
| Параметры значения |
|
|---|---|
| Возвращает | новое множество с добавленными элементами, опуская дубликаты. |
| Унаследовано от | SetOps |
Source
| Inherited from | SetOps |
|---|
Source
Копирование элементов в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs, начиная с индекса start, не более чем len элементами из этого набора.
Копирование прекратится, как только будут скопированы все элементы этого набора, или будет достигнут конец массива, или len элементов будут скопированы.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода итератор, на котором он был вызван, должен быть удалён. Его дальнейшее использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Source
Копирование элементов в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs, начиная с индекса start, значениями из этого набора.
Копирование прекратится, как только будут скопированы все элементы этого набора или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода итератор, на котором он был вызван, должен быть удалён. Его дальнейшее использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Source
Копирование элементов в массив, возвращая количество скопированных элементов.
Заполняет заданный массив xs, начиная с индекса start, значениями из этого набора.
Копирование прекратится, как только будут скопированы все элементы этого набора или будет достигнут конец массива.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода итератор, на котором он был вызван, должен быть удалён. Его дальнейшее использование не определено и может измениться. |
| Унаследовано от | IterableOnceOps |
Source
Проверяет, соответствуют ли все элементы итератора этого набора соответствующим элементам другого набора, удовлетворяя заданному предикату.
Примечание: не завершит работу для бесконечных наборов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение |
|
| Унаследовано от | IterableOnceOps |
Source
Подсчитывает количество элементов в коллекции, удовлетворяющих предикату.
Примечание: не завершается для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
id="diff-dde"> Источник
Вычисляет разность данного множества и другого множества.
| Параметры значения |
|
|---|---|
| Возвращает | множество, содержащее элементы данного множества, которые не содержатся также в заданном множестве |
| Унаследовано от | SetOps |
id="drop-aba"> Источник
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемую коллекцию, состоящую из всех элементов этой итерируемой коллекции, кроме первых |
| Унаследовано от | IterableOps |
id="dropRight-aba"> Источник
Выбирает все элементы, кроме последних n.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемую коллекцию, состоящую из всех элементов этой итерируемой коллекции, кроме последних |
| Унаследовано от | IterableOps |
id="dropWhile-c24"> Источник
Удаляет самую длинную префиксную часть элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | наибольший суффикс этой итерируемой коллекции, первый элемент которого не удовлетворяет предикату |
| Унаследовано от | IterableOps |
id="empty-0">
Источник
override def empty: CC[A]
Пустая итерируемая коллекция того же типа, что и эта итерируемая коллекция
| Возвращает | пустая итерируемая коллекция типа |
|---|---|
| Классы определения | IterableFactoryDefaults -> IterableOps |
| Унаследовано от | IterableFactoryDefaults |
id="equals-4ad"> Источник
Равенство множеств реализовано с помощью метода поиска 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
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Классы определений | Set -> Equals -> Any |
| Унаследовано от | Set |
Исходный код
Проверяет, выполняется ли предикат хотя бы для одного элемента этого набора.
Примечание: может не завершиться для коллекций бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Исходный код
Выбирает все элементы этой итерируемой коллекции, удовлетворяющие предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новая итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, удовлетворяющих заданному предикату |
| Унаследовано от | IterableOps |
Исходный код
Выбирает все элементы этой итерируемой коллекции, не удовлетворяющие предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новая итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, не удовлетворяющих заданному предикату |
| Унаследовано от | IterableOps |
Исходный код
Находит первый элемент коллекции, удовлетворяющий предикату, если таковой существует.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение Option, содержащее первый элемент в коллекции, удовлетворяющий |
| Унаследовано от | IterableOnceOps |
Исходный код
def flatMap[B](f: A => IterableOnce[B]): CC[B]
Создает новую итерируемую коллекцию, применяя функцию ко всем элементам этой итерируемой коллекции и используя элементы полученных коллекций.
Например:
def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")
Тип результирующей коллекции определяется статическим типом итерируемой коллекции. Это может иногда приводить к неожиданным результатам. Например:
// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)
// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap ((word: String) => word.toSeq)
// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)
// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | новый итерируемый набор, полученный в результате применения заданной функции, принимающей наборы и возвращающей набор |
| Унаследовано от | IterableOps |
Источник
def flatten[B](implicit asIterable: 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)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | новый итерируемый набор, полученный в результате конкатенации всех итерируемых наборов элементов. |
| Унаследовано от | IterableOps |
Источник
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 |
|---|
Источник
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.
| Возвращает | значение хэш-кода для этого объекта. |
|---|---|
| Определяющие классы | Set -> Any |
| Унаследовано от | Set |
Исходный код
def head: A
Выбор первого элемента этой итерируемой коллекции.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен.
| Возвращает | первый элемент этой итерируемой коллекции. |
|---|---|
| Исключения |
|
| Унаследовано от | IterableOps |
Исходный код
def headOption: Option[A]
Необязательный выбор первого элемента.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен.
| Возвращает | первый элемент этой итерируемой коллекции, если она непустая, |
|---|---|
| Унаследовано от | IterableOps |
Исходный код
def init: C
Начальная часть коллекции без последнего элемента.
Примечание: даже при применении к представлению или ленивой коллекции она всегда принудительно будет обрабатывать элементы.
| Унаследовано от | IterableOps |
|---|
Исходный код
Итерируется по начальным частям этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, промежуточные значения — результаты последовательных применений init.
Примечание: даже при применении к представлению или ленивой коллекции она всегда принудительно будет обрабатывать элементы.
| Возвращает | итератор по всем начальным частям этой итерируемой коллекции |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Исходный код
Вычисление пересечения между этим множеством и другим множеством.
| Параметры значения |
|
|---|---|
| Возвращает | новое множество, состоящее из всех элементов, которые присутствуют как в этом множестве, так и в заданном множестве |
| Унаследовано от | SetOps |
Исходный код
Проверка, является ли коллекция пустой.
Примечание: Реализации в подклассах, которые не являются повторно проходимыми, должны позаботиться о том, чтобы не потреблять элементы при вызове isEmpty.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Исходный код
override def isTraversableAgain: Boolean
Проверка, можно ли повторно пройти эту итерируемую коллекцию. Всегда true для Iterables и false для Iterators, если не переопределено.
| Возвращает |
|
|---|---|
| Определяющие классы | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Исходный код
Компаньон-объект этого множества, предоставляющий различные фабричные методы.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Определяющие классы | Set -> Iterable -> IterableOps |
| Унаследовано от | Set |
Исходный код
Итератор может быть использован только один раз
| Унаследовано от | IterableOnce |
|---|
Исходный код
| Возвращает | Количество элементов в этой коллекции, если его можно легко вычислить, -1 в противном случае. Легко — обычно означает: Не требует обхода коллекции. |
|---|---|
| Унаследовано от | IterableOnce |
Исходный код
def last: A
Выбор последнего элемента.
Примечание: может возвращать разные результаты для разных запусков, если тип коллекции не упорядочен.
| Возвращает | Последний элемент этой итерируемой коллекции. |
|---|---|
| Исключения |
|
| Унаследовано от | IterableOps |
Source
def lastOption: Option[A]
Возвращает последний элемент.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не является упорядоченным.
| Возвращает | последний элемент этого итерируемого набора, если он не пустой, |
|---|---|
| Унаследовано от | IterableOps |
Source
Аналогично 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 |
Source
def map[B](f: A => B): CC[B]
Создает новый итерируемый набор, применяя функцию ко всем элементам этого итерируемого набора.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый итерируемый набор, полученный путем применения данной функции |
| Унаследовано от | IterableOps |
Source
Находит наибольший элемент.
Примечание: не будет завершаться для наборов бесконечной размерности.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наибольший элемент этого набора относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
Примечание: не будет завершаться для наборов бесконечной размерности.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этого набора с наибольшим значением, измеренным функцией f относительно упорядочения |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который возвращает наибольшее значение, измеренное функцией f.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наибольший элемент.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее наибольший элемент этой коллекции относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наименьший элемент этой коллекции относительно порядка |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который возвращает наименьшее значение, измеренное функцией f.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно порядка |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который возвращает наименьшее значение, измеренное функцией f.
Примечание: не будет завершаться для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение типа Option, содержащее первый элемент этой коллекции с наименьшим значением, измеренным функцией f относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение Option, содержащее наименьший элемент этой коллекции относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этой коллекции в строке.
Делегирует addString, который можно переопределить.
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этой коллекции в строке с использованием разделительной строки.
Делегирует addString, который можно переопределить.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. В результирующей строке строковые представления (относительно метода |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этой коллекции в строке с использованием начальной, конечной и разделительных строк.
Делегирует addString, который можно переопределить.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этой коллекции. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
protected def newSpecificBuilder: Builder[A, CC[A]]
| Возвращает | строгий билдер для того же типа коллекции. Обратите внимание, что в случае ленивых коллекций (например, scala.collection.View или scala.collection.immutable.LazyList) реализация этого метода возможна, но полученный |
|---|---|
| Примечание |
При реализации пользовательского типа коллекции и уточнении Как свидетельствует аннотация |
| Унаследовано от | IterableFactoryDefaults |
Источник
Проверяет, не пуста ли коллекция.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Пара, состоящая, во-первых, из всех элементов, удовлетворяющих предикату p, и, во-вторых, из всех элементов, которые не удовлетворяют. Интересно тем, что она разделяет коллекцию на две части.
Указанная здесь реализация по умолчанию требует двукратного обхода коллекции. Строгие коллекции имеют переопределенную версию partition в StrictOptimizedIterableOps, которая требует только одного обхода.
| Унаследовано от | IterableOps |
|---|
Источник
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))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | пару итерируемых коллекций: первая содержит те значения, возвращенные |
| Унаследовано от | IterableOps |
Источник
Перемножает элементы этой коллекции.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | произведение всех элементов этой коллекции относительно оператора |
| Унаследовано от | 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]
Применяет бинарный оператор ко всем элементам этого набора слева направо (необязательно).
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | значения опции, содержащей результат |
| Унаследовано от | IterableOnceOps |
Источник
def reduceOption[B >: A](op: (B, B) => B): Option[B]
Сводит элементы этого набора, если таковые имеются, с использованием указанного ассоциативного бинарного оператора.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | Значение опции, содержащее результат применения оператора reduce |
| Унаследовано от | IterableOnceOps |
Источник
def reduceRight[B >: A](op: (A, B) => B): B
Применяет бинарный оператор ко всем элементам этого набора справа налево.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен или оператор ассоциативен и коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Выбрасывает |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceRightOption[B >: A](op: (A, B) => B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этого набора справа налево.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен или оператор ассоциативен и коммутативен.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | значения опции, содержащей результат |
| Унаследовано от | IterableOnceOps |
Источник
| Унаследовано от | IterableOnceOps |
|---|
Источник
def scan[B >: A](z: B)(op: (B, B) => B): CC[B]
Вычисляет префиксный сканирование элементов набора.
Примечание: нейтральный элемент z может применяться более одного раза.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый итерируемый набор, содержащий префиксное сканирование элементов в этом итерируемом наборе |
| Унаследовано от | IterableOps |
Источник
def scanLeft[B](z: B)(op: (B, A) => B): CC[B]
Создает итерируемый набор, содержащий кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не будет завершаться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен.
| Тип параметров |
|
|---|---|
| Параметры значения |
|
| Возвращает | набор с промежуточными результатами |
| Унаследовано от | IterableOps |
Источник
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 |
Источник
Размер этого набора.
Примечание: не будет завершаться для наборов бесконечного размера.
| Возвращает | количество элементов в этом наборе. |
|---|---|
| Унаследовано от | IterableOnceOps |
Источник
Сравнивает размер этого итерируемого набора с размером другого Iterable.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < that.size x == 0 if this.size == that.size x > 0 if this.size > that.size Метод, как реализован здесь, не вызывает |
| Унаследовано от | IterableOps |
Source
Сравнивает размер этого итерируемого набора со значением-тестом.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < otherSize x == 0 if this.size == otherSize x > 0 if this.size > otherSize Метод, как он реализован здесь, не вызывает |
| См. также | |
| Унаследовано от | IterableOps |
Source
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 |
|---|
Source
Выбирает интервал элементов. Возвращаемый итерируемый набор состоит из всех элементов x, которые удовлетворяют инварианту:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемый набор, содержащий элементы, большие или равные индексу |
| Унаследовано от | IterableOps |
Source
Группирует элементы в блоки фиксированного размера, передавая по ним «скользящее окно» (в отличие от их разбиения, как в grouped.)
Возвращаемый итератор будет пустым при вызове на пустом наборе. Последний элемент, который производит итератор, может быть меньше размера окна, если исходный набор не исчерпан окном до его конца и его последний элемент не пропущен шагом перед ним.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, производящий итерируемые наборы размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Source
Группирует элементы в блоки фиксированного размера, передавая по ним «скользящее окно» (в отличие от их разбиения, как в grouped.)
Пустой набор возвращает пустой итератор, а непустой набор, содержащий меньше элементов, чем размер окна, возвращает итератор, который будет производить исходный набор как свой единственный элемент.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, производящий итерируемые наборы размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Source
Разделяет этот итерируемый набор на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | пару, состоящую из самого длинного префикса этого итерируемого набора, элементы которого удовлетворяют условию |
| Унаследовано от | IterableOps |
Source
Разделяет этот итерируемый набор на пару префикс/суффикс в заданной позиции.
Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | пару итерируемых наборов, состоящую из первых |
| Классы определений | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
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 можно преобразовать только в последовательные потоки.
| Унаследовано от | IterableOnce |
|---|
Source
Проверяет, является ли этот набор подмножеством другого набора.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SetOps |
Source
Итератор по всем подмножествам этого множества.
| Возвращает | итератор. |
|---|---|
| Унаследовано от | SetOps |
Source
Итератор по всем подмножествам этого множества заданного размера. Если запрашиваемый размер недостижим, возвращается пустой итератор.
| Параметры значения |
|
|---|---|
| Возвращает | итератор. |
| Унаследовано от | SetOps |
Source
Суммирует элементы этого набора.
Примечание: не завершится для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | сумма всех элементов этого набора относительно оператора |
| Унаследовано от | IterableOnceOps |
Source
def tail: C
Остальная часть набора без первого элемента.
| Унаследовано от | IterableOps |
|---|
Source
Итерация по хвостам этого итерируемого набора. Первое значение будет этим итерируемым набором, а последнее — пустым итерируемым набором, а промежуточные значения — результаты последовательных применений tail.
| Возвращает | итератор по всем хвостам этого итерируемого набора |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Source
Выбирает первые n элементов.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемый набор, содержащий только первые |
| Унаследовано от | IterableOps |
Source
Выбирает последние n элементов.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемый набор, содержащий только последние |
| Унаследовано от | IterableOps |
Source
Берет самую длинную префиксную последовательность элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | самая длинная префиксная последовательность этого итерируемого набора, элементы которой удовлетворяют предикату |
| Унаследовано от | IterableOps |
Source
override def tapEach[U](f: A => U): C
Применяет функцию с побочным эффектом к каждому элементу в этом наборе. Строгие наборы немедленно применят f к своим элементам, в то время как ленивые наборы, такие как представления и LazyLists, применят f к каждому элементу только при необходимости и каждый раз, когда этот элемент оценивается.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | логически тот же набор, что и этот |
| Классы определения | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Source
С помощью фабрики наборов factory преобразовать этот набор в соответствующее представление для текущего типа элементов A. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Целое]
| Унаследовано от | IterableOnceOps |
|---|
Source
Преобразует набор в массив.
Замечание по реализации: НЕ вызывайте Array.from из этого метода.
| Унаследовано от | IterableOnceOps |
|---|
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
def toSeq: Последовательность[A]
| Возвращает | Этот набор как |
|---|---|
| Унаследовано от | IterableOnceOps |
Source
| Inherited from | IterableOnceOps |
|---|
Source
Возвращает строковое представление объекта.
По умолчанию представление зависит от платформы.
| Returns | строковое представление объекта. |
|---|---|
| Definition Classes | Set -> Function1 -> Iterable -> Any |
| Inherited from | Set |
Source
| Inherited from | IterableOnceOps |
|---|
Source
Транспонирует это итерируемое множество итерируемых множеств в итерируемое множество итерируемых множеств.
Тип результирующего множества определяется статическим типом итерируемого множества. Например:
val xs = List(
Set(1, 2, 3),
Set(4, 5, 6)).transpose
// xs == List(
// List(1, 4),
// List(2, 5),
// List(3, 6))
val ys = Vector(
List(1, 2, 3),
List(4, 5, 6)).transpose
// ys == Vector(
// Vector(1, 4),
// Vector(2, 5),
// Vector(3, 6))
Примечание: Даже при применении к представлению или ленивому множеству, элементы всегда будут принудительно вычисляться.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | двумерное итерируемое множество итерируемых множеств, в котором n-я строка является n-м столбцом этого итерируемого множества. |
| Throws |
|
| Inherited from | IterableOps |
Source
Вычисляет объединение множества и другого множества.
| Value parameters |
|
|---|---|
| Returns | новое множество, состоящее из всех элементов, которые находятся в этом множестве или в заданном множестве |
| Inherited from | SetOps |
Source
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))
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | пара итерируемых множеств, содержащая первую и, соответственно, вторую половину каждой пары элементов этого итерируемого множества. |
| Inherited from | IterableOps |
Source
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))
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | тройка итерируемых множеств, содержащая первый, второй и, соответственно, третий член каждой тройки элементов этого итерируемого множества. |
| Inherited from | IterableOps |
Source
Представление элементов этого множества.
| Inherited from | IterableOps |
|---|
Source
Создаёт нестрогий фильтр этого итерируемого множества.
Примечание: разница между c filter p и c withFilter p заключается в том, что первый создаёт новое множество, а второй лишь ограничивает область действия последующих map, flatMap, foreach и withFilter операций.
Примечание: может возвращать разные результаты в разных запусках, если тип базового множества не упорядочен.
| Value parameters |
|
|---|---|
| Returns | объект класса |
| Inherited from | IterableOps |
Source
def zip[B](that: IterableOnce[B]): CC[(A, B)]
Возвращает итерируемое множество, сформированное из этого итерируемого множества и другого итерируемого множества путём объединения соответствующих элементов в пары. Если одно из двух множеств длиннее другого, его оставшиеся элементы игнорируются.
| Type parameters |
|
|---|---|
| Value parameters |
|
| Returns | новое итерируемое множество, содержащее пары, состоящие из соответствующих элементов этого итерируемого множества и |
| Inherited from | IterableOps |
Source
Возвращает итерируемое множество, сформированное из этого итерируемого множества и другого итерируемого множества путём объединения соответствующих элементов в пары. Если одно из двух множеств короче другого, для расширения более короткого множества до длины более длинного используются плацехолдеры.
| Value parameters |
|
|---|---|
| Returns | новое множество типа |
| Inherited from | IterableOps |
Source
def zipWithIndex: CC[(A, Int)]
Комбинирует это итерируемое множество со своими индексами.
| Returns | новое итерируемое множество, содержащее пары, состоящие из всех элементов этого итерируемого множества, соединённых с их индексом. Индексы начинаются с |
|---|---|
| Example | |
| Inherited from | IterableOps |
Source
Псевдоним для union
| Унаследовано от | SetOps |
|---|
© 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/AbstractSet.html