Spec-Zone.ru › Scala 2.12 Library

Тракт scala.collection.SetLike

тракт SetLike[A, +This <: SetLike[A, This] with Set[A]] extends IterableLike[A, This] with GenSetLike[A, This] with Subtractable[A, This] with Parallelizable[A, ParSet[A]]

Шаблонный тракт для множеств.

Множество — это коллекция, которая не содержит дублирующих элементов.

Для реализации конкретного множества необходимо предоставить реализации следующих методов:

def contains(key: A): Boolean
def iterator: Iterator[A]
def +(elem: A): This
def -(elem: A): This

Если вы хотите, чтобы методы, такие как take, drop, filter возвращали множество того же типа, вам также следует переопределить:

def empty: This

Также рекомендуется переопределить методы foreach и size для повышения эффективности.

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

Self Type
SetLike[A, This]
Source
SetLike.scala
Since

2.8

Линейные надтипы
Известные подклассы

Члены типа

тип Self = This

Тип, реализующий это итерируемое

Атрибуты
protected[this]
Определяющие классы
TraversableLike

класс WithFilter extends FilterMonadic[A, Repr]

Класс, поддерживающий отфильтрованные операции. Экземпляры этого класса возвращаются методом withFilter.

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

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

абстрактный def +(elem: A): This

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

elem

добавляемый элемент

возвращает

новое множество, которое содержит все элементы этого множества и также содержит elem.

Определяющие классы
SetLike → GenSetLike

абстрактный def -(elem: A): This

Создает новое множество со удаленным из этого множества заданным элементом.

elem

элемент для удаления

возвращает

новое множество, которое содержит все элементы этого множества, но не содержит elem.

Определяющие классы
SetLike → Subtractable → GenSetLike

абстрактный def contains(elem: A): Boolean

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

elem

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

возвращает

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

Определяющие классы
SetLike → GenSetLike

абстрактный def empty: This

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

возвращает

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

абстрактный def iterator: Iterator[A]

Определяющие классы
GenSetLike → GenIterableLike

абстрактный def seq: Set[A]

Определяющие классы
GenSetLike → Parallelizable → GenTraversableOnce

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

final def !=(arg0: Any): Boolean

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

возвращает

true если !(this == that), в противном случае false.

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

final def ##(): Int

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

возвращает

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

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

def &(that: GenSet[A]): This

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

Примечание: То же самое, что и intersect.

that

множество для пересечения.

возвращает

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

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

def &~(that: GenSet[A]): This

Разность этого множества и другого множества.

Примечание: То же самое, что и diff.

that

множество элементов для исключения.

возвращает

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

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

def +(elem1: A, elem2: A, elems: A*): This

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

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

Пример:

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

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

elem2

второй элемент для добавления.

elems

остальные элементы для добавления.

возвращает

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

def ++(elems: GenTraversableOnce[A]): This

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

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

Пример:

scala> val a = Set(1, 2) ++ Set(2, "a")
a: scala.collection.immutable.Set[Any] = Set(1, 2, a)
elems

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

возвращает

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

def ++[B >: A, That](that: GenTraversableOnce[B])(implicit bf: CanBuildFrom[This, B, That]): That

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

B

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

That

класс возвращаемой коллекции. В случае возможности, That — это тот же класс, что и текущий класс коллекции Repr, но это зависит от типа элемента B, который должен быть допустимым для этого класса, что означает, что найден неявный экземпляр типа CanBuildFrom[Repr, B, That].

that

объект traversable для добавления.

bf

неявное значение класса CanBuildFrom, которое определяет возвращаемый класс That на основе текущего типа представления Repr и нового типа элементов B.

возвращает

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

Определяющие классы
TraversableLike → GenTraversableLike

def ++:[B >: A, That](that: Traversable[B])(implicit bf: CanBuildFrom[This, B, That]): That

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

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

Пример:

scala> val x = List(1)
x: List[Int] = List(1)

scala> val y = LinkedList(2)
y: scala.collection.mutable.LinkedList[Int] = LinkedList(2)

scala> val z = x ++: y
z: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2)

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

Поскольку у TraversableOnce нет метода ++, нам нужно реализовать его напрямую, но Traversable и ниже могут использовать перегрузку.

B

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

That

класс возвращаемой коллекции. Когда это возможно, That — тот же класс, что и текущий класс коллекции Repr, но это зависит от того, допускается ли тип элемента B для этого класса, что означает, что найдено неявное экземпляр типа CanBuildFrom[Repr, B, That].

that

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

bf

явное значение класса CanBuildFrom, которое определяет класс результата That из текущего типа представления Repr и нового типа элемента B.

returns

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

Definition Classes
TraversableLike

def ++:[B](that: TraversableOnce[B]): Set[B]

[use case]

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

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

Пример:

scala> val x = List(1)
x: List[Int] = List(1)

scala> val y = LinkedList(2)
y: scala.collection.mutable.LinkedList[Int] = LinkedList(2)

scala> val z = x ++: y
z: scala.collection.mutable.LinkedList[Int] = LinkedList(1, 2)
B

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

that

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

returns

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

Definition Classes
TraversableLike
Полная сигнатура

def -(elem1: A, elem2: A, elems: A*): This

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

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

elem1

первый удаляемый элемент.

elem2

второй удаляемый элемент.

elems

оставшиеся элементы для удаления.

returns

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

Definition Classes
Subtractable

def --(xs: GenTraversableOnce[A]): This

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

xs

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

returns

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

Definition Classes
Subtractable

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

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

def /:[B](z: B)(op: (B, A) ⇒ B): B

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

Примечание: /: — это альтернативная запись для foldLeft; z /: xs — это то же самое, что и xs foldLeft z.

Примеры:

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

scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)

scala> val b = (5 /: a)(_+_)
b: Int = 15

scala> val c = (5 /: a)((x,y) => x + y)
c: Int = 15

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

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

B

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

z

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

op

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

returns

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

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

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

Definition Classes
TraversableOnce → GenTraversableOnce

def :\[B](z: B)(op: (A, B) ⇒ B): B

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

Примечание: :\ — это альтернативная запись для foldRight; xs :\ z эквивалентно xs foldRight z.

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

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

Примеры:

Обратите внимание, что функция сворачивания, используемая для вычисления b, эквивалентна функции, используемой для вычисления c.

scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)

scala> val b = (a :\ 5)(_+_)
b: Int = 15

scala> val c = (a :\ 5)((x,y) => x + y)
c: Int = 15
B

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

z

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

op

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

возвращает

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

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

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

Классы определений
TraversableOnce → GenTraversableOnce

final def ==(arg0: Any): Boolean

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

возвращает

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

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

def addString(b: StringBuilder): 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

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

возвращает

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

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

def addString(b: StringBuilder, sep: String): 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

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

возвращает

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

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

def addString(b: StringBuilder, start: String, sep: String, end: String): 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

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

возвращает

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

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

def aggregate[B](z: ⇒ B)(seqop: (B, A) ⇒ B, combop: (B, B) ⇒ B): B

Агрегирует результаты применения оператора к последующим элементам.

Это более обобщенная форма fold и reduce. Аналогично foldLeft, не требует, чтобы результат был супертипом типа элемента. Кроме того, позволяет обрабатывать параллельные коллекции частями и комбинировать промежуточные результаты.

aggregate разбивает обход или итератор на разделы и обрабатывает каждый раздел последовательным применением seqop, начиная с z (как foldLeft). Эти промежуточные результаты затем комбинируются с помощью combop (как fold). Реализация этой операции может работать с произвольным количеством разделов коллекции (даже с 1), поэтому combop может быть вызвана произвольным количеством раз (даже 0).

Например, рассмотрим суммирование целочисленных значений списка символов. Начальное значение для суммы равно 0. Сначала seqop преобразует каждый входной символ в целое число и добавляет его к сумме (раздела). Затем combop просто нужно сложить промежуточные результаты разделов:

List('a', 'b', 'c').aggregate(0)({ (sum, ch) => sum + ch.toInt }, { (p1, p2) => p1 + p2 })
B

тип накапливаемых результатов

z

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

seqop

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

combop

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

Классы определений
TraversableOnce → GenTraversableOnce

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

def apply(elem: A): Boolean

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

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

elem

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

returns

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

Definition Classes
GenSetLike → Function1

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

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

that

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

returns

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

Definition Classes
IterableLike → Equals

def clone(): AnyRef

Создаёт копию объекта.

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

returns

копия объекта.

Attributes
protected[lang]
Definition Classes
AnyRef
Annotations
@throws( ... ) @native()
Note

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

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

[use case]

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

B

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

pf

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

returns

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

Definition Classes
TraversableLike → GenTraversableLike
Полная сигнатура

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

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

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

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

pf

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

returns

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

Definition Classes
TraversableOnce
Пример:

    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 copyToArray(xs: Array[A], start: Int, len: Int): Unit

[use case]

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

xs

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

start

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

len

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

Definition Classes
IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce
Полная сигнатура

def copyToArray(xs: Array[A]): Unit

[use case]

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

xs

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

Definition Classes
TraversableOnce → GenTraversableOnce
Полная сигнатура

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

[use case]

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

xs

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

start

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

Definition Classes
TraversableOnce → GenTraversableOnce
Полная сигнатура

def copyToBuffer[B >: A](dest: Buffer[B]): Unit

Копирует все элементы этого итерируемого объекта или итератора в буфер.

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

dest

Буфер, в который копируются элементы.

Definition Classes
TraversableOnce

def count(p: (A) ⇒ Boolean): Int

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

p

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

def diff(that: GenSet[A]): This

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

that

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

returns

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

Definition Classes
SetLike → GenSetLike

def drop(n: Int): This

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

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

n

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

returns

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

Definition Classes
IterableLike → TraversableLike → GenTraversableLike

def dropRight(n: Int): This

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

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

n

Количество элементов для взятия

returns

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

Definition Classes
IterableLike

def dropWhile(p: (A) ⇒ Boolean): This

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

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

returns

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

Definition Classes
TraversableLike → GenTraversableLike

def ensuring(cond: (SetLike[A, This]) ⇒ Boolean, msg: ⇒ Any): SetLike[A, This]

Implicit
Этот член добавлен с помощью неявного преобразования из SetLike[A, This] в Ensuring[SetLike[A, This]] с помощью метода Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: (SetLike[A, This]) ⇒ Boolean): SetLike[A, This]

Implicit
Этот член добавлен с помощью неявного преобразования из SetLike[A, This] в Ensuring[SetLike[A, This]] с помощью метода Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean, msg: ⇒ Any): SetLike[A, This]

Implicit
Этот член добавлен с помощью неявного преобразования из SetLike[A, This] в Ensuring[SetLike[A, This]] с помощью метода Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean): SetLike[A, This]

Implicit
Этот член добавлен с помощью неявного преобразования из SetLike[A, This] в Ensuring[SetLike[A, This]] с помощью метода Ensuring в scala.Predef.
Definition Classes
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

Сравнивает этот набор с другим объектом на равенство.

Примечание: Эта операция содержит неявное приведение типа: если that является набором, будет предположено с помощью неявного приведения типа, что он имеет тот же тип элементов, что и этот набор. Любое последующее исключение ClassCastException обрабатывается как результат false.

that

другой объект

returns

true, если that является набором, содержащим те же элементы, что и этот набор.

Definition Classes
GenSetLike → Equals → AnyRef → Any

def exists(p: (A) ⇒ Boolean): Boolean

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

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

p

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

returns

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

Definition Classes
IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce

def filter(p: (A) ⇒ Boolean): This

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

p

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

returns

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

Definition Classes
TraversableLike → GenTraversableLike

def filterNot(p: (A) ⇒ Boolean): This

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

p

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

returns

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

Definition Classes
TraversableLike → GenTraversableLike

def finalize(): Unit

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

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

Attributes
protected[lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
Примечание

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

def find(p: (A) ⇒ Boolean): Option[A]

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

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

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

p

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

returns

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

Definition Classes
IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce

def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): Set[B]

[use case]

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

Например:

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 => 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
TraversableLike → GenTraversableLike → FilterMonadic
Полная подпись

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

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

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

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

A1

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

z

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

op

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

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
TraversableOnce → GenTraversableOnce

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
IterableLike → TraversableOnce → GenTraversableOnce

def forall(p: (A) ⇒ Boolean): Boolean

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

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

p

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

returns

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

Definition Classes
IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce

def foreach(f: (A) ⇒ Unit): Unit

[use case]

Применяет функцию f ко всем элементам этого набора.

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

f

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

Definition Classes
IterableLike → TraversableLike → GenTraversableLike → TraversableOnce → GenTraversableOnce → FilterMonadic
Полная подпись

def formatted(fmtstr: String): String

Возвращает строку, отформатированную в соответствии с заданной строкой форматирования. Строки форматирования соответствуют строкам форматирования String.format (см. java.lang.String.format).

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

final def getClass(): Class[_]

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

returns

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

Definition Classes
AnyRef → Any
Annotations
@native()

def groupBy[K](f: (A) ⇒ K): immutable.Map[K, This]

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

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

K

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

f

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

returns

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

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

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

Definition Classes
TraversableLike → GenTraversableLike

def grouped(size: Int): Iterator[This]

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

size

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

returns

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

Definition Classes
IterableLike
См. также

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

def hasDefiniteSize: Boolean

Проверяет, известно ли, что эта итерируемая коллекция имеет конечный размер. Все строгие коллекции известны как имеющие конечный размер. Для нестрогой коллекции, такой как Stream, предикат возвращает true, если все элементы были вычислены. Он возвращает false, если поток ещё не пройден до конца. Непустые итераторы обычно возвращают false, даже если они были созданы из коллекции с известным конечным размером.

Примечание: многие методы коллекций не будут работать с коллекциями бесконечных размеров. Типичный способ отказа — бесконечный цикл. Эти методы всегда пытаются выполнить итерацию, не проверяя сначала, что hasDefiniteSize возвращает true. Однако проверка hasDefiniteSize может гарантировать, что размер определён и не возникнет проблемы с бесконечным выполнением.

returns

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

Definition Classes
TraversableLike → TraversableOnce → GenTraversableOnce

def hashCode(): Int

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

returns

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

Definition Classes
GenSetLike → AnyRef → Any

def head: A

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

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

returns

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

Definition Classes
IterableLike → TraversableLike → GenTraversableLike
Exceptions thrown

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

def headOption: Option[A]

Возвращает первый элемент, если он существует.

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

returns

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

Definition Classes
TraversableLike → GenTraversableLike

def init: This

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

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

returns

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

Definition Classes
TraversableLike → GenTraversableLike
Exceptions thrown

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

def inits: Iterator[This]

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

returns

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

Definition Classes
TraversableLike
Пример:

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

def intersect(that: GenSet[A]): This

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

that

множество для пересечения.

returns

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

Definition Classes
GenSetLike

def isEmpty: Boolean

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

returns

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

Definition Classes
SetLike → IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce

final def isInstanceOf[T0]: Boolean

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

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

returns

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

Definition Classes
Any

final def isTraversableAgain: Boolean

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

returns

true

Definition Classes
TraversableLike → GenTraversableLike → GenTraversableOnce

def last: A

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

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

возвращает

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

Определяющие классы
TraversableLike → GenTraversableLike
Исключения

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

def lastOption: Option[A]

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

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

возвращает

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

Определяющие классы
TraversableLike → GenTraversableLike

def map[B](f: (A) ⇒ B): Set[B]

[use case]

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

B

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

f

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

возвращает

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

Определяющие классы
SetLike → TraversableLike → GenTraversableLike → FilterMonadic
Полная сигнатура

def max: A

[use case]

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

возвращает

наибольший элемент этого множества.

Определяющие классы
TraversableOnce → GenTraversableOnce
Полная сигнатура
Исключения

UnsupportedOperationException если это множество пусто.

def maxBy[B](f: (A) ⇒ B): A

[use case]

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

B

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

f

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

возвращает

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

Определяющие классы
TraversableOnce → GenTraversableOnce
Полная сигнатура
Исключения

UnsupportedOperationException если это множество пусто.

def min: A

[use case]

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

возвращает

наименьший элемент этого множества

Определяющие классы
TraversableOnce → GenTraversableOnce
Полная сигнатура
Исключения

UnsupportedOperationException если это множество пусто.

def minBy[B](f: (A) ⇒ B): A

[use case]

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

B

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

f

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

возвращает

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

Определяющие классы
TraversableOnce → GenTraversableOnce
Полная сигнатура
Исключения

UnsupportedOperationException если это множество пусто.

def mkString: String

Отображает все элементы этой итерируемой или итерации в строке.

возвращает

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

Определяющие классы
TraversableOnce → GenTraversableOnce

def mkString(sep: String): String

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

sep

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

возвращает

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

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

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

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

Отображает все элементы этого итерируемого объекта или итератора в строке, используя строки start, end и разделитель.

start

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

sep

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

end

строка конца.

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce
Пример:

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

final def ne(arg0: AnyRef): Boolean

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

returns

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

Definition Classes
AnyRef

def newBuilder: Builder[A, This]

Общее реализация newBuilder для всех наборов в терминах empty. Переопределяется для изменяемых наборов в `mutable.SetLike`.

Attributes
protected[this]
Definition Classes
SetLike → TraversableLike → HasNewBuilder

def nonEmpty: Boolean

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

final def notify(): Unit

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

Definition Classes
AnyRef
Annotations
@native()
Note

не указано SLS в качестве члена AnyRef

final def notifyAll(): Unit

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

Definition Classes
AnyRef
Annotations
@native()
Note

не указано SLS в качестве члена AnyRef

def par: ParSet[A]

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

Для большинства типов коллекций этот метод создаёт новую параллельную коллекцию, копируя все элементы. Для этих коллекций, par занимает линейное время. Изменяемые коллекции в этой категории не создают изменяемую параллельную коллекцию, которая имеет тот же базовый набор данных, поэтому изменения в одной коллекции не будут отражены в другой.

Специфические коллекции (например, ParArray или mutable.ParHashMap) переопределяют это поведение по умолчанию, создавая параллельную коллекцию, которая использует те же базовые данные. Для этих коллекций par занимает постоянное или подлинейное время.

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

returns

параллельная реализация этой коллекции

Definition Classes
Parallelizable

def parCombiner: Combiner[A, ParSet[A]]

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

returns

комбинировщик для параллельной коллекции типа ParRepr

Attributes
protected[this]
Definition Classes
SetLike → TraversableLike → Parallelizable

def partition(p: (A) ⇒ Boolean): (This, This)

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

p

предикат для разделения.

returns

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

Definition Classes
TraversableLike → GenTraversableLike

def product: A

[use case]

Перемножает элементы этой коллекции.

returns

произведение всех элементов в этом множестве чисел типа Int. Вместо Int, любой другой тип T с неявной Numeric[T] реализацией может быть использован в качестве типа элемента множества и в качестве типа результата product. Примеры таких типов: Long, Float, Double, BigInt.

Definition Classes
TraversableOnce → GenTraversableOnce
Полная сигнатура

def reduce[A1 >: A](op: (A1, A1) ⇒ A1): A1

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

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

A1

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

op

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

returns

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

Определяющие классы
TraversableOnce → GenTraversableOnce
Выбрасываемые исключения

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 — элементы этого итерируемого объекта или итератора.

Определяющие классы
TraversableOnce
Выбрасываемые исключения

UnsupportedOperationException если этот итерируемый объект или итератор пуст.

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

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

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

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

B

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

op

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

returns

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

Определяющие классы
TraversableOnce → GenTraversableOnce

def reduceOption[A1 >: A](op: (A1, A1) ⇒ A1): Option[A1]

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

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

A1

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

op

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

returns

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

Определяющие классы
TraversableOnce → GenTraversableOnce

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 — элементы этой итерируемой коллекции.

Определяющие классы
IterableLike → TraversableOnce → GenTraversableOnce
Выбрасываемые исключения

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

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

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

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

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

B

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

op

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

def repr: This

Коллекция типа перебираемой коллекции, лежащая в основе этого TraversableLike объекта. По умолчанию она реализуется как сам объект TraversableLike, но это можно переопределить.

Definition Classes
TraversableLike → GenTraversableLike

def reversed: List[A]

Attributes
protected[this]
Definition Classes
TraversableOnce

def sameElements(that: GenIterable[A]): Boolean

[use case]

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

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

that

коллекция для сравнения.

returns

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

Definition Classes
IterableLike → GenIterableLike
Полная подпись

def scan[B >: A, That](z: B)(op: (B, B) ⇒ B)(implicit cbf: CanBuildFrom[This, B, That]): That

Вычисляет префиксный сдвиг элементов коллекции.

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

B

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

That

тип результирующей коллекции

z

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

op

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

cbf

фабрика объединения, которая предоставляет объединитель

returns

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

Definition Classes
TraversableLike → GenTraversableLike

def scanLeft[B, That](z: B)(op: (B, A) ⇒ B)(implicit bf: CanBuildFrom[This, B, That]): That

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

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

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

B

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

That

фактический тип результирующей коллекции

z

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

op

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

bf

явное значение класса CanBuildFrom, которое определяет результирующий класс That по текущему типу представления Repr и новому типу элемента B.

returns

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

Definition Classes
TraversableLike → GenTraversableLike

def scanRight[B, That](z: B)(op: (A, B) ⇒ B)(implicit bf: CanBuildFrom[This, B, That]): That

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

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

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

Пример:

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

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

That

фактический тип результирующей коллекции

z

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

op

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

bf

неявное значение класса CanBuildFrom, которое определяет класс результата That по типу текущего представления Repr и новому типу элемента B.

returns

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

Definition Classes
TraversableLike → GenTraversableLike
Annotations
@migration
Migration

(Изменено в версии 2.9.0) Поведение scanRight изменилось. Предыдущее поведение можно воспроизвести с помощью scanRight.reverse.

def size: Int

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

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

returns

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

Definition Classes
TraversableOnce → GenTraversableOnce

def sizeHintIfCheap: Int

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

returns

количество элементов в этой коллекции или итераторе, или -1, если размер нельзя определить дёшево

Attributes
protected[collection]
Definition Classes
GenTraversableOnce

def slice(from: Int, until: Int): This

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

from <= indexOf(x) < until

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

returns

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

Definition Classes
IterableLike → TraversableLike → GenTraversableLike

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

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

size

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

step

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

returns

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

Definition Classes
IterableLike
See also

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

def sliding(size: Int): Iterator[This]

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

size

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

returns

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

Definition Classes
IterableLike
See also

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

def span(p: (A) ⇒ Boolean): (This, This)

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

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

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

returns

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

Definition Classes
TraversableLike → GenTraversableLike

def splitAt(n: Int): (This, This)

Разделяет эту итерируемую коллекцию на две части в заданной позиции. Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).

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

n

позиция, в которой нужно разделить.

returns

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

Definition Classes
TraversableLike → GenTraversableLike

def stringPrefix: String

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

returns

строковое представление, которое начинается с результата применения toString к этому множеству. Если не переопределено, это просто "Set".

Definition Classes
SetLike → TraversableLike → GenTraversableLike

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

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

that

множество для проверки.

returns

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

Definition Classes
GenSetLike

def subsets(): Iterator[This]

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

returns

итератор.

def subsets(len: Int): Iterator[This]

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

len

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

returns

итератор.

def sum: A

[use case]

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

returns

сумма всех элементов в этом множестве чисел типа Int. Вместо Int, может быть использован любой другой тип T с неявной реализацией Numeric[T] как тип элементов множества и как тип результата sum. Примеры таких типов: Long, Float, Double, BigInt.

Definition Classes
TraversableOnce → GenTraversableOnce
Полная сигнатура

final def synchronized[T0](arg0: ⇒ T0): T0

Definition Classes
AnyRef

def tail: This

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

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

returns

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

Definition Classes
TraversableLike → GenTraversableLike
Исключения

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

def tails: Iterator[This]

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

returns

итератор по всем хвостам этой коллекции

Definition Classes
TraversableLike
Пример:

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

def take(n: Int): This

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

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

n

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

returns

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

Definition Classes
IterableLike → TraversableLike → GenTraversableLike

def takeRight(n: Int): This

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

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

n

количество элементов для взятия

returns

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

Definition Classes
IterableLike

def takeWhile(p: (A) ⇒ Boolean): This

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

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

returns

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

Definition Classes
IterableLike → TraversableLike → GenTraversableLike

def thisCollection: Iterable[A]

Базовое хранилище представлено экземпляром Iterable. По умолчанию это сам объект текущего набора, но это можно переопределить.

Атрибуты
protected[this]
Определяющие классы
IterableLike → TraversableLike

def to[Col[_]]: Col[A]

[use case]

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

Col

Тип коллекции для создания.

возвращает

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

Определяющие классы
TraversableLike → TraversableOnce → GenTraversableOnce
Полная сигнатура

def toArray: Array[A]

[use case]

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

возвращает

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

Определяющие классы
TraversableOnce → GenTraversableOnce
Полная сигнатура

def toBuffer[A1 >: A]: Buffer[A1]

Использует содержимое этого набора для создания нового изменяемого буфера.

возвращает

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

Определяющие классы
SetLike → TraversableOnce → GenTraversableOnce

def toCollection(repr: This): Iterable[A]

Преобразование из коллекций типа Repr в объекты Iterable. По умолчанию это реализуется как просто приведение типа, но это можно переопределить.

Атрибуты
protected[this]
Определяющие классы
IterableLike → TraversableLike

def toIndexedSeq: immutable.IndexedSeq[A]

Преобразует это перечислимое или итератор в индексированную последовательность.

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

возвращает

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

Определяющие классы
TraversableOnce → GenTraversableOnce

def toIterable: Iterable[A]

Возвращает эту итерируемую коллекцию как итерируемую коллекцию.

Новая коллекция не будет построена; ленивые коллекции останутся ленивыми.

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

возвращает

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

Определяющие классы
IterableLike → TraversableOnce → GenTraversableOnce

def toIterator: Iterator[A]

Возвращает итератор по элементам в этой итерируемой коллекции. Возвращает тот же результат, что и iterator.

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

возвращает

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

Определяющие классы
IterableLike → TraversableLike → GenTraversableOnce
Аннотации
@deprecatedOverriding( message = ... , since = "2.11.0" )

def toList: List[A]

Преобразует это перечислимое или итератор в список.

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

возвращает

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

Определяющие классы
TraversableOnce → GenTraversableOnce

def toMap[T, U]: Map[T, U]

[use case]

Преобразует этот набор в карту. Этот метод недоступен, если элементы не являются членами Tuple2, каждая ((T, U)) становится парой ключ-значение в карте. Повторные ключи будут перезаписаны последующими ключами: если это неупорядоченная коллекция, то какой ключ в результирующей карте не определено.

возвращает

карта типа immutable.Map[T, U], содержащая все пары ключ/значение типа (T, U) этого набора.

Определяющие классы
TraversableOnce → GenTraversableOnce
Полная сигнатура

def toParArray: ParArray[T]

Неявный
Этот член добавляется с помощью неявного преобразования из SetLike[A, This] в CollectionsHaveToParArray[SetLike[A, This], T] выполняемого методом CollectionsHaveToParArray в scala.collection.parallel. Это преобразование будет выполнено только в том случае, если неявное значение типа (SetLike[A, This]) ⇒ GenTraversableOnce[T] находится в области видимости.
Определяющие классы
CollectionsHaveToParArray

def toSeq: Seq[A]

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

возвращает

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

Определяющие классы
SetLike → TraversableOnce → GenTraversableOnce

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

Преобразует это итерируемое множество или итератор в множество.

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

возвращает

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

Определяющие классы
TraversableOnce → GenTraversableOnce

def toStream: immutable.Stream[A]

Преобразует эту итерируемую коллекцию в поток.

возвращает

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

Определяющие классы
IterableLike → TraversableLike → GenTraversableOnce

def toString(): String

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

возвращает

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

Определяющие классы
SetLike → Function1 → TraversableLike → AnyRef → Any

def toTraversable: Traversable[A]

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

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

возвращает

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

Определяющие классы
TraversableLike → TraversableOnce → GenTraversableOnce
Аннотации
@deprecatedOverriding( message = ... , since = "2.11.0" )

def toVector: Vector[A]

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

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

возвращает

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

Определяющие классы
TraversableOnce → GenTraversableOnce

def union(that: GenSet[A]): This

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

that

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

возвращает

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

Определяющие классы
SetLike → GenSetLike

def view(from: Int, until: Int): IterableView[A, This]

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

Примечание: различие между view и slice заключается в том, что view создаёт представление текущей итерируемой коллекции, а slice создаёт новую итерируемую коллекцию.

Примечание: view(from, to) эквивалентно view.slice(from, to)

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

from

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

until

индекс элемента, следующего за представлением

возвращает

нестрогое представление среза этой итерируемой коллекции, начиная с индекса from и до (не включая) индекса until.

Определяющие классы
IterableLike → TraversableLike

def view: IterableView[A, This]

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

returns

нестрогий вид этого итерируемого набора.

Definition Classes
IterableLike → TraversableLike

final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )

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

Definition Classes
AnyRef
Annotations
@throws( ... )

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws( ... ) @native()

def withFilter(p: (A) ⇒ Boolean): FilterMonadic[A, This]

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

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

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

p

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

returns

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

Definition Classes
TraversableLike → FilterMonadic

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

[use case]

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

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

B

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

that

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

returns

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

Definition Classes
IterableLike → GenIterableLike
Полная сигнатура

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

[use case]

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

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

B

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

that

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

thisElem

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

thatElem

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

returns

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

Definition Classes
IterableLike → GenIterableLike
Полная сигнатура

def zipWithIndex: Set[(A, Int)]

[use case]

Объединяет этот набор с его индексами.

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

returns

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

Definition Classes
IterableLike → GenIterableLike
Полная сигнатура
Пример:

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

def |(that: GenSet[A]): This

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

Примечание: То же самое, что и union.

that

множество для объединения.

returns

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

Definition Classes
GenSetLike

def →[B](y: B): (SetLike[A, This], B)

Implicit
Этот член добавлен неявным преобразованием из SetLike[A, This] в ArrowAssoc[SetLike[A, This]] с помощью метода ArrowAssoc в scala.Predef.
Definition Classes
ArrowAssoc

Скрытые неявные члены-значения

def +(other: String): String

Implicit
Этот член добавлен неявным преобразованием из SetLike[A, This] в any2stringadd[SetLike[A, This]] с помощью метода any2stringadd в scala.Predef.
Shadowing
Этот неявно унаследованный член скрывается одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:
(setLike: any2stringadd[SetLike[A, This]]).+(other)
Definition Classes
any2stringadd

def filter(p: (A) ⇒ Boolean): TraversableOnce[A]

Implicit
Этот член добавлен неявным преобразованием из SetLike[A, This] в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
Shadowing
Этот неявно унаследованный член скрывается одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:
(setLike: MonadOps[A]).filter(p)
Definition Classes
MonadOps

def flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): TraversableOnce[B]

Implicit
Этот член добавлен неявным преобразованием из SetLike[A, This] в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
Shadowing
Этот неявно унаследованный член скрывается одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:
(setLike: MonadOps[A]).flatMap(f)
Definition Classes
MonadOps

def map[B](f: (A) ⇒ B): TraversableOnce[B]

Implicit
Этот член добавлен неявным преобразованием из SetLike[A, This] в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
Shadowing
Этот неявно унаследованный член скрывается одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:
(setLike: MonadOps[A]).map(f)
Definition Classes
MonadOps

def withFilter(p: (A) ⇒ Boolean): Iterator[A]

Implicit
Этот член добавлен неявным преобразованием из SetLike[A, This] в MonadOps[A] с помощью метода MonadOps в scala.collection.TraversableOnce.
Shadowing
Этот неявно унаследованный член скрывается одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать приведение типа:
(setLike: MonadOps[A]).withFilter(p)
Definition Classes
MonadOps

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

Spec-Zone.ru

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