Spec-Zone.ru › Scala 2.13 Library

Класс scala.collection.AbstractSet

абстрактный класс AbstractSet[A] extends AbstractIterable[A] with Set[A]

Явное создание экземпляра Set тракта для уменьшения размера файлов классов в подклассах.

Аннотации
@SerialVersionUID()
Источник
Set.scala
Линейные супертипы
Set[A], Equals, SetOps[A, Set, Set[A]], (A) => Boolean, AbstractIterable[A], Iterable[A], IterableFactoryDefaults[A, [x]Set[x]], IterableOps[A, [_]Set[_], Set[A]], IterableOnceOps[A, [_]Set[_], Set[A]], IterableOnce[A], AnyRef, Any
Известные подклассы
Набор значений, Множество ключей, Абстрактное множество, Множество битов, Множество хешей, Множество списков, Узел, Неизменяемое множество ключей, Множество1, Множество2, Множество3, Множество4, Неизменяемое отсортированное множество ключей, Отсортированное множество, Абстрактное изменяемое множество, Изменяемое множество битов, Изменяемое множество хешей, Связанное множество ключей, Связанное множество, Изменяемое отсортированное множество, BitSet1, BitSet2, BitSetN

Конструкторы экземпляров

new AbstractSet()

Абстрактные члены значений

abstract def contains(elem: A): Boolean

Definition Classes
SetOps

abstract def diff(that: Set[A]): Set[A]

Вычисляет разность этого множества и другого множества.

that

множество элементов, которые нужно исключить.

returns

множество, содержащее элементы этого множества, которые также не содержатся в заданном множестве that.

Definition Classes
SetOps

abstract def iterator: Iterator[A]

Итератор можно использовать только один раз

Definition Classes
IterableOnce

Члены-значения конкретного типа

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

возвращает

true если !(this == that), иначе false.

Классы-определения
AnyRef → Any

final def ##(): Int

Эквивалентно x.hashCode, за исключением упакованных числовых типов и null. Для числовых типов возвращает значение хэша, соответствующее равенству значений: если две экземпляры типа значения сравниваются как true, то ## вернёт одинаковое значение хэша для каждой из них. Для null возвращает код хэша, где null.hashCode вызывает NullPointerException.

возвращает

значение хэша, согласованное с ==

Классы-определения
AnyRef → Any

final def &(that: Set[A]): Set[A]

Псевдоним для intersect

Классы-определения
SetOps
Аннотации
@inline()

final def &~(that: Set[A]): Set[A]

Псевдоним для diff

Классы-определения
SetOps
Аннотации
@inline()

final def ++(that: IterableOnce[A]): Set[A]

Псевдоним для concat

Классы-определения
SetOps
Аннотации
@inline()

final def ++[B >: A](suffix: IterableOnce[B]): Set[B]

Псевдоним для concat

Definition Classes
IterableOps
Annotations
@inline()

def ->[B](y: B): (AbstractSet[A], B)

Неявный
Этот член добавлен неявным преобразованием из AbstractSet[A] в ArrowAssoc[AbstractSet[A]], выполненное методом ArrowAssoc в scala.Predef.
Definition Classes
ArrowAssoc
Annotations
@inline()

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

returns

true, если объект-получатель эквивалентен аргументу; false в противном случае.

Definition Classes
AnyRef → Any

final def addString(b: mutable.StringBuilder): mutable.StringBuilder

Добавляет все элементы этого набора в строковый буфер. Текст состоит из строковых представлений (с точки зрения метода 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
b

строковый буфер, в который добавляются элементы.

returns

строковый буфер b, в который были добавлены элементы.

Definition Classes
IterableOnceOps
Annotations
@inline()

final def addString(b: mutable.StringBuilder, sep: String): mutable.StringBuilder

Добавляет все элементы этой коллекции в строковый буфер с использованием разделительной строки. Записанный текст состоит из строковых представлений (относительно метода 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
b

строковый буфер, в который добавляются элементы.

sep

разделительная строка.

returns

строковый буфер b, в который были добавлены элементы.

Definition Classes
IterableOnceOps
Annotations
@inline()

def addString(b: mutable.StringBuilder, start: String, sep: String, end: String): mutable.StringBuilder

Добавляет все элементы этой коллекции в строковый буфер, используя начальную, конечную и разделительную строки. Записанный текст начинается со строки 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)
b

строковый буфер, в который добавляются элементы.

start

начальная строка.

sep

разделительная строка.

end

конечная строка.

returns

строковый буфер b, в который были добавлены элементы.

Definition Classes
IterableOnceOps

def andThen[A](g: (Boolean) => A): (A) => A

Компонует две функции Function1 в новую Function1, применяя эту функцию первой.

A

тип результата функции g

g

функция R => A

returns

новая функция f, такая что f(x) == g(apply(x))

Definition Classes
Function1
Annotations
@unspecialized()

final def apply(elem: A): Boolean

Проверяет, содержится ли какой-либо элемент в этом множестве.

Этот метод эквивалентен contains. Он позволяет интерпретировать множества как предикаты.

elem

элемент, который нужно проверить на принадлежность множеству.

returns

true, если elem содержится в этом множестве, false в противном случае.

Definition Classes
SetOps → Function1
Annotations
@inline()

final def asInstanceOf[T0]: T0

Преобразовать получаемый объект в тип T0.

Обратите внимание, что успех преобразования во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] не выбросит. В последнем примере, так как аргумент типа стирается во время компиляции, невозможно проверить, содержат ли элементы списка требуемый тип.

returns

получаемый объект.

Definition Classes
Any
Exceptions thrown

ClassCastException, если получаемый объект не является экземпляром стирания типа T0.

def canEqual(that: Any): Boolean

Метод, который должен вызываться из каждого хорошо спроектированного метода equals, который может быть переопределен в подклассе. См. Programming in Scala, Chapter 28 для обсуждения и проектирования.

that

значение, которое проверяется на возможность равенства

returns

true, если этот экземпляр может быть равен that, иначе false

Definition Classes
Set → Equals

def className: String

Определяет префикс представления этого объекта в toString.

Рекомендуется возвращать имя конкретного типа коллекции, но не подклассы реализации. Например, для ListMap этот метод должен возвращать "ListMap", а не "Map" (супертип) или "Node" (подкласс реализации).

По умолчанию реализация возвращает "Iterable". Она переопределяется для основных типов коллекций "Seq", "IndexedSeq", "LinearSeq", "Buffer", "Set", "Map", "SortedSet", "SortedMap" и "View".

returns

строковое представление, которое начинается результатом применения toString к этой итерируемой коллекции. По умолчанию префикс строки - простое имя класса коллекции итерируемой коллекции.

Attributes
protected[this]
Definition Classes
Iterable

def clone(): AnyRef

Создайте копию объекта-получателя.

По умолчанию реализация метода clone зависит от платформы.

возвращает

копию объекта-получателя.

Атрибуты
protected[java.lang]
Определяющие классы
AnyRef
Аннотации
@throws(classOf[java.lang.CloneNotSupportedException]) @native()
Примечание

не указано SLS как член AnyRef

final def coll: AbstractSet.this.type

возвращает

Это коллекция как C.

Атрибуты
protected
Определяющие классы
Iterable → IterableOps

def collect[B](pf: PartialFunction[A, B]): Set[B]

Создаёт новую коллекцию итерабельных объектов, применяя частичную функцию ко всем элементам этой итерабельной коллекции, для которых функция определена.

B

тип элементов возвращаемой итерабельной коллекции.

pf

частичная функция, которая фильтрует и отображает итерабельную коллекцию.

возвращает

новая итерабельная коллекция, полученная путём применения заданной частичной функции pf к каждому элементу, для которого она определена, и сбора результатов. Порядок элементов сохраняется.

Определяющие классы
IterableOps → IterableOnceOps
Примечание

Повторное использование: после вызова этого метода следует отбросить итератор, на котором он был вызван, и использовать только тот итератор, который был возвращён. Использование старого итератора является неопределённым, может измениться и может привести к изменениям в новом итераторе также.

def collectFirst[B](pf: PartialFunction[A, B]): Option[B]

Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.

Примечание: может не завершиться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

pf

частичная функция

возвращает

значение типа Option, содержащее pf, применённую к первому значению, для которого она определена, или None, если такового не существует.

Определяющие классы
IterableOnceOps
Пример:

    Seq("a", 1, 5L).collectFirst({ case x: Int => x*10 }) = Some(10)

def compose[A](g: (A) => A): (A) => Boolean

Компонует два экземпляра Function1 в новый Function1, применяя этот метод последним.

A

тип, к которому можно применить функцию g

g

функция A => T1

returns

новая функция f, такая что f(x) == apply(g(x))

Definition Classes
Function1
Annotations
@unspecialized()

def concat(that: IterableOnce[A]): Set[A]

Создаёт новое множество, добавляя все элементы, содержащиеся в другой коллекции, в это множество, опуская дубликаты.

Этот метод принимает коллекцию элементов и добавляет все элементы, опуская дубликаты, в множество.

Пример:

scala> val a = Set(1, 2) concat Set(2, 3)
a: scala.collection.immutable.Set[Int] = Set(1, 2, 3)
that

коллекция, содержащая элементы, которые нужно добавить.

returns

новое множество с добавленными элементами, опуская дубликаты.

Definition Classes
SetOps

def concat[B >: A](suffix: IterableOnce[B]): Set[B]

Возвращает новую итерируемую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элемента итерируемой коллекции — это наиболее специфический суперкласс, охватывающий типы элементов двух операндов.

B

тип элемента возвращаемой коллекции.

suffix

перебираемая коллекция для добавления.

returns

новая итерируемая коллекция, содержащая все элементы этой итерируемой коллекции, за которыми следуют все элементы suffix.

Definition Classes
IterableOps

def copyToArray[B >: A](xs: Array[B], start: Int, len: Int): Int

Копирует элементы в массив, возвращая количество скопированных элементов.

Заполняет заданный массив xs, начиная с индекса start, не более чем len элементами из этого набора.

Копирование завершается, когда скопированы все элементы этого набора, достигнут конец массива или скопировано len элементов.

B

тип элементов массива.

xs

массив для заполнения.

start

начальный индекс массива xs.

len

максимальное количество элементов для копирования.

returns

количество элементов, записанных в массив

Definition Classes
IterableOnceOps
Note

Использование: после вызова этого метода итератор, на котором он был вызван, следует удалить. Использование итератора после вызова этой функции не определено и может измениться. Примечание: не завершится для коллекций бесконечного размера.

def copyToArray[B >: A](xs: Array[B], start: Int): Int

Копирует элементы в массив, возвращая количество скопированных элементов.

Заполняет заданный массив xs, начиная с индекса start, значениями из этой коллекции.

Копирование завершается, когда скопированы все элементы этой коллекции или достигнут конец массива.

B

тип элементов массива.

xs

массив для заполнения.

start

начальный индекс массива xs.

returns

количество элементов, записанных в массив. Примечание: не завершится для коллекций бесконечного размера.

Definition Classes
IterableOnceOps

def copyToArray[B >: A](xs: Array[B]): Int

Копирует элементы в массив, возвращая количество скопированных элементов.

Заполняет заданный массив xs, начиная с индекса start, значениями из этой коллекции.

Копирование завершается, когда скопированы все элементы этой коллекции или достигнут конец массива.

B

тип элементов массива.

xs

массив для заполнения.

returns

количество элементов, записанных в массив. Примечание: не завершится для коллекций бесконечного размера.

Definition Classes
IterableOnceOps

def corresponds[B](that: IterableOnce[B])(p: (A, B) => Boolean): Boolean

Проверяет, соответствует ли каждый элемент итератора этой коллекции соответствующему элементу другой коллекции, удовлетворяя предикату проверки.

B

тип элементов that

that

другая коллекция

p

предикат проверки, который сопоставляет элементы из обеих коллекций

returns

true, если обе коллекции имеют одинаковую длину и p(x, y) является true для всех соответствующих элементов x этого итератора и y из that, в противном случае false

Definition Classes
IterableOnceOps

def count(p: (A) => Boolean): Int

Подсчитывает количество элементов в коллекции, удовлетворяющих предикату.

p

предикат для проверки элементов.

returns

количество элементов, удовлетворяющих предикату p.

Definition Classes
IterableOnceOps

def drop(n: Int): Set[A]

Выбирает все элементы, кроме первых n.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

n

количество элементов для удаления из этой итерируемой коллекции.

returns

итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, за исключением первых n элементов, или же пустая итерируемая коллекция, если в этой итерируемой коллекции меньше n элементов. Если n отрицательно, не удалять никаких элементов.

Definition Classes
IterableOps → IterableOnceOps
Note

Использование: После вызова этого метода необходимо удалить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе также.

def dropRight(n: Int): Set[A]

Выбирает все элементы, кроме последних n.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

n

количество элементов для удаления из этой итерируемой коллекции.

returns

итерируемая коллекция, состоящая из всех элементов этой итерируемой коллекции, за исключением последних n элементов, или же пустая итерируемая коллекция, если в этой итерируемой коллекции меньше n элементов. Если n отрицательно, не удалять никаких элементов.

Definition Classes
IterableOps

def dropWhile(p: (A) => Boolean): Set[A]

Удаляет наибольший префикс элементов, удовлетворяющих предикату.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

p

Предикат, используемый для проверки элементов.

returns

наибольший суффикс этого итерируемого множества, первый элемент которого не удовлетворяет предикату p.

Definition Classes
IterableOps → IterableOnceOps
Note

Переиспользование: после вызова этого метода нужно удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может измениться, и может привести к изменениям в новом итераторе также.

def empty: Set[A]

Пустое итерируемое множество того же типа, что и это итерируемое множество

returns

пустое итерируемое множество типа C.

Definition Classes
IterableFactoryDefaults → IterableOps

def ensuring(cond: (AbstractSet[A]) => Boolean, msg: => Any): AbstractSet[A]

Implicit
Этот член добавлен неявным преобразованием из AbstractSet[A] вEnsuring[AbstractSet[A]] выполняемое методом Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: (AbstractSet[A]) => Boolean): AbstractSet[A]

Неявный
Этот член добавлен неявным преобразованием из AbstractSet[A] в Ensuring[AbstractSet[A]], выполненное методом Ensuring в scala.Predef.
Классы определений
Ensuring

def ensuring(cond: Boolean, msg: => Any): AbstractSet[A]

Неявный
Этот член добавлен неявным преобразованием из AbstractSet[A] в Ensuring[AbstractSet[A]], выполненное методом Ensuring в scala.Predef.
Классы определений
Ensuring

def ensuring(cond: Boolean): AbstractSet[A]

Неявный
Этот член добавлен неявным преобразованием из AbstractSet[A] в Ensuring[AbstractSet[A]], выполненное методом Ensuring в scala.Predef.
Классы определений
Ensuring

final def eq(arg0: AnyRef): Boolean

Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).

Метод eq реализует отношение эквивалентности отношение эквивалентности для не-нулевых экземпляров AnyRef, и имеет три дополнительных свойства:

    Он согласован: для любых не-нулевых экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого не-нулевого экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false. null.eq(null) возвращает true.

При переопределении методов equals или hashCode важно обеспечить согласованность их поведения с равенством ссылок. Поэтому, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и должны иметь одинаковое хэшкодирование (o1.hashCode == o2.hashCode).

returns

true, если аргумент является ссылкой на объект-получатель; false в противном случае.

Definition Classes
AnyRef

def equals(that: Any): Boolean

Универсальный метод равенства, определенный в AnyRef.

Definition Classes
Set → Equals → AnyRef → Any

def exists(p: (A) => Boolean): Boolean

Проверяет, выполняется ли предикат хотя бы для одного элемента этого набора.

Примечание: может не завершиться для коллекций бесконечного размера.

p

предикат, используемый для проверки элементов.

returns

true, если заданный предикат p выполняется хотя бы для одного элемента этой коллекции, в противном случае false

Definition Classes
IterableOnceOps

def filter(pred: (A) => Boolean): Set[A]

Выбирает все элементы этого итерируемого набора, которые удовлетворяют предикату.

returns

новый итератор, состоящий из всех элементов этого итерируемого набора, которые удовлетворяют заданному предикату p. Порядок элементов сохраняется.

Definition Classes
IterableOps → IterableOnceOps

def filterNot(pred: (A) => Boolean): Set[A]

Выбирает все элементы этого итерируемого набора, которые не удовлетворяют предикату.

pred

предикат, используемый для проверки элементов.

returns

новый итерируемый набор, состоящий из всех элементов этого итерируемого набора, которые не удовлетворяют заданному предикату pred. Порядок элементов может быть не сохранён.

Definition Classes
IterableOps → IterableOnceOps

def finalize(): Unit

Вызывается сборщиком мусора для объекта-получателя, когда на объект больше нет ссылок.

Детали о том, когда и будет ли вызываться метод finalize, а также взаимодействие между finalize и нелокальными возвратами и исключениями, зависят от платформы.

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.Throwable])
Note

не указано SLS как член AnyRef

def find(p: (A) => Boolean): Option[A]

Находит первый элемент коллекции, удовлетворяющий предикату, если таковой имеется.

Примечание: может не завершиться для коллекций бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

p

предикат, используемый для проверки элементов.

returns

значение опционального типа, содержащее первый элемент в коллекции, который удовлетворяет p, или None, если таковой не существует.

Definition Classes
IterableOnceOps

def flatMap[B](f: (A) => IterableOnce[B]): Set[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)
B

тип элементов возвращаемого набора.

f

функция, применяемая к каждому элементу.

returns

новый итерируемый набор, полученный путём применения заданной функции, возвращающей коллекцию f, к каждому элементу этого итерируемого набора и конкатенации результатов.

Definition Classes
IterableOps → IterableOnceOps
Note

Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может измениться, и может привести к изменениям в новом итераторе также.

def flatten[B](implicit asIterable: (A) => IterableOnce[B]): Set[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)
B

тип элементов каждой коллекции.

asIterable

явное преобразование, которое утверждает, что тип элемента этого итерируемого множества является GenTraversable.

returns

новая итерируемая коллекция, полученная путем конкатенации всех итерируемых коллекций элементов.

Definition Classes
IterableOps → IterableOnceOps
Note

Переиспользование: После вызова этого метода следует отказаться от итератора, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе также.

def fold[A1 >: A](z: A1)(op: (A1, A1) => A1): A1

Складывает элементы этой коллекции с использованием указанного ассоциативного бинарного оператора. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективных порядков обхода.

Порядок выполнения операций над элементами не определен и может быть не детерминированным.

Примечание: не завершится для коллекций бесконечного размера.

A1

параметр типа для бинарного оператора, супертип A.

z

нейтральный элемент для операции fold; может быть добавлен к результату произвольное количество раз и не должен изменять результат (например, Nil для конкатенации списков, 0 для сложения или 1 для умножения).

op

бинарный оператор, который должен быть ассоциативным.

returns

результат применения оператора fold op между всеми элементами и z, или z, если эта коллекция пуста.

Definition Classes
IterableOnceOps

def foldLeft[B](z: B)(op: (B, A) => B): B

Применяет бинарный оператор к начальному значению и всем элементам этого набора, слева направо.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен, или оператор не ассоциативен и не коммутативен.

B

тип результата бинарного оператора.

z

начальное значение.

op

бинарный оператор.

returns

результат вставки op между последовательными элементами этого набора слева направо с начальным значением z слева:

op(...op(z, x_1), x_2, ..., x_n)

где x1, ..., xn — элементы этого набора. Возвращает z, если этот набор пуст.

Definition Classes
IterableOnceOps

def foldRight[B](z: B)(op: (A, B) => B): B

Применяет бинарный оператор ко всем элементам этого набора и начальному значению, справа налево.

Примечание: не завершится для коллекций бесконечного размера.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен, или оператор не ассоциативен и не коммутативен.

B

тип результата бинарного оператора.

z

начальное значение.

op

бинарный оператор.

returns

результат вставки op между последовательными элементами этого набора справа налево с начальным значением z справа:

op(x_1, op(x_2, ... op(x_n, z)...))

где x1, ..., xn — элементы этого набора. Возвращает z, если этот набор пуст.

Definition Classes
IterableOnceOps

def forall(p: (A) => Boolean): Boolean

Проверяет, выполняется ли предикат для всех элементов этого набора.

Примечание: может не завершиться для коллекций бесконечного размера.

p

предикат, используемый для проверки элементов.

returns

true, если этот набор пуст или заданный предикат p выполняется для всех элементов этого набора, в противном случае false.

Definition Classes
IterableOnceOps

def foreach[U](f: (A) => U): Unit

Применяет f к каждому элементу для его побочных эффектов. Примечание: параметр [U] необходим для помощи в процессе вывода типов scalac.

Definition Classes
IterableOnceOps

def formatted(fmtstr: String): String

Возвращает строку, отформатированную в соответствии с заданной строкой format. Форматные строки аналогичны строкам String.format (@см. java.lang.String.format).

Неявный
Этот член добавляется с помощью неявного преобразования из AbstractSet[A] в StringFormat[AbstractSet[A]] с помощью метода StringFormat в scala.Predef.
Определяющие классы
StringFormat
Аннотации
@inline()

def fromSpecific(coll: IterableOnce[A]): Set[A]

Определяет, как преобразовать заданный Iterable[A] в коллекцию типа C.

Этот процесс может быть выполнен жёстко или нежёстко (т.е. без оценки элементов результирующих коллекций). Другими словами, этот метод определяет модель вычисления коллекции.

Атрибуты
protected
Определяющие классы
IterableFactoryDefaults → IterableOps
Примечание

При реализации пользовательского типа коллекции и уточнении C до нового типа, этот метод необходимо переопределить (в противном случае компилятор выдаст ошибку). В общем случае, когда C =:= CC[A], это можно сделать, смешав в IterableFactoryDefaults trait, который реализует метод с использованием iterableFactory.

,

Как свидетельствует аннотация @uncheckedVariance, использование этого метода может быть небезопасным. Однако, пока он вызывается с Iterable[A], полученным из this коллекции (как это происходит в реализациях операций, где мы используем View[A]), он безопасен.

final def getClass(): Class[_ <: AnyRef]

Возвращает представление класса объекта во время выполнения.

возвращает

объект класса, соответствующий типу получателя во время выполнения.

Определяющие классы
AnyRef → Any
Аннотации
@native()

def groupBy[K](f: (A) => K): immutable.Map[K, Set[A]]

Разделяет эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с некоторой функцией-дискриминатором.

Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычислены.

K

тип ключей, возвращаемых функцией-дискриминатором.

f

функция-дискриминатор.

возвращает

Карта, сопоставляющая ключи итерируемым коллекциям, таким что выполняется следующее инвариантное условие:

(xs groupBy f)(k) = xs filter (x => f(x) == k)

То есть, каждый ключ k сопоставляется с итерируемой коллекцией тех элементов x, для которых f(x) равно k.

Definition Classes
IterableOps

def groupMap[K, B](key: (A) => K)(f: (A) => B): immutable.Map[K, Set[B]]

Разделяет эту итерируемую коллекцию на карту итерируемых коллекций по функции-дискриминатору 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)

Примечание: даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычислены.

K

тип ключей, возвращаемых функцией-дискриминатором

B

тип значений, возвращаемых функцией преобразования

key

функция-дискриминатор

f

функция преобразования элементов

Definition Classes
IterableOps

def groupMapReduce[K, B](key: (A) => K)(f: (A) => B)(reduce: (B, B) => B): immutable.Map[K, B]

Разделяет эту итерируемую коллекцию на карту в соответствии с функцией-дискриминатором key. Все значения, имеющие одинаковый дискриминатор, затем преобразуются с помощью функции value, а затем сводятся к одному значению с помощью функции reduce.

Это эквивалентно groupBy(key).mapValues(_.map(f).reduce(reduce)), но более эффективно.

def occurrences[A](as: Seq[A]): Map[A, Int] =
  as.groupMapReduce(identity)(_ => 1)(_ + _)

Примечание: даже при применении к представлению или ленивой коллекции она всегда будет принудительно использовать элементы.

Definition Classes
IterableOps

def grouped(size: Int): Iterator[Set[A]]

Разделяет элементы в итерируемых коллекциях фиксированного размера.

size

количество элементов в группе

returns

Итератор, генерирующий итерируемые коллекции размера size, за исключением последней, которая будет меньше размера size, если элементы не делятся равномерно.

Definition Classes
IterableOps
See also

scala.collection.Iterator, метод grouped

def hashCode(): Int

Метод hashCode для ссылочных типов. См. hashCode в scala.Any.

returns

значение хэш-кода для этого объекта.

Definition Classes
Set → AnyRef → Any

def head: A

Выбирает первый элемент этой итерируемой коллекции.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

returns

первый элемент этой итерируемой коллекции.

Definition Classes
IterableOps
Exceptions thrown

NoSuchElementException, если итерируемая коллекция пуста.

def headOption: Option[A]

Необязательно выбирает первый элемент.

Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.

returns

первый элемент этой итерируемой коллекции, если она непустая, None если она пустая.

Definition Classes
IterableOps

def init: Set[A]

Начальная часть коллекции без её последнего элемента.

Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычислены.

Определяющие классы
IterableOps

def inits: Iterator[Set[A]]

Итерируется по начальным частям этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения — результатами последовательных применений init.

Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычислены.

возвращает

итератор по всем начальным частям этой итерируемой коллекции

Определяющие классы
IterableOps
Пример:

    List(1,2,3).inits = Iterator(List(1,2,3), List(1,2), List(1), Nil)

def intersect(that: Set[A]): Set[A]

Вычисляет пересечение этого множества и другого множества.

that

множество, с которым требуется пересечение.

возвращает

новое множество, состоящее из всех элементов, которые присутствуют как в этом множестве, так и в заданном множестве that.

Определяющие классы
SetOps

def isEmpty: Boolean

Проверяет, пуста ли коллекция.

Примечание: Реализации в подклассах, которые не являются многократно итерируемыми, должны позаботиться о том, чтобы не потреблять элементы при вызове isEmpty.

возвращает

true, если коллекция не содержит элементов, false в противном случае.

Определяющие классы
IterableOnceOps

final def isInstanceOf[T0]: Boolean

Проверяет, является ли динамический тип объекта-получателя объектом типа T0.

Обратите внимание, что результат теста выполняется с учётом стирания типов в Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, поскольку тип аргумента стирается во время компиляции, проверить, соответствуют ли элементы списка указанному типу, невозможно.

возвращает

true, если объект-получатель является экземпляром типа T0; false в противном случае.

Определяющие классы
Any

def isTraversableAgain: Boolean

Проверяет, может ли эта итерируемая коллекция быть многократно пройдена. Всегда истинно для Iterables и ложно для Iterators, если не переопределено.

returns

true, если она может быть многократно пройдена, false в противном случае.

Definition Classes
IterableOps → IterableOnceOps

def iterableFactory: IterableFactory[Set]

Объект-компаньон этого множества, предоставляющий различные методы создания.

Definition Classes
Set → Iterable → IterableOps
Note

При реализации пользовательского типа коллекции и уточнении CC до нового типа, этот метод необходимо переопределить, чтобы вернуть фабрику для нового типа (в противном случае компилятор выдаст ошибку).

def knownSize: Int

returns

Количество элементов в этой коллекции, если оно может быть вычислено с минимальными затратами, в противном случае -1. Недорого обычно означает: Не требующее обхода коллекции.

Definition Classes
IterableOnce

def last: A

Выбирает последний элемент.

Примечание: может возвращать разные результаты для разных запусков, если тип основной коллекции не упорядочен.

returns

Последний элемент этой итерируемой коллекции.

Definition Classes
IterableOps
Exceptions thrown

NoSuchElementException Если итерируемая коллекция пуста.

def lastOption: Option[A]

Необязательно выбирает последний элемент.

Примечание: может возвращать разные результаты для разных запусков, если тип основной коллекции не упорядочен.

returns

последний элемент этой итерируемой коллекции$, если она непуста, None если она пуста.

Definition Classes
IterableOps

def lazyZip[B](that: Iterable[B]): LazyZip2[A, B, AbstractSet.this.type]

Аналогично 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)
B

тип второго элемента в каждой возможной паре

that

итерируемый объект, предоставляющий второй элемент каждой возможной пары

returns

декоратор LazyZip2, который позволяет выполнять строгие операции над лениво вычисляемыми парами или объединёнными вызовами lazyZip. Также поддерживается неявное преобразование в Iterable[(A, B)].

Definition Classes
Iterable

def map[B](f: (A) => B): Set[B]

Создаёт новую итерируемую коллекцию, применяя функцию ко всем элементам этой итерируемой коллекции.

B

тип элемента возвращаемой итерируемой коллекции.

f

функция, применяемая к каждому элементу.

returns

новая итерируемая коллекция, полученная путём применения данной функции f к каждому элементу этой итерируемой коллекции и сбора результатов.

Definition Classes
IterableOps → IterableOnceOps
Note

Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может измениться, и может привести к изменениям в новом итераторе тоже.

def max[B >: A](implicit ord: math.Ordering[B]): A

Находит наибольший элемент.

B

Тип, по которому определено упорядочение.

ord

Упорядочение, используемое для сравнения элементов.

returns

наибольший элемент этой коллекции относительно упорядочения ord.

Definition Classes
IterableOnceOps
Exceptions thrown

UnsupportedOperationException, если эта коллекция пустая.

def maxBy[B](f: (A) => B)(implicit cmp: math.Ordering[B]): A

Находит первый элемент, который дает наибольшее значение, измеряемое функцией f.

B

Тип результата функции f.

f

Функция измерения.

cmp

Порядок, который используется для сравнения элементов.

returns

первый элемент этого набора с наибольшим значением, измеряемым функцией f относительно порядка cmp.

Definition Classes
IterableOnceOps
Exceptions thrown

UnsupportedOperationException, если этот набор пуст.

def maxByOption[B](f: (A) => B)(implicit cmp: math.Ordering[B]): Option[A]

Находит первый элемент, который дает наибольшее значение, измеряемое функцией f.

B

Тип результата функции f.

f

Функция измерения.

cmp

Порядок, который используется для сравнения элементов.

returns

значение типа Option, содержащее первый элемент этого набора с наибольшим значением, измеряемым функцией f относительно порядка cmp.

Definition Classes
IterableOnceOps

def maxOption[B >: A](implicit ord: math.Ordering[B]): Option[A]

Находит наибольший элемент.

B

Тип, по которому определяется порядок.

ord

Порядок, который используется для сравнения элементов.

returns

значение типа Option, содержащее наибольший элемент этого набора относительно порядка ord.

Definition Classes
IterableOnceOps

def min[B >: A](implicit ord: math.Ordering[B]): A

Находит наименьший элемент.

B

Тип, по которому определено упорядочение.

ord

Упорядочение, используемое для сравнения элементов.

returns

наименьший элемент этого набора относительно упорядочения ord.

Definition Classes
IterableOnceOps
Exceptions thrown

UnsupportedOperationException, если этот набор пуст.

def minBy[B](f: (A) => B)(implicit cmp: math.Ordering[B]): A

Находит первый элемент, который дает наименьшее значение, измеряемое функцией f.

B

Тип результата функции f.

f

Функция измерения.

cmp

Упорядочение, используемое для сравнения элементов.

returns

первый элемент этого набора с наименьшим значением, измеренным функцией f, относительно упорядочения cmp.

Definition Classes
IterableOnceOps
Exceptions thrown

UnsupportedOperationException, если этот набор пуст.

def minByOption[B](f: (A) => B)(implicit cmp: math.Ordering[B]): Option[A]

Находит первый элемент, который дает наименьшее значение, измеряемое функцией f.

B

Тип результата функции f.

f

Функция измерения.

cmp

Упорядочение, используемое для сравнения элементов.

returns

значение Option, содержащее первый элемент этого набора с наименьшим значением, измеренным функцией f, относительно упорядочения cmp.

Definition Classes
IterableOnceOps

def minOption[B >: A](implicit ord: math.Ordering[B]): Option[A]

Находит наименьший элемент.

B

Тип, по которому определяется порядок.

ord

Порядок, используемый для сравнения элементов.

returns

значение типа Option, содержащее наименьший элемент этого набора относительно порядка ord.

Definition Classes
IterableOnceOps

final def mkString: String

Отображает все элементы этого набора в строке.

Делегирует вызов методу addString, который может быть переопределен.

returns

строковое представление этого набора. В результирующей строке строковые представления (с помощью метода toString) всех элементов этого набора следуют друг за другом без разделительной строки.

Definition Classes
IterableOnceOps
Annotations
@inline()

final def mkString(sep: String): String

Отображает все элементы этого набора в строке с использованием разделительной строки.

Делегирует вызов методу addString, который может быть переопределен.

sep

разделительная строка.

returns

строковое представление этого набора. В результирующей строке строковые представления (с помощью метода toString) всех элементов этого набора разделены строкой sep.

Definition Classes
IterableOnceOps
Annotations
@inline()
Пример:

    List(1, 2, 3).mkString("|") = "1|2|3"

final def mkString(start: String, sep: String, end: String): String

Отображает все элементы этого набора в строке с использованием начальной, конечной и разделительной строк.

Делегирует вызов методу addString, который может быть переопределен.

start

начальная строка.

sep

разделительная строка.

end

конечная строка.

returns

строковое представление этого набора. Результирующая строка начинается со строки start и заканчивается строкой end. Внутри, строковые представления (с помощью метода toString) всех элементов этого набора разделены строкой sep.

Definition Classes
IterableOnceOps
Пример:

    List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

возвращает

true, если аргумент не является ссылкой на объект-получатель; false в противном случае.

Классы-определения
AnyRef

def newSpecificBuilder: Builder[A, Set[A]]

возвращает

строгий билдер для того же типа коллекции. Обратите внимание, что в случае ленивых коллекций (например, View или immutable.LazyList), реализовать этот метод возможно, но полученный Builder нарушит ленивость. Вследствие этого операции предпочтительно реализовывать с помощью fromSpecific вместо этого метода.

Атрибуты
protected
Классы-определения
IterableFactoryDefaults → IterableOps
Примечание

При реализации пользовательского типа коллекции и уточнении C до нового типа, необходимо переопределить этот метод (в противном случае компилятор выдаст ошибку). В общем случае, когда C =:= CC[A], это можно сделать, смешав в себе трайт IterableFactoryDefaults, который реализует метод с помощью iterableFactory.

,

Как свидетельствует аннотация @uncheckedVariance, использование этого метода может быть некорректным. Однако, если возвращаемый билдер используется только с A значениями, взятыми из this экземпляра, то он безопасен.

def nonEmpty: Boolean

Проверяет, не пуста ли коллекция.

возвращает

true, если коллекция содержит хотя бы один элемент, false в противном случае.

Классы-определения
IterableOnceOps
Аннотации
@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")

final def notify(): Unit

Разбуживает один поток, ожидающий монитор объекта-получателя.

Классы-определения
AnyRef
Аннотации
@native()
Примечание

не указан SLS как член AnyRef

final def notifyAll(): Unit

Разбуживает все потоки, ожидающие монитора объекта-приемника.

Классы определений
AnyRef
Аннотации
@native()
Примечание

не указано SLS как член AnyRef

def partition(p: (A) => Boolean): (Set[A], Set[A])

Пара из, во-первых, всех элементов, удовлетворяющих предикату p, и, во-вторых, всех элементов, которые не удовлетворяют ему. Интересно тем, что она разделяет коллекцию на две части.

Представленная здесь реализация по умолчанию требует два прохода по коллекции. Строгие коллекции имеют переопределённую версию partition в StrictOptimizedIterableOps, которая требует только одного прохода.

Классы определений
IterableOps

def partitionMap[A1, A2](f: (A) => Either[A1, A2]): (Set[A1], Set[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))
A1

тип элементов первой результирующей коллекции

A2

тип элементов второй результирующей коллекции

f

функция «разделения», отображающая элементы этой итерабельной коллекции в scala.util.Either

returns

пара итерабельных коллекций: первая содержит значения, возвращённые f и обернутые в scala.util.Left, а вторая — значения, обернутые в scala.util.Right.

Классы определений
IterableOps

def product[B >: A](implicit num: math.Numeric[B]): B

Умножает элементы этого набора.

B

тип результата оператора *.

num

неявный параметр, определяющий набор арифметических операций, включающий оператор *, используемый для вычисления произведения.

returns

произведение всех элементов этого набора относительно оператора * в num.

Definition Classes
IterableOnceOps

def reduce[B >: A](op: (B, B) => B): B

Вычисляет результирующее значение для элементов этого набора с использованием указанного ассоциативного бинарного оператора.

Порядок выполнения операций над элементами не определен и может быть не детерминированным.

B

Параметр типа для бинарного оператора, являющийся супертипом A.

op

Бинарный оператор, который должен быть ассоциативным.

returns

Результат применения оператора `reduce` op между всеми элементами, если набор не пустой.

Definition Classes
IterableOnceOps
Exceptions thrown

UnsupportedOperationException, если этот набор пуст.

def reduceLeft[B >: A](op: (B, A) => B): B

Применяет бинарный оператор ко всем элементам этого набора слева направо.

Примечание: не будет завершаться для наборов бесконечного размера.

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен, или если оператор не ассоциативен и не коммутативен.

B

тип результата бинарного оператора.

op

бинарный оператор.

returns

результат вставки op между последовательными элементами этого набора слева направо:

op( op( ... op(x_1, x_2) ..., x_{n-1}), x_n)

где x1, ..., xn — элементы этого набора.

Definition Classes
IterableOnceOps
Exceptions thrown

UnsupportedOperationException, если этот набор пуст.

def reduceLeftOption[B >: A](op: (B, A) => B): Option[B]

Необязательно применяет бинарный оператор ко всем элементам этого набора, слева направо.

Примечание: не завершится для наборов бесконечной размерности.

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.

B

тип результата бинарного оператора.

op

бинарный оператор.

returns

значение типа Option, содержащее результат reduceLeft(op), если этот набор непустой, None в противном случае.

Definition Classes
IterableOnceOps

def reduceOption[B >: A](op: (B, B) => B): Option[B]

Сокращает элементы этого набора, если они есть, с помощью указанного ассоциативного бинарного оператора.

Порядок выполнения операций над элементами не определен и может быть недетерминированным.

B

Параметр типа для бинарного оператора, надтип A.

op

Бинарный оператор, который должен быть ассоциативным.

returns

Значение типа Option, содержащее результат применения оператора reduce op между всеми элементами, если набор непустой, и None в противном случае.

Definition Classes
IterableOnceOps

def reduceRight[B >: A](op: (A, B) => B): B

Применяет бинарный оператор ко всем элементам этого набора, справа налево.

Примечание: не завершится для наборов бесконечной размерности.

Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен или оператор ассоциативен и коммутативен.

B

тип результата бинарного оператора.

op

бинарный оператор.

returns

результат вставки op между последовательными элементами этого набора, справа налево:

op(x_1, op(x_2, ..., op(x_{n-1}, x_n)...))

где x1, ..., xn - элементы этого набора.

Definition Classes
IterableOnceOps
Exceptions thrown

UnsupportedOperationException, если этот набор пустой.

def reduceRightOption[B >: A](op: (A, B) => B): Option[B]

Необязательно применяет бинарный оператор ко всем элементам этого набора, двигаясь справа налево.

Примечание: не будет завершаться для наборов бесконечного размера.

Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен или оператор не является ассоциативным и коммутативным.

B

тип результата бинарного оператора.

op

бинарный оператор.

returns

значение опции, содержащее результат reduceRight(op), если этот набор не пустой, None в противном случае.

Классы определения
IterableOnceOps

def reversed: Iterable[A]

Атрибуты
protected
Классы определения
IterableOnceOps

def scan[B >: A](z: B)(op: (B, B) => B): Set[B]

Вычисляет префиксную сканирующую операцию элементов набора.

Примечание: Нейтральный элемент z может быть применен более одного раза.

B

тип элементов результирующего набора

z

нейтральный элемент для оператора op

op

ассоциативный оператор для сканирования

returns

новый итерабельный набор, содержащий префиксное сканирование элементов в этом итерабельном наборе

Классы определения
IterableOps

def scanLeft[B](z: B)(op: (B, A) => B): Set[B]

Создает итерабельный набор, содержащий кумулятивные результаты применения оператора слева направо, включая начальное значение.

Примечание: не будет завершаться для наборов бесконечного размера.

Примечание: может возвращать разные результаты при разных запусках, если тип базового набора упорядочен.

B

тип элементов в результирующем наборе

z

начальное значение

op

бинарный оператор, применяемый к промежуточному результату и элементу

returns

набор с промежуточными результатами

Классы определения
IterableOps → IterableOnceOps
Примечание

Повторное использование: после вызова этого метода следует отбросить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе.

def scanRight[B](z: B)(op: (A, B) => B): Set[B]

Создаёт коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Головной элемент коллекции — последний кумулятивный результат.

Примечание: не завершит работу для коллекций бесконечного размера.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.

Примечание: даже при применении к представлению или ленивой коллекции всегда приводит к принудительной обработке элементов.

Пример:

List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
B

тип элементов в результирующей коллекции

z

начальное значение

op

бинарный оператор, применяемый к промежуточному результату и элементу

returns

коллекция с промежуточными результатами

Definition Classes
IterableOps

def size: Int

Размер этой коллекции.

Примечание: не завершит работу для коллекций бесконечного размера.

returns

количество элементов в этой коллекции.

Definition Classes
IterableOnceOps

def sizeCompare(that: Iterable[_]): Int

Сравнивает размер этой коллекции со значением другого объекта.

that

объект, размер которого сравнивается с размером этой коллекции.

returns

Значение, где

x

Метод в данной реализации не вызывает size напрямую; его время выполнения — O(this.size min that.size) вместо O(this.size + that.size). Метод следует переопределять, если вычисление size является дешёвым, а knownSize возвращает -1.

Definition Classes
IterableOps

def sizeCompare(otherSize: Int): Int

Сравнивает размер этой коллекции со значением.

otherSize

значение, которое сравнивается с размером.

returns

Значение, где

x <  0       if this.size <  otherSize
x == 0       if this.size == otherSize
x >  0       if this.size >  otherSize

Метод в данной реализации не вызывает size напрямую; его время выполнения — O(size min otherSize) вместо O(size). Метод следует переопределять, если вычисление size является дешёвым, а knownSize возвращает -1.

Definition Classes
IterableOps
See also

sizeIs

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
Definition Classes
IterableOps
Annotations
@inline()

def slice(from: Int, until: Int): Set[A]

Выбирает интервал элементов. Полученный итерируемый набор состоит из всех элементов x, которые удовлетворяют инварианту:

from <= indexOf(x) < until

Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.

from

минимальный индекс для включения из этого итерируемого набора.

until

минимальный индекс для исключения из этого итерируемого набора.

returns

итерируемый набор, содержащий элементы, большие или равные индексу from, расширяющийся до (но не включая) индекс until этого итерируемого набора.

Definition Classes
IterableOps → IterableOnceOps
Note

Повторное использование: после вызова этого метода следует отказаться от итератора, на котором он был вызван, и использовать только итератор, который был возвращен. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе тоже.

def sliding(size: Int, step: Int): Iterator[Set[A]]

Группирует элементы в блоки фиксированного размера, пропуская "скользящее окно" над ними (в отличие от разделения их, как это делается в grouped.)

size

количество элементов в группе

step

расстояние между первыми элементами последовательных групп

returns

Итератор, создающий итерируемые наборы размера size, за исключением последнего элемента (который может быть единственным элементом), который будет усечён, если осталось меньше size элементов для группировки.

Definition Classes
IterableOps
See also

scala.collection.Iterator, метод sliding

def sliding(size: Int): Iterator[Set[A]]

Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» над ними (в отличие от их разбиения, как это делается в grouped). Шаг «скользящего окна» установлен в единицу.

size

количество элементов в группе

returns

Итератор, генерирующий итерируемые коллекции размера size, за исключением последнего элемента (который может быть единственным), который будет усечен, если оставшихся элементов для группировки меньше, чем size.

Definition Classes
IterableOps
See also

scala.collection.Iterator, метод sliding

def span(p: (A) => Boolean): (Set[A], Set[A])

Разделяет эту итерируемую коллекцию на пару префикс/суффикс в соответствии с предикатом.

Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.

p

предикат проверки

returns

пара, состоящая из самого длинного префикса этой итерируемой коллекции, элементы которой все удовлетворяют p, и остальной части этой итерируемой коллекции.

Definition Classes
IterableOps → IterableOnceOps
Note

Повторное использование: После вызова этого метода следует отказаться от итератора, на котором он был вызван, и использовать только возвращенные итераторы. Использование старого итератора не определено, может измениться и может привести к изменениям в новых итераторах также.

def splitAt(n: Int): (Set[A], Set[A])

Разделяет эту итерируемую коллекцию на пару префикс/суффикс в заданной позиции.

Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).

Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.

n

позиция, в которой необходимо выполнить разбиение.

returns

пара итерируемых коллекций, состоящая из первых n элементов этой итерируемой коллекции и других элементов.

Definition Classes
IterableOps → IterableOnceOps
Note

Повторное использование: После вызова этого метода следует отказаться от итератора, на котором он был вызван, и использовать только возвращенные итераторы. Использование старого итератора не определено, может измениться и может привести к изменениям в новых итераторах также.

def stepper[S <: Stepper[_]](implicit shape: StepperShape[A, S]): S

Возвращает Stepper для элементов этого набора.

Stepper позволяет создавать Java-поток для работы с набором, см. scala.jdk.StreamConverters. Для наборов, содержащих примитивные значения, Stepper может использоваться как итератор, который не упаковывает элементы.

Неявный параметр StepperShape определяет тип возвращаемого Stepper в соответствии с типом элементов этого набора.

    Для наборов типов Int, Short, Byte или Char возвращается IntStepperДля наборов типов Double или Float возвращается DoubleStepperДля наборов типа Long возвращается LongStepperДля всех остальных типов элементов возвращается AnyStepper

Обратите внимание, что этот метод переопределен в подклассах, и тип возвращаемого значения уточняется до S with EfficientSplit, например IndexedSeqOps.stepper. Для Steppers, помеченных как scala.collection.Stepper.EfficientSplit, преобразователи в scala.jdk.StreamConverters позволяют создавать параллельные потоки, тогда как обычные Steppers могут быть преобразованы только в последовательные потоки.

Definition Classes
IterableOnce

def stringPrefix: String

Attributes
protected[this]
Definition Classes
Set → Iterable
Annotations
@deprecatedOverriding("Compatibility override", "2.13.0")

def subsetOf(that: Set[A]): Boolean

Проверяет, является ли этот набор подмножеством другого набора.

that

набор для проверки.

returns

true, если этот набор является подмножеством that, то есть если каждый элемент этого набора также является элементом that.

Definition Classes
SetOps

def subsets(): Iterator[Набор[A]]

Итератор по всем подмножествам этого множества.

returns

итератор.

Definition Classes
SetOps

def subsets(len: Целое): Iterator[Набор[A]]

Итератор по всем подмножествам этого множества заданного размера. Если запрашиваемый размер недоступен, возвращается пустой итератор.

len

размер подмножеств.

returns

итератор.

Definition Classes
SetOps

def sum[B >: A](implicit num: math.Numeric[B]): B

Суммирует элементы этого набора.

B

тип результата операции +.

num

неявный параметр, определяющий набор арифметических операций, включающий операцию +, используемую при формировании суммы.

returns

сумма всех элементов этого набора относительно операции + в num.

Definition Classes
IterableOnceOps

final def synchronized[T0](arg0: => T0): T0

Definition Classes
AnyRef

def tail: Набор[A]

Остальная часть коллекции без её первого элемента.

Definition Classes
IterableOps

def tails: Iterator[Набор[A]]

Итерируется по хвостам этого итерируемого набора. Первое значение будет этим итерируемым набором, а последнее — пустым итерируемым набором, а промежуточные значения — результатом последовательных применений tail.

returns

итератор по всем хвостам этого итерируемого набора

Definition Classes
IterableOps
Пример:

    List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)

def take(n: Int): Set[A]

Выбирает первые n элементов.

Примечание: результаты могут отличаться при разных запусках, если тип базового набора не упорядочен.

n

количество элементов, которые нужно взять из этого итерируемого набора.

returns

итерируемый набор, содержащий только первые n элементов этого итерируемого набора, или весь итерируемый набор, если в нем меньше n элементов. Если n отрицательно, возвращается пустой итерируемый набор.

Definition Classes
IterableOps → IterableOnceOps
Note

Переиспользование: После вызова этого метода нужно удалить вызываемый итератор и использовать только возвращённый. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.

def takeRight(n: Int): Set[A]

Выбирает последние n элементов.

Примечание: результаты могут отличаться при разных запусках, если тип базового набора не упорядочен.

n

количество элементов, которые нужно взять из этого итерируемого набора.

returns

итерируемый набор, содержащий только последние n элементов этого итерируемого набора, или весь итерируемый набор, если в нем меньше n элементов. Если n отрицательно, возвращается пустой итерируемый набор.

Definition Classes
IterableOps

def takeWhile(p: (A) => Boolean): Set[A]

Берет самое длинное префиксное подмножество элементов, удовлетворяющих предикату.

Примечание: результаты могут отличаться при разных запусках, если тип базового набора не упорядочен.

p

Предикат, используемый для проверки элементов.

returns

самое длинное префиксное подмножество этого итерируемого набора, элементы которого удовлетворяют предикату p.

Definition Classes
IterableOps → IterableOnceOps

def tapEach[U](f: (A) => U): Set[A]

Применяет функцию со побочным эффектом к каждому элементу в этом наборе. Строгие наборы применят f к своим элементам немедленно, в то время как ленивые наборы, такие как представления и LazyLists, будут применять f к каждому элементу только тогда, когда этот элемент будет вычисляться, и каждый раз, когда этот элемент вычисляется.

U

тип возвращаемого значения f

f

функция, которая применяется к каждому элементу в этом итерируемом наборе

returns

Тот же логический набор, что и этот

Definition Classes
IterableOps → IterableOnceOps

def to[C1](factory: Factory[A, C1]): C1

Используя фабрику наборов factory, преобразуйте этот набор в соответствующее представление для текущего типа элемента A. Примеры использования:

xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]

Definition Classes
IterableOnceOps

def toArray[B >: A](implicit arg0: ClassTag[B]): Array[B]

Преобразовать набор в массив.

Definition Classes
IterableOnceOps

final def toBuffer[B >: A]: Buffer[B]

Definition Classes
IterableOnceOps
Annotations
@inline()

def toIndexedSeq: immutable.IndexedSeq[A]

Definition Classes
IterableOnceOps

final def toIterable: AbstractSet.this.type

возвращает

Это коллекция в виде Iterable[A]. Новый список не будет создан, если this уже является Iterable[A].

Классы определений
Iterable → IterableOps

def toList: immutable.List[A]

Классы определений
IterableOnceOps

def toMap[K, V](implicit ev: <:<[A, (K, V)]): immutable.Map[K, V]

Классы определений
IterableOnceOps

def toSeq: immutable.Seq[A]

возвращает

Это коллекция в виде Seq[A]. Это эквивалентно to(Seq), но может быть быстрее.

Классы определений
IterableOnceOps

def toSet[B >: A]: immutable.Set[B]

Классы определений
IterableOnceOps

def toString(): String

Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.

возвращает

строковое представление объекта.

Классы определений
Set → Function1 → Iterable → AnyRef → Any

def toVector: immutable.Vector[A]

Классы определений
IterableOnceOps

def transpose[B](implicit asIterable: (A) => Iterable[B]): Set[Set[B]]

Транспонирует это итерируемое множество итерируемых множеств в итерируемое множество итерируемых множеств.

Тип результирующего множества будет определяться статическим типом итерируемого множества. Например:

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))

Примечание: Даже при применении к представлению или ленивому множеству элементы всегда будут принудительно вычисляться.

B

тип элементов каждого итерируемого множества.

asIterable

неявное преобразование, которое утверждает, что тип элементов этого итерируемого множества является Iterable.

returns

двумерное итерируемое множество итерируемых множеств, в котором n-я строка соответствует n-му столбцу этого итерируемого множества.

Definition Classes
IterableOps
Exceptions thrown

IllegalArgumentException, если все множества в этом итерируемом множестве не имеют одинаковый размер.

final def union(that: Set[A]): Set[A]

Вычисляет объединение множества и другого множества.

that

множество, с которым формируется объединение.

returns

новое множество, состоящее из всех элементов, которые находятся в этом множестве или в заданном множестве that.

Definition Classes
SetOps
Annotations
@inline()

def unzip[A1, A2](implicit asPair: (A) => (A1, A2)): (Set[A1], Set[A2])

Преобразует это итерируемое множество пар в два множества первой и второй половины каждой пары.

val xs = Iterable(
           (1, "one"),
           (2, "two"),
           (3, "three")).unzip
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three))
A1

тип первой половины пар элементов

A2

тип второй половины пар элементов

asPair

неявное преобразование, которое утверждает, что тип элемента этого итерируемого множества является парой.

returns

пара итерируемых множеств, содержащих первую и, соответственно, вторую половину каждой пары элементов этого итерируемого множества.

Definition Classes
IterableOps

def unzip3[A1, A2, A3](implicit asTriple: (A) => (A1, A2, A3)): (Set[A1], Set[A2], Set[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))
A1

тип первого члена тройки элементов

A2

тип второго члена тройки элементов

A3

тип третьего члена тройки элементов

asTriple

явное преобразование, которое утверждает, что тип элемента этого итерируемого набора является тройкой.

returns

тройка итерируемых наборов, содержащих первый, второй, соответственно третий член каждой тройки элементов этого итерируемого набора.

Definition Classes
IterableOps

def view: View[A]

Просмотр элементов этого набора.

Definition Classes
IterableOps

final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException]) @native()

def withFilter(p: (A) => Boolean): WithFilter[A, [_]Set[_]]

Создаёт нестрогий фильтр этого итерируемого набора.

Примечание: разница между c filter p и c withFilter p заключается в том, что первый создаёт новый набор, а второй только ограничивает область действия последующих map, flatMap, foreach и withFilter операций.

Примечание: может возвращать разные результаты для разных запусков, если только тип базового набора не упорядочен.

p

предикат, используемый для проверки элементов.

returns

объект класса WithFilter, который поддерживает map, flatMap, foreach и withFilter операции. Все эти операции применяются к тем элементам этого итерируемого набора, которые удовлетворяют предикату p.

Definition Classes
IterableOps

def zip[B](that: IterableOnce[B]): Set[(A, B)]

Возвращает итерируемый набор, образованный из этого итерируемого набора и другого итерируемого набора путём объединения соответствующих элементов в пары. Если один из двух наборов длиннее другого, оставшиеся элементы игнорируются.

B

тип второй половины возвращаемых пар

that

Итерируемый набор, предоставляющий вторую половину каждой пары результата

returns

новый итерируемый набор, содержащий пары, состоящие из соответствующих элементов этого итерируемого набора и that. Длина возвращаемого набора — минимальная из длин этого итерируемого набора и that.

Definition Classes
IterableOps

def zipAll[A1 >: A, B](that: Iterable[B], thisElem: A1, thatElem: B): Set[(A1, B)]

Возвращает итерируемую коллекцию, сформированную из этой итерируемой коллекции и другой итерируемой коллекции, комбинируя соответствующие элементы попарно. Если одна из двух коллекций короче другой, элементы-заполнители используются для расширения более короткой коллекции до длины более длинной.

that

итерируемая коллекция, предоставляющая вторую половину каждой пары результатов

thisElem

элемент, используемый для заполнения результата, если эта итерируемая коллекция короче that.

thatElem

элемент, используемый для заполнения результата, если that короче этой итерируемой коллекции.

returns

новая коллекция типа That, содержащая пары, состоящие из соответствующих элементов этой итерируемой коллекции и that. Длина возвращаемой коллекции — это максимум из длин этой итерируемой коллекции и that. Если эта итерируемая коллекция короче that, значения thisElem используются для заполнения результата. Если that короче этой итерируемой коллекции, значения thatElem используются для заполнения результата.

Definition Classes
IterableOps

def zipWithIndex: Set[(A, Int)]

Объединяет эту итерируемую коллекцию с её индексами.

returns

Новая итерируемая коллекция, содержащая пары, состоящие из всех элементов этой итерируемой коллекции, соединенных с их индексом. Индексы начинаются с 0.

Definition Classes
IterableOps → IterableOnceOps
Пример:

    List("a", "b", "c").zipWithIndex == List(("a", 0), ("b", 1), ("c", 2))

Note

Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только тот итератор, который был возвращен. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе тоже.

final def |(that: Set[A]): Set[A]

Псевдоним для union

Definition Classes
SetOps
Annotations
@inline()

Затенённые неявные члены значения

def +(other: String): String

Неявный
Этот член добавлен с помощью неявного преобразования из AbstractSet[A] в any2stringadd[AbstractSet[A]], выполненное методом any2stringadd в scala.Predef.
Затенение
Этот неявный унаследованный член затенено одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:
(abstractSet: any2stringadd[AbstractSet[A]]).+(other)
Классы определений
any2stringadd

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/collection/AbstractSet.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API