Тракт 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]]
Члены типа
тип 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]
Как и ++, возвращает новую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда.
Она отличается от ++ тем, что правый операнд определяет тип результирующей коллекции, а не левый. Мемоника: двоеточие находится со стороны нового типа коллекции.
Пример:
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
копия объекта.
def collect[B](pf: PartialFunction[A, B]): Set[B]
Строит новую коллекцию, применяя частичную функцию ко всем элементам этого множества, для которых функция определена.
- 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
Копирует элементы этого набора в массив. Заполняет заданный массив xs не более чем len элементами этого набора, начиная с позиции start. Копирование прекращается, как только достигается конец текущего набора, или конец целевого массива, или len элементов были скопированы.
- xs
массив для заполнения.
- start
начальный индекс.
- len
максимальное количество элементов для копирования.
- Definition Classes
- IterableLike → TraversableLike → TraversableOnce → GenTraversableOnce
def copyToArray(xs: Array[A]): Unit
Копирует элементы этого набора в массив. Заполняет заданный массив xs значениями этого набора. Копирование прекращается, как только достигается конец текущего набора или конец целевого массива.
- xs
массив для заполнения.
- Definition Classes
- TraversableOnce → GenTraversableOnce
def copyToArray(xs: Array[A], start: Int): Unit
Копирует элементы этого набора в массив. Заполняет заданный массив 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]
Создаёт новый набор, применяя функцию ко всем элементам этого набора и используя элементы полученных наборов.
Например:
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
Применяет функцию 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
объект класса, соответствующий типу получателя во время выполнения.
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, за исключением последнего, который будет меньше sizesize, если элементы не делятся на 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]
Создает новую коллекцию, применяя функцию ко всем элементам этого множества.
- B
Тип элементов возвращаемой коллекции.
- f
Функция, которая должна быть применена к каждому элементу.
- возвращает
новое множество, полученное путем применения заданной функции
fк каждому элементу этого множества и сбора результатов.
- Определяющие классы
- SetLike → TraversableLike → GenTraversableLike → FilterMonadic
def max: A
Находит наибольший элемент.
- возвращает
наибольший элемент этого множества.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли это множество пусто.
def maxBy[B](f: (A) ⇒ B): A
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- возвращает
первый элемент этого множества с наибольшим значением, измеренным функцией f.
- Определяющие классы
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли это множество пусто.
def min: A
Находит наименьший элемент.
- возвращает
наименьший элемент этого множества
- Определяющие классы
- TraversableOnce → GenTraversableOnce
- Исключения
UnsupportedOperationExceptionесли это множество пусто.
def minBy[B](f: (A) ⇒ B): A
Находит первый элемент, который дает наименьшее значение, измеренное функцией 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
Перемножает элементы этой коллекции.
- 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
Проверяет, содержит ли другая итерируемая коллекция те же элементы в том же порядке, что и этот набор.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- 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
Суммирует элементы этого набора.
- 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]
Преобразует этот набор в другой, копируя все элементы.
- Col
Тип коллекции для создания.
- возвращает
новую коллекцию, содержащую все элементы этого набора.
- Определяющие классы
- TraversableLike → TraversableOnce → GenTraversableOnce
def toArray: Array[A]
Преобразует этот набор в массив.
- возвращает
массив, содержащий все элементы этого набора. Должен быть доступен
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]
Преобразует этот набор в карту. Этот метод недоступен, если элементы не являются членами 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
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)]
Возвращает множество, образованное из этого множества и другого итерируемого набора путём объединения соответствующих элементов в пары. Если один из двух наборов длиннее другого, его оставшиеся элементы игнорируются.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
- B
тип второй половины возвращаемых пар
- that
Итерируемый набор, предоставляющий вторую половину каждой пары результата
- returns
новый набор, содержащий пары, состоящие из соответствующих элементов этого набора и
that. Длина возвращаемого набора — это минимум из длин этого набора иthat.
- Definition Classes
- IterableLike → GenIterableLike
def zipAll[B](that: Iterable[B], thisElem: A, thatElem: B): Set[(A, B)]
Возвращает множество, образованное из этого множества и другого итерируемого набора путём объединения соответствующих элементов в пары. Если один из двух наборов короче другого, используются плацехолдеры для расширения более короткого набора до длины более длинного.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
- B
тип второй половины возвращаемых пар
- that
Итерируемый набор, предоставляющий вторую половину каждой пары результата
- thisElem
элемент, используемый для заполнения результата, если этот набор короче
that.- thatElem
элемент, используемый для заполнения результата, если
thatкороче этого набора.- returns
новый набор, содержащий пары, состоящие из соответствующих элементов этого набора и
that. Длина возвращаемого набора — это максимум из длин этого набора иthat. Если этот набор корочеthat, значенияthisElemиспользуются для заполнения результата. Еслиthatкороче этого набора, значенияthatElemиспользуются для заполнения результата.
- Definition Classes
- IterableLike → GenIterableLike
def zipWithIndex: Set[(A, Int)]
Объединяет этот набор с его индексами.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
- 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
Шаблонный тракт для множеств.
Множество — это коллекция, которая не содержит дублирующих элементов.
Для реализации конкретного множества необходимо предоставить реализации следующих методов:
Если вы хотите, чтобы методы, такие как
take,drop,filterвозвращали множество того же типа, вам также следует переопределить:Также рекомендуется переопределить методы
foreachиsizeдля повышения эффективности.Примечание для реализации: Этот тракт предоставляет большинство операций над множеством независимо от его представления. Он обычно наследуется конкретными реализациями множеств.
2.8