Класс scala.collection.immutable.Set.Set1
final класс Set1[A] extends AbstractSet[A] with StrictOptimizedIterableOps[A, Set, Set[A]] with Serializable
Члены значения
final def !=(arg0: Any): Boolean
Проверка двух объектов на неравенство.
- returns
trueесли !(this == that), иначе false.
- Определяющие классы
- AnyRef → Any
final def ##(): Int
Эквивалентно x.hashCode за исключением числовых типов в коробках и null. Для чисел возвращает значение хэша, которое согласуется с равенством значений: если два экземпляра типа значения сравниваются как true, то ## будет производить одно и то же значение хэша для каждого из них. Для null возвращает хэш-код, где null.hashCode вызывает NullPointerException.
- returns
хэш-значение, согласованное с ==
- Определяющие классы
- AnyRef → Any
final def &(that: collection.Set[A]): Set[A]
final def &~(that: collection.Set[A]): Set[A]
final def +(elem: A): Set[A]
final def ++(that: IterableOnce[A]): Set[A]
final def ++[B >: A](suffix: IterableOnce[B]): Set[B]
Псевдоним для concat
- Определяющие классы
- IterableOps
- Аннотации
- @inline()
final def -(elem: A): Set[A]
final def --(that: IterableOnce[A]): Set[A]
def ->[B](y: B): (Set1[A], B)
- Неявный
- Этот член добавляется неявным преобразованием из Set1[A] в ArrowAssoc[Set1[A]] с помощью метода ArrowAssoc в scala.Predef.
- Определяющие классы
- ArrowAssoc
- Аннотации
- @inline()
final def ==(arg0: Any): Boolean
Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).
- returns
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Definition Classes
- AnyRef → Any
final def addString(b: mutable.StringBuilder): mutable.StringBuilder
Добавляет все элементы этого набора в строковый буфер. Записанный текст состоит из строковых представлений (относительно метода toString) всех элементов этого набора без разделительной строки.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> val h = a.addString(b) h: StringBuilder = 1234
- b
строковый буфер, в который добавляются элементы.
- returns
строковый буфер
b, в который были добавлены элементы.
- Definition Classes
- IterableOnceOps
- Annotations
- @inline()
final def addString(b: mutable.StringBuilder, sep: String): mutable.StringBuilder
Добавляет все элементы этого набора в строковый буфер с использованием разделительной строки. Записанный текст состоит из строковых представлений (относительно метода toString) всех элементов этого набора, разделенных строкой sep.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> a.addString(b, ", ") res0: StringBuilder = 1, 2, 3, 4
- b
строковый буфер, в который добавляются элементы.
- sep
разделительная строка.
- returns
строковый буфер
b, в который были добавлены элементы.
- Definition Classes
- IterableOnceOps
- Annotations
- @inline()
def addString(b: mutable.StringBuilder, start: String, sep: String, end: String): mutable.StringBuilder
Добавляет все элементы этого набора в строковый буфер с использованием начальной, конечной и разделительной строк. Записанный текст начинается со строки start и заканчивается строкой end. Внутри, строковые представления (относительно метода toString) всех элементов этого набора разделяются строкой sep.
Пример:
scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)
scala> val b = new StringBuilder()
b: StringBuilder =
scala> a.addString(b , "List(" , ", " , ")")
res5: StringBuilder = List(1, 2, 3, 4)
- b
строковый буфер, в который добавляются элементы.
- start
начальная строка.
- sep
разделительная строка.
- end
конечная строка.
- returns
строковый буфер
b, в который были добавлены элементы.
- Definition Classes
- IterableOnceOps
def andThen[A](g: (Boolean) => A): (A) => A
Компонует два экземпляра Function1 в новый Function1, с применением этого функционала в первую очередь.
- A
тип результата функции
g- g
функция R => A
- returns
новая функция
fтакая, чтоf(x) == g(apply(x))
- Definition Classes
- Function1
- Annotations
- @unspecialized()
final def apply(elem: A): Boolean
Проверяет, содержится ли некоторый элемент в этом наборе.
Этот метод эквивалентен contains. Он позволяет интерпретировать наборы как предикаты.
- elem
элемент, который нужно проверить на членство.
- returns
trueеслиelemсодержится в этом наборе,falseв противном случае.
final def asInstanceOf[T0]: T0
Преобразует объект-получатель в тип T0.
Обратите внимание, что успех преобразования во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] не выбросит. В последнем примере, потому что аргумент типа стирается во время компиляции, невозможно проверить, соответствуют ли содержимое списка требуемому типу.
- returns
объект-получатель.
- Definition Classes
- Any
- Exceptions thrown
ClassCastExceptionесли объект-получатель не является экземпляром стирания типаT0.
def canEqual(that: Any): Boolean
Метод, который должен вызываться из каждого хорошо спроектированного метода equals, который может быть переопределён в подклассе. См. Программирование на Scala, глава 28 для обсуждения и проектирования.
- that
значение, проверяемое на возможное равенство
- возвращает
true, если этот экземпляр может быть равен
that, в противном случае false
def className: String
Определяет префикс представления этого объекта toString.
Рекомендуется возвращать имя конкретного типа коллекции, но не подклассы реализации. Например, для ListMap этот метод должен возвращать "ListMap", а не "Map" (супертип) или "Node" (подкласс реализации).
Реализация по умолчанию возвращает "Iterable". Она переопределена для основных типов коллекций "Seq", "IndexedSeq", "LinearSeq", "Buffer", "Set", "Map", "SortedSet", "SortedMap" и "View".
- возвращает
строковое представление, которое начинается с результата
toString, применённого к этой итерируемой коллекции. По умолчанию строковый префикс - это простое имя класса коллекции, итерируемой коллекции.
- Attributes
- protected[this]
- Definition Classes
- Iterable
def clone(): AnyRef
Создаёт копию объекта-приёмника.
По умолчанию реализация метода clone зависит от платформы.
- возвращает
копию объекта-приёмника.
final def coll: Set1.this.type
- возвращает
Эту коллекцию как
C.
- Attributes
- protected
- Definition Classes
- Iterable → IterableOps
def collect[B](pf: PartialFunction[A, B]): Set[B]
Создаёт новую итерируемую коллекцию, применяя частичную функцию ко всем элементам этой итерируемой коллекции, для которых функция определена.
- B
тип элемента возвращаемой итерируемой коллекции.
- pf
частичная функция, которая фильтрует и отображает итерируемую коллекцию.
- возвращает
новая итерируемая коллекция, полученная в результате применения данной частичной функции
pfк каждому элементу, для которого она определена, и сбора результатов. Порядок элементов сохраняется.
- Definition Classes
- StrictOptimizedIterableOps → IterableOps → IterableOnceOps
- Примечание
Переиспользование: после вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора неопределённо, может быть изменено и может привести к изменениям в новом итераторе тоже.
def collectFirst[B](pf: PartialFunction[A, B]): Option[B]
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не упорядочен.
- pf
частичная функция
- возвращает
значение Option, содержащее pf, применённое к первому значению, для которого оно определено, или
Noneесли такового нет.
- Definition Classes
- IterableOnceOps
Seq("a", 1, 5L).collectFirst({ case x: Int => x*10 }) = Some(10)
def compose[A](g: (A) => A): (A) => Boolean
Компонует два экземпляра Function1 в новую Function1, при этом эта функция применяется последней.
- A
тип, к которому можно применить функцию
g- g
функция A => T1
- возвращает
новая функция
fтакая, чтоf(x) == apply(g(x))
- Definition Classes
- Function1
- Annotations
- @unspecialized()
def concat(that: IterableOnce[A]): Set[A]
Создаёт новый набор, добавляя в этот набор все элементы, содержащиеся в другой коллекции, исключая дубликаты.
Этот метод принимает коллекцию элементов и добавляет все элементы, исключая дубликаты, в множество.
Пример:
scala> val a = Set(1, 2) concat Set(2, 3) a: scala.collection.immutable.Set[Int] = Set(1, 2, 3)
- that
коллекция, содержащая элементы для добавления.
- возвращает
новый набор с добавленными элементами, исключая дубликаты.
- Definition Classes
- SetOps
def concat[B >: A](suffix: IterableOnce[B]): Set[B]
Возвращает новую итерируемую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элемента итерируемой коллекции является наиболее специфическим суперклассом, охватывающим типы элементов двух операндов.
- B
тип элемента возвращаемой коллекции.
- suffix
траверсабельный объект для добавления.
- returns
новая итерируемая коллекция, которая содержит все элементы этой итерируемой коллекции, за которыми следуют все элементы
suffix.
- Определяющие классы
- IterableOps
def contains(elem: A): Boolean
def copyToArray[B >: A](xs: Array[B], start: Int, len: Int): Int
Копирует элементы в массив, возвращая количество записанных элементов.
Заполняет данный массив xs начиная с индекса start не более чем len элементами этой коллекции.
Копирование прекратится, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива, или будет скопировано len элементов.
- B
тип элементов массива.
- xs
массив для заполнения.
- start
начальный индекс xs.
- len
максимальное количество элементов для копирования.
- returns
количество элементов, записанных в массив
- Определяющие классы
- IterableOnceOps
- Примечание
Повторное использование: после вызова этого метода следует отказаться от итератора, на котором он был вызван. Его использование не определено и может быть изменено. Примечание: не будет завершено для коллекций бесконечного размера.
def copyToArray[B >: A](xs: Array[B], start: Int): Int
Копирует элементы в массив, возвращая количество записанных элементов.
Заполняет данный массив xs начиная с индекса start значениями этой коллекции.
Копирование прекратится, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива.
- B
тип элементов массива.
- xs
массив для заполнения.
- start
начальный индекс xs.
- returns
количество элементов, записанных в массив Примечание: не будет завершено для коллекций бесконечного размера.
- Определяющие классы
- IterableOnceOps
def copyToArray[B >: A](xs: Array[B]): Int
Копирует элементы в массив, возвращая количество записанных элементов.
Заполняет данный массив xs начиная с индекса start значениями этой коллекции.
Копирование прекратится, как только будут скопированы все элементы этой коллекции, или будет достигнут конец массива.
- B
тип элементов массива.
- xs
массив для заполнения.
- returns
количество элементов, записанных в массив Примечание: не будет завершено для коллекций бесконечного размера.
- Определяющие классы
- IterableOnceOps
def corresponds[B](that: IterableOnce[B])(p: (A, B) => Boolean): Boolean
Проверяет, соответствует ли каждый элемент итератора этой коллекции соответствующему элементу другой коллекции, удовлетворяя тестовому предикату.
- B
тип элементов
that- that
другая коллекция
- p
тестовый предикат, который связывает элементы из обеих коллекций
- returns
trueесли обе коллекции имеют одинаковую длину иp(x, y)являетсяtrueдля всех соответствующих элементовxэтого итератора иyизthat, иначеfalse
- Определяющие классы
- IterableOnceOps
def count(p: (A) => Boolean): Int
Подсчитывает количество элементов в коллекции, которые удовлетворяют предикату.
- p
предикат, используемый для проверки элементов.
- returns
количество элементов, удовлетворяющих предикату
p.
- Определяющие классы
- IterableOnceOps
def diff(that: collection.Set[A]): Set[A]
Вычисляет разность этого множества и другого множества.
- that
множество элементов, которые нужно исключить.
- returns
множество, содержащее те элементы этого множества, которые также не содержатся в заданном множестве
that.
def drop(n: Int): Set[A]
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- n
число элементов, которые нужно удалить из этого итерируемого набора.
- returns
итерируемый набор, состоящий из всех элементов этого итерируемого набора, кроме первых
nэлементов, или пустого набора, если этот итерируемый набор содержит меньшеnэлементов. Еслиnотрицательно, не удалять ни одного элемента.
- Definition Classes
- IterableOps → IterableOnceOps
- Note
Переиспользование: После вызова этого метода нужно удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе.
def dropRight(n: Int): Set[A]
Остальная часть коллекции без её n последних элементов. Для линейных неизменяемых коллекций это должно предотвратить создание копии.
Примечание: Даже когда применяется к представлению или ленивой коллекции, он всегда заставляет элементы.
- n
число элементов, которые нужно удалить из этого итерируемого набора.
- returns
итерируемый набор, состоящий из всех элементов этого итерируемого набора, кроме последних
nэлементов, или пустого набора, если этот итерируемый набор содержит меньшеnэлементов. Еслиnотрицательно, не удалять ни одного элемента.
- Definition Classes
- StrictOptimizedIterableOps → IterableOps
def dropWhile(p: (A) => Boolean): Set[A]
Удаляет наибольший префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
- p
Предикат, используемый для проверки элементов.
- returns
наибольший суффикс этого итерируемого набора, первый элемент которого не удовлетворяет предикату
p.
- Definition Classes
- IterableOps → IterableOnceOps
- Note
Переиспользование: После вызова этого метода нужно удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе.
def empty: Set[A]
Пустой итерируемый набор того же типа, что и этот итерируемый набор
- returns
пустой итерируемый набор типа
C.
- Definition Classes
- IterableFactoryDefaults → IterableOps
def ensuring(cond: (Set1[A]) => Boolean, msg: => Any): Set1[A]
- Implicit
- Этот член добавлен неявным преобразованием из Set1[A] в Ensuring[Set1[A]], выполненным методом Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: (Set1[A]) => Boolean): Set1[A]
- Implicit
- Этот член добавлен неявным преобразованием из Set1[A] в Ensuring[Set1[A]], выполненным методом Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean, msg: => Any): Set1[A]
- Неявное
- Этот член добавлен неявным преобразованием из Set1[A] в Ensuring[Set1[A]], выполненным методом Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean): Set1[A]
- Неявное
- Этот член добавлен неявным преобразованием из Set1[A] в Ensuring[Set1[A]], выполненным методом Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
final def eq(arg0: AnyRef): Boolean
Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).
Метод eq реализует отношение эквивалентности для не-нулевых экземпляров AnyRef, и обладает тремя дополнительными свойствами:
-
Он согласован: для любых не-нулевых экземпляров
x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false. Для любого не-нулевого экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false.
null.eq(null) возвращает true. При переопределении методов equals или hashCode важно обеспечить, что их поведение согласуется с равенством ссылок. Следовательно, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и они должны хешироваться к одному значению (o1.hashCode == o2.hashCode).
- возвращает
true, если аргумент является ссылкой на объект-получатель;falseв противном случае.
- Определяющие классы
- AnyRef
def equals(that: Any): Boolean
Метод универсального равенства, определённый в AnyRef.
def excl(elem: A): Set[A]
Создаёт новый набор, из которого удалено данное значение.
- elem
элемент, который необходимо удалить
- возвращает
новый набор, содержащий все элементы этого набора, но не содержащий
elem.
def exists(p: (A) => Boolean): Boolean
Проверяет, выполняется ли предикат хотя бы для одного элемента в этом неизменяемом наборе.
Примечание: может не завершаться для наборов бесконечного размера.
- p
предикат для проверки элементов.
- возвращает
trueесли заданный предикатpвыполняется для хотя бы одного элемента в этом неизменяемом наборе, иначеfalse
- Определяющие классы
- Set1 → IterableOnceOps
def filter(pred: (A) => Boolean): Set[A]
Отбирает все элементы из этого итерируемого набора, которые удовлетворяют предикату.
- возвращает
новый итератор, состоящий из всех элементов этого итерируемого набора, удовлетворяющих данному предикату
p. Порядок элементов сохраняется.
- Определяющие классы
- StrictOptimizedIterableOps → IterableOps → IterableOnceOps
def filterImpl(pred: (A) => Boolean, isFlipped: Boolean): Set[A]
- Атрибуты
- protected[scala.collection]
- Определяющие классы
- StrictOptimizedIterableOps
def filterNot(pred: (A) => Boolean): Set[A]
Выбирает все элементы этого итерируемого набора, которые не удовлетворяют предикату.
- pred
предикат, используемый для проверки элементов.
- returns
новый итерируемый набор, состоящий из всех элементов этого итерируемого набора, которые не удовлетворяют заданному предикату
pred. Их порядок может быть не сохранён.
- Definition Classes
- StrictOptimizedIterableOps → IterableOps → IterableOnceOps
def finalize(): Unit
Вызывается сборщиком мусора на объекте-получателе, когда больше нет ссылок на объект.
Подробности о том, когда и если метод finalize вызывается, а также взаимодействие между finalize и нелокальными возвратами и исключениями, зависят от платформы.
def find(p: (A) => Boolean): Option[A]
Находит первый элемент неизменяемого множества, удовлетворяющий предикату, если таковой есть.
Примечание: может не завершиться для бесконечно больших коллекций.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- p
предикат, используемый для проверки элементов.
- returns
значение опции, содержащее первый элемент в неизменяемом множестве, который удовлетворяет
p, илиNone, если такового нет.
- Definition Classes
- Set1 → IterableOnceOps
def flatMap[B](f: (A) => IterableOnce[B]): Set[B]
Строит новый итерируемый набор, применяя функцию ко всем элементам этого итерируемого набора и используя элементы полученных наборов.
Например:
def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")
Тип результирующего набора определяется статическим типом итерируемого набора. Это иногда может привести к неожиданным результатам. Например:
// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)
// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap ((word: String) => word.toSeq)
// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)
// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
- B
тип элементов возвращаемого набора.
- f
функция для применения к каждому элементу.
- returns
новый итерируемый набор, полученный путём применения заданной функции, принимающей набор в качестве результата
fк каждому элементу этого итерируемого набора и конкатенации результатов.
- Definition Classes
- StrictOptimizedIterableOps → IterableOps → IterableOnceOps
- Note
Переиспользование: После вызова этого метода следует отказаться от итератора, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе также.
def flatten[B](implicit toIterableOnce: (A) => IterableOnce[B]): Set[B]
Преобразует этот итерируемый набор коллекций обходов в итерируемый набор, образованный элементами этих коллекций обходов.
Тип результирующей коллекции будет определяться типом итерируемой коллекции. Например:
val xs = List(
Set(1, 2, 3),
Set(1, 2, 3)
).flatten
// xs == List(1, 2, 3, 1, 2, 3)
val ys = Set(
List(1, 2, 3),
List(3, 2, 1)
).flatten
// ys == Set(1, 2, 3)
- B
тип элементов каждой коллекции обходов.
- returns
новый итерируемый набор, полученный путём конкатенации всех элементов итерируемых наборов.
- Definition Classes
- StrictOptimizedIterableOps → IterableOps → IterableOnceOps
- Note
Переиспользование: После вызова этого метода следует отказаться от итератора, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе также.
def fold[A1 >: A](z: A1)(op: (A1, A1) => A1): A1
Складывает элементы этой коллекции с помощью указанного ассоциативного бинарного оператора. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективных порядков обхода.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
Примечание: не завершится для бесконечно больших коллекций.
- A1
параметр типа для бинарного оператора, надтип
A.- z
нейтральный элемент для операции fold; может добавляться к результату произвольное количество раз и не должен менять результат (например,
Nilдля конкатенации списков, 0 для сложения или 1 для умножения).- op
бинарный оператор, который должен быть ассоциативным.
- returns
результат применения оператора fold
opмежду всеми элементами иz, илиz, если эта коллекция пуста.
- Definition Classes
- IterableOnceOps
def foldLeft[B](z: B)(op: (B, A) => B): B
Применяет бинарный оператор к начальному значению и ко всем элементам этого набора, слева направо.
Примечание: не завершится для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базового набора не упорядочен, или оператор не является ассоциативным и коммутативным.
- B
тип результата бинарного оператора.
- z
начальное значение.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого набора, слева направо с начальным значениемzслева:op(...op(z, x_1), x_2, ..., x_n)
где
x1, ..., xn— элементы этого набора. Возвращаетz, если этот набор пуст.
- Definition Classes
- IterableOnceOps
def foldRight[B](z: B)(op: (A, B) => B): B
Применяет бинарный оператор ко всем элементам этого набора и начальному значению, справа налево.
Примечание: не завершится для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только тип базового набора не упорядочен, или оператор не является ассоциативным и коммутативным.
- B
тип результата бинарного оператора.
- z
начальное значение.
- op
бинарный оператор.
- returns
-
результат вставки
opмежду последовательными элементами этого набора, справа налево с начальным значениемzсправа:op(x_1, op(x_2, ... op(x_n, z)...))
где
x1, ..., xn— элементы этого набора. Возвращаетz, если этот набор пуст.
- Definition Classes
- IterableOnceOps
def forall(p: (A) => Boolean): Boolean
Проверяет, выполняется ли предикат для всех элементов этого неизменяемого набора.
Примечание: может не завершиться для наборов бесконечного размера.
- p
предикат, используемый для проверки элементов.
- returns
true, если этот неизменяемый набор пуст или заданный предикатpвыполняется для всех элементов этого неизменяемого набора, в противном случаеfalse.
- Definition Classes
- Set1 → IterableOnceOps
def foreach[U](f: (A) => U): Unit
Применяет f к каждому элементу для побочных эффектов. Примечание: параметр [U] необходим для помощи в инференции типов scalac.
- Definition Classes
- Set1 → IterableOnceOps
def formatted(fmtstr: String): String
Возвращает строку, отформатированную в соответствии с заданной строкой format. Формат строк аналогичен String.format (@см. java.lang.String.format).
- Implicit
- Этот член добавлен неявным преобразованием из Set1[A] вStringFormat[Set1[A]] выполняемой методом StringFormat в scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
def fromSpecific(coll: IterableOnce[A]): Set[A]
Определяет, как преобразовать заданный Iterable[A] в набор элементов типа C.
Этот процесс может выполняться жестко или нежестко (т.е. без вычисления элементов результирующих наборов). Другими словами, этот метод определяет модель вычисления набора.
- Attributes
- protected
- Definition Classes
- IterableFactoryDefaults → IterableOps
- Note
-
При реализации пользовательского типа набора и уточнении
,Cдо нового типа, этот метод необходимо переопределить (в противном случае компилятор выдаст ошибку). В общем случае, когдаC =:= CC[A], это можно сделать, смешав в себе тракт IterableFactoryDefaults, который реализует метод с помощью iterableFactory.Как видно из аннотации
@uncheckedVariance, использование этого метода может быть небезопасным. Однако, пока он вызывается со значениемIterable[A]полученным изthisнабора (как это происходит в реализациях операций, где мы используемView[A]), он безопасен.
final def getClass(): Class[_ <: AnyRef]
def groupBy[K](f: (A) => K): Map[K, Set[A]]
Разделяет эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с функцией дискриминатора.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
- K
тип ключей, возвращаемых функцией дискриминатора.
- f
функция дискриминатора.
- returns
-
Карта, сопоставляющая ключи итерируемым коллекциям, при этом выполняется следующее инвариантное свойство:
(xs groupBy f)(k) = xs filter (x => f(x) == k)
То есть, каждый ключ
kсвязан с итерируемой коллекцией тех элементовxдля которыхf(x)равноk.
- Definition Classes
- IterableOps
def groupMap[K, B](key: (A) => K)(f: (A) => B): Map[K, Set[B]]
Разделяет эту итерируемую коллекцию на карту итерируемых коллекций в соответствии с функцией дискриминатора key. Каждый элемент в группе преобразуется в значение типа B с помощью функции value.
Эквивалентно groupBy(key).mapValues(_.map(f)), но более эффективно.
case class User(name: String, age: Int) def namesByAge(users: Seq[User]): Map[Int, Seq[String]] = users.groupMap(_.age)(_.name)
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
- K
тип ключей, возвращаемых функцией дискриминатора
- B
тип значений, возвращаемых функцией преобразования
- key
функция дискриминатора
- f
функция преобразования элементов
- Definition Classes
- IterableOps
def groupMapReduce[K, B](key: (A) => K)(f: (A) => B)(reduce: (B, B) => B): Map[K, B]
Разделяет эту итерируемую коллекцию на карту в соответствии с функцией дискриминатора key. Все значения, имеющие одинаковый дискриминатор, затем преобразуются функцией value и затем сводятся к одному значению функцией reduce.
Эквивалентно groupBy(key).mapValues(_.map(f).reduce(reduce)), но более эффективно.
def occurrences[A](as: Seq[A]): Map[A, Int] = as.groupMapReduce(identity)(_ => 1)(_ + _)
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
- Definition Classes
- IterableOps
def grouped(size: Int): Iterator[Set[A]]
Разделяет элементы на итерируемые коллекции фиксированного размера.
- size
количество элементов в каждой группе
- returns
Итератор, генерирующий итерируемые коллекции размером
size, за исключением последней, которая будет меньше sizesize, если элементы не делятся на размер равномерно.
- Definition Classes
- IterableOps
- See also
scala.collection.Iterator, метод
grouped
def hashCode(): Int
Метод hashCode для ссылочных типов. Смотрите hashCode в scala.Any.
- returns
значение хэш-кода для этого объекта.
def head: A
Выбирает первый элемент этой неизменяемой множества.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не является упорядоченным.
- returns
первый элемент этой неизменяемой множества.
- Definition Classes
- Set1 → IterableOps
- Exceptions thrown
NoSuchElementExceptionесли неизменяемая множества пустая.
def headOption: Option[A]
Возвращает опционально первый элемент.
Примечание: может возвращать разные результаты для разных запусков, если только тип базовой коллекции не является упорядоченным.
- returns
первый элемент этой итерируемой коллекции, если она не пустая,
Noneесли она пустая.
- Definition Classes
- IterableOps
def incl(elem: A): Set[A]
Создаёт новый набор с дополнительным элементом, если этот элемент ещё не присутствует.
- elem
элемент, который нужно добавить
- возвращает
новый набор, который содержит все элементы этого набора и также содержит
elem.
def init: Set[A]
Начальная часть коллекции без её последнего элемента.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
- Definition Classes
- IterableOps
def inits: Iterator[Set[A]]
Итерируется по начальным частям этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения — результаты последовательных применений init.
Примечание: Даже при применении к представлению или ленивой коллекции элементы всегда будут принудительно вычисляться.
- возвращает
итератор по всем начальным частям этой итерируемой коллекции
- Definition Classes
- IterableOps
List(1,2,3).inits = Iterator(List(1,2,3), List(1,2), List(1), Nil)
def intersect(that: collection.Set[A]): Set[A]
Вычисляет пересечение этого набора и другого набора.
- that
набор для пересечения.
- возвращает
новый набор, состоящий из всех элементов, которые присутствуют как в этом наборе, так и в заданном наборе
that.
- Definition Classes
- SetOps
def isEmpty: Boolean
Проверяет, является ли неизменяемый набор пустым.
Примечание: Реализации в подклассах, которые не являются многократно итерируемыми, должны позаботиться о том, чтобы не потреблять элементы при вызове isEmpty.
- возвращает
trueесли неизменяемый набор не содержит элементов,falseв противном случае.
- Definition Classes
- Set1 → IterableOnceOps
final def isInstanceOf[T0]: Boolean
Проверяет, является ли динамический тип объекта-получателя T0.
Обратите внимание, что результат проверки производится с учётом стирания типов в Scala. Таким образом, выражение 1.isInstanceOf[String] вернёт false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере из-за стирания аргумента типа во время компиляции невозможно проверить, соответствуют ли элементы списка указанному типу.
- возвращает
trueесли объект-получатель является экземпляром стирания типаT0;falseв противном случае.
- Definition Classes
- Any
def isTraversableAgain: Boolean
Проверяет, может ли эта итерируемая коллекция многократно итерироваться. Всегда true для итерируемых и false для итераторов, если не переопределено.
- возвращает
trueесли коллекция многократно итерируема,falseв противном случае.
- Definition Classes
- IterableOps → IterableOnceOps
def iterableFactory: IterableFactory[Set]
Компаньон-объект этого неизменяемого набора, предоставляющий различные методы фабрики.
- Definition Classes
- Set → Set → Iterable → Iterable → IterableOps
- Примечание
При реализации пользовательского типа коллекции и уточнении
CCдо нового типа, этот метод необходимо переопределить, чтобы вернуть фабрику для нового типа (в противном случае компилятор выдаст ошибку).
def iterator: Iterator[A]
Итератор может быть использован только один раз
- Definition Classes
- Set1 → IterableOnce
def knownSize: Int
- возвращает
Количество элементов в этом неизменяемом наборе, если его можно вычислить без затрат, иначе — -1. «Без затрат» обычно означает: не требует перебора элементов коллекции.
- Definition Classes
- Set1 → IterableOnce
def last: A
Выбирает последний элемент.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- возвращает
Последний элемент этой итерируемой коллекции.
- Definition Classes
- IterableOps
- Исключения
NoSuchElementExceptionЕсли итерируемая коллекция пуста.
def lastOption: Option[A]
Выбирает последний элемент (опционально).
Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен.
- returns
последний элемент этой итерируемой коллекции, если она не пуста,
Noneесли она пуста.
- Определяющие классы
- IterableOps
def lazyZip[B](that: collection.Iterable[B]): LazyZip2[A, B, Set1.this.type]
Аналогично zip за исключением того, что элементы в каждой коллекции не потребляются до тех пор, пока строгая операция не будет вызвана на возвращаемом декораторе LazyZip2.
Вызовы lazyZip могут быть связаны для поддержки более высоких арностей (до 4), не затрачивая средств на создание и деконструирование промежуточных кортежей.
val xs = List(1, 2, 3) val res = (xs lazyZip xs lazyZip xs lazyZip xs).map((a, b, c, d) => a + b + c + d) // res == List(4, 8, 12)
- B
тип второго элемента в каждой будущей паре
- that
итерируемый объект, предоставляющий второй элемент каждой будущей пары
- returns
декоратор
LazyZip2, который позволяет выполнять строгие операции над лениво вычисляемыми парами или цепочками вызововlazyZip. Также поддерживается неявное преобразование вIterable[(A, B)].
- Определяющие классы
- Iterable
def map[B](f: (A) => B): Set[B]
Создает новую итерируемую коллекцию, применяя функцию ко всем элементам этой итерируемой коллекции.
- B
тип элемента возвращаемой итерируемой коллекции.
- f
функция, которую нужно применить к каждому элементу.
- returns
новая итерируемая коллекция, полученная в результате применения данной функции
fк каждому элементу этой итерируемой коллекции и сбора результатов.
- Определяющие классы
- StrictOptimizedIterableOps → IterableOps → IterableOnceOps
- Примечание
Повторное использование: после вызова этого метода следует отказаться от итератора, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям нового итератора.
def max[B >: A](implicit ord: math.Ordering[B]): A
Находит наибольший элемент.
- B
Тип, для которого определен порядок.
- ord
Порядок, который будет использоваться для сравнения элементов.
- returns
наибольший элемент этой коллекции относительно порядка
ord.
- Определяющие классы
- IterableOnceOps
- Выбрасываемые исключения
UnsupportedOperationExceptionесли эта коллекция пуста.
def maxBy[B](f: (A) => B)(implicit cmp: math.Ordering[B]): A
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- cmp
Порядок, который будет использоваться для сравнения элементов.
- returns
первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно порядка
cmp.
- Определяющие классы
- IterableOnceOps
- Выбрасываемые исключения
UnsupportedOperationExceptionесли эта коллекция пуста.
def maxByOption[B](f: (A) => B)(implicit cmp: math.Ordering[B]): Option[A]
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- cmp
Порядок, который будет использоваться для сравнения элементов.
- returns
опциональное значение, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно порядка
cmp.
- Определяющие классы
- IterableOnceOps
def maxOption[B >: A](implicit ord: math.Ordering[B]): Option[A]
Находит наибольший элемент.
- B
Тип, над которым определено упорядочение.
- ord
Упорядочение, используемое для сравнения элементов.
- returns
значение типа Option, содержащее наибольший элемент этого набора относительно упорядочения
ord.
- Definition Classes
- IterableOnceOps
def min[B >: A](implicit ord: math.Ordering[B]): A
Находит наименьший элемент.
- B
Тип, над которым определено упорядочение.
- ord
Упорядочение, используемое для сравнения элементов.
- returns
наименьший элемент этого набора относительно упорядочения
ord.
- Definition Classes
- IterableOnceOps
- Exceptions thrown
UnsupportedOperationExceptionесли этот набор пустой.
def minBy[B](f: (A) => B)(implicit cmp: math.Ordering[B]): A
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- cmp
Упорядочение, используемое для сравнения элементов.
- returns
первый элемент этого набора с наименьшим значением, измеренным функцией f, относительно упорядочения
cmp.
- Definition Classes
- IterableOnceOps
- Exceptions thrown
UnsupportedOperationExceptionесли этот набор пустой.
def minByOption[B](f: (A) => B)(implicit cmp: math.Ordering[B]): Option[A]
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- cmp
Упорядочение, используемое для сравнения элементов.
- returns
значение типа Option, содержащее первый элемент этого набора с наименьшим значением, измеренным функцией f, относительно упорядочения
cmp.
- Definition Classes
- IterableOnceOps
def minOption[B >: A](implicit ord: math.Ordering[B]): Option[A]
Находит наименьший элемент.
- B
Тип, над которым определено упорядочение.
- ord
Упорядочение, используемое для сравнения элементов.
- returns
значение типа Option, содержащее наименьший элемент этого набора относительно упорядочения
ord.
- Definition Classes
- IterableOnceOps
final def mkString: String
Отображает все элементы этого набора в строке.
Делегирует addString, который может быть переопределен.
- returns
строковое представление этого набора. В результирующей строке строковые представления (относительно метода
toString) всех элементов этого набора следуют друг за другом без разделителя.
- Definition Classes
- IterableOnceOps
- Annotations
- @inline()
final def mkString(sep: String): String
Отображает все элементы этого набора в строке с использованием разделительной строки.
Делегирует addString, который может быть переопределен.
- sep
разделительная строка.
- returns
строковое представление этого набора. В результирующей строке строковые представления (относительно метода
toString) всех элементов этого набора разделяются строкойsep.
- Definition Classes
- IterableOnceOps
- Annotations
- @inline()
List(1, 2, 3).mkString("|") = "1|2|3"
final def mkString(start: String, sep: String, end: String): String
Отображает все элементы этого набора в строке, используя начальную, конечную и разделительную строки.
Делегирует вызов методу addString, который можно переопределить.
- start
начальная строка.
- sep
разделительная строка.
- end
конечная строка.
- returns
строковое представление этого набора. Результирующая строка начинается со строки
startи заканчивается строкойend. Внутри строковые представления (относительно методаtoString) всех элементов этого набора разделены строкойsep.
- Definition Classes
- IterableOnceOps
List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"
final def ne(arg0: AnyRef): Boolean
Эквивалентно !(this eq that).
- returns
trueесли аргумент не является ссылкой на объект-получатель;falseв противном случае.
- Definition Classes
- AnyRef
def newSpecificBuilder: Builder[A, Set[A]]
- returns
строгий билдер для того же типа коллекции. Обратите внимание, что в случае ленивых коллекций (например, View или immutable.LazyList) реализация этого метода возможна, но полученный
Builderнарушит ленивость. Следовательно, операции предпочтительнее реализовывать с помощьюfromSpecificвместо этого метода.
- Attributes
- protected
- Definition Classes
- IterableFactoryDefaults → IterableOps
- Note
-
При реализации пользовательского типа коллекции и уточнении
,Cдо нового типа, этот метод необходимо переопределить (в противном случае компилятор выдаст ошибку). В общем случае, гдеC =:= CC[A], это можно сделать, добавив трейт IterableFactoryDefaults, который реализует метод с использованием iterableFactory.Как показывает аннотация
@uncheckedVariance, использование этого метода может быть небезопасным. Однако, пока возвращаемый билдер используется только сAзначениями, взятыми изthisэкземпляра, он безопасен.
def nonEmpty: Boolean
Проверяет, не является ли коллекция пустой.
- returns
trueесли коллекция содержит хотя бы один элемент,falseв противном случае.
- Definition Classes
- IterableOnceOps
- Annotations
- @deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
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 partition(p: (A) => Boolean): (Set[A], Set[A])
Пара, состоящая, во-первых, из всех элементов, удовлетворяющих предикату p, и, во-вторых, из всех элементов, которые не удовлетворяют ему. Интересно, потому что разделяет коллекцию на две части.
Представленная здесь реализация по умолчанию требует два прохода по коллекции. Строгие коллекции имеют переопределенный вариант partition в StrictOptimizedIterableOps, который требует только одного прохода.
- Definition Classes
- StrictOptimizedIterableOps → IterableOps
def partitionMap[A1, A2](f: (A) => Either[A1, A2]): (Set[A1], Set[A2])
Применяет функцию f к каждому элементу итерируемого набора и возвращает пару итерируемых наборов: первый набор содержит значения, возвращённые f, которые были заключены в scala.util.Left, а второй набор содержит значения, заключённые в scala.util.Right.
Пример:
val xs = Iterable(1, "one", 2, "two", 3, "three") partitionMap {
case i: Int => Left(i)
case s: String => Right(s)
}
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
- A1
тип элементов первого результирующего набора
- A2
тип элементов второго результирующего набора
- f
функция 'разбиения', отображающая элементы этого итерируемого набора в scala.util.Either
- returns
пару итерируемых наборов: первый набор содержит значения, возвращённые
f, которые были заключены в scala.util.Left, а второй набор содержит значения, заключённые в scala.util.Right.
- Definition Classes
- StrictOptimizedIterableOps → IterableOps
def product[B >: A](implicit num: math.Numeric[B]): B
Перемножает элементы этого набора.
- B
тип результата операции
*.- num
неявный параметр, определяющий набор арифметических операций, в том числе операцию
*, используемую для вычисления произведения.- returns
произведение всех элементов этого набора относительно операции
*вnum.
- Definition Classes
- IterableOnceOps
def reduce[B >: A](op: (B, B) => B): B
Сводит элементы этого набора, используя указанную ассоциативную бинарную операцию.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
- B
тип параметра для бинарной операции, супертип
A.- op
бинарная операция, которая должна быть ассоциативной.
- returns
Результат применения оператора reduce
opко всем элементам, если набор не пустой.
- Definition Classes
- IterableOnceOps
- Exceptions thrown
UnsupportedOperationException, если этот набор пуст.
def reduceLeft[B >: A](op: (B, A) => B): B
Применяет бинарную операцию ко всем элементам этого набора, слева направо.
Примечание: не завершится для бесконечно больших наборов.
Примечание: может возвращать разные результаты при разных запусках, если тип набора не упорядочен или операция не является ассоциативной и коммутативной.
- B
тип результата бинарной операции.
- op
бинарная операция.
- returns
-
результат вставки
opмежду последовательными элементами этого набора слева направо:op( op( ... op(x_1, x_2) ..., x_{n-1}), x_n)где
x1, ..., xn– элементы этого набора.
- Definition Classes
- IterableOnceOps
- Exceptions thrown
UnsupportedOperationException, если этот набор пуст.
def reduceLeftOption[B >: A](op: (B, A) => B): Option[B]
Возвращает значение, если возможно, применив бинарную операцию ко всем элементам этого набора, слева направо.
Примечание: не завершится для бесконечно больших наборов.
Примечание: может возвращать разные результаты при разных запусках, если тип набора не упорядочен или операция не является ассоциативной и коммутативной.
- B
тип результата бинарной операции.
- op
бинарная операция.
- returns
значение, содержащее результат, если этот набор не пуст,
Noneиначе.
- Definition Classes
- IterableOnceOps
def reduceOption[B >: A](op: (B, B) => B): Option[B]
Сводит элементы этого набора, если таковые имеются, с помощью указанной ассоциативной бинарной операции.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
- B
тип параметра для бинарной операции, супертип
A.- op
бинарная операция, которая должна быть ассоциативной.
- returns
значение, содержащее результат применения оператора reduce
opко всем элементам, если набор не пуст, иNoneиначе.
- Definition Classes
- IterableOnceOps
def reduceRight[B >: A](op: (A, B) => B): B
Применяет бинарный оператор ко всем элементам этого набора, справа налево.
Примечание: не завершит работу для наборов бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- возвращает
-
результат вставки
opмежду последовательными элементами этого набора, справа налево:op(x_1, op(x_2, ..., op(x_{n-1}, x_n)...))где
x1, ..., xn- элементы этого набора.
- Классы определения
- IterableOnceOps
- Исключения
UnsupportedOperationException, если этот набор пуст.
def reduceRightOption[B >: A](op: (A, B) => B): Option[B]
Необязательно применяет бинарный оператор ко всем элементам этого набора, справа налево.
Примечание: не завершит работу для наборов бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора упорядочен или оператор ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- возвращает
значение опции, содержащей результат
reduceRight(op), если этот набор непустой,Noneв противном случае.
- Классы определения
- IterableOnceOps
def removedAll(that: IterableOnce[A]): Set[A]
Создает новый неизменяемый набор из этого неизменяемого набора, удаляя все элементы другого набора.
- that
набор, содержащий элементы для удаления.
- возвращает
новый неизменяемый набор с удаленными элементами, исключая дубликаты.
- Классы определения
- SetOps
def reversed: collection.Iterable[A]
- Атрибуты
- protected
- Классы определения
- IterableOnceOps
def scan[B >: A](z: B)(op: (B, B) => B): Set[B]
Вычисляет префиксное сканирование элементов набора.
Примечание: нейтральный элемент z может применяться более одного раза.
- B
тип элементов результирующего набора
- z
нейтральный элемент для оператора
op- op
ассоциативный оператор для сканирования
- возвращает
новый набор, содержащий префиксное сканирование элементов в этом итерируемом наборе
- Классы определения
- IterableOps
def scanLeft[B](z: B)(op: (B, A) => B): Set[B]
Создает набор, содержащий кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не завершит работу для наборов бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора упорядочен.
- B
тип элементов в результирующем наборе
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- возвращает
набор с промежуточными результатами
- Классы определения
- StrictOptimizedIterableOps → IterableOps → IterableOnceOps
- Примечание
Повторное использование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе.
def scanRight[B](z: B)(op: (A, B) => B): Set[B]
Создает набор, содержащий кумулятивные результаты применения оператора справа налево. Голова набора — последний кумулятивный результат.
Примечание: не завершит работу для наборов бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора упорядочен.
Примечание: даже при применении к представлению или ленивому набору он всегда принудительно вычисляет элементы.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
- B
тип элементов в результирующем наборе
- z
начальное значение
- op
бинарный оператор, применяемый к промежуточному результату и элементу
- возвращает
набор с промежуточными результатами
- Классы определения
- IterableOps
def size: Int
Размер этого неизменяемого множества.
Примечание: не завершится для коллекций бесконечного размера.
- возвращает
количество элементов в этом неизменяемом множестве.
- Определяющие классы
- Set1 → IterableOnceOps
def sizeCompare(that: collection.Iterable[_]): Int
Сравнивает размер этой итерабельной коллекции с размером другой Iterable.
- that
the
Iterableразмер которой сравнивается с размером этой итерабельной коллекции.- возвращает
-
Значение
xгдеx < 0 if this.size < that.size x == 0 if this.size == that.size x > 0 if this.size > that.size
Реализация этого метода не вызывает
sizeнапрямую; его время выполненияO(this.size min that.size)вместоO(this.size + that.size). Метод должен быть переопределен, если вычислениеsizeпростое, иknownSizeвозвращает-1.
- Определяющие классы
- IterableOps
def sizeCompare(otherSize: Int): Int
Сравнивает размер этой итерабельной коллекции со значением-тестом.
- otherSize
значение-тест, которое сравнивается с размером.
- возвращает
-
Значение
xгдеx < 0 if this.size < otherSize x == 0 if this.size == otherSize x > 0 if this.size > otherSize
Реализация этого метода не вызывает
sizeнапрямую; его время выполненияO(size min otherSize)вместоO(size). Метод должен быть переопределен, если вычислениеsizeпростое, иknownSizeвозвращает-1.
- Определяющие классы
- IterableOps
- См. также
final def sizeIs: SizeCompareOps
Возвращает класс значений, содержащий операции для сравнения размера этой итерабельной коллекции со значением-тестом.
Эти операции реализованы в терминах sizeCompare(Int) и позволяют использовать следующие более удобочитаемые варианты:
this.sizeIs < size // this.sizeCompare(size) < 0 this.sizeIs <= size // this.sizeCompare(size) <= 0 this.sizeIs == size // this.sizeCompare(size) == 0 this.sizeIs != size // this.sizeCompare(size) != 0 this.sizeIs >= size // this.sizeCompare(size) >= 0 this.sizeIs > size // this.sizeCompare(size) > 0
- Определяющие классы
- IterableOps
- Аннотации
- @inline()
def slice(from: Int, until: Int): Set[A]
Выбирает интервал элементов. Возвращаемая итерабельная коллекция состоит из всех элементов x, которые удовлетворяют инварианту:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- from
наименьший индекс для включения из этой итерабельной коллекции.
- until
наименьший индекс для ИСКЛЮЧЕНИЯ из этой итерабельной коллекции.
- возвращает
итерабельная коллекция, содержащая элементы, большие или равные индексу
from, простираясь до (но не включая) индексuntilэтой итерабельной коллекции.
- Определяющие классы
- IterableOps → IterableOnceOps
- Примечание
Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора неопределено, может измениться и может привести к изменениям в новом итераторе тоже.
def sliding(size: Int, step: Int): Iterator[Set[A]]
Группирует элементы в блоки фиксированного размера, пропуская "скользящее окно" через них (в отличие от разбиения их, как в grouped.)
- size
количество элементов в группе
- step
расстояние между первыми элементами последовательных групп
- возвращает
Итератор, генерирующий итерабельные коллекции размера
size, за исключением последнего элемента (который может быть единственным), который будет обрезан, если оставшихся элементов меньше, чемsize.
- Определяющие классы
- IterableOps
- См. также
scala.collection.Iterator, метод
sliding
def sliding(size: Int): Iterator[Set[A]]
Группирует элементы в блоки фиксированного размера, пропуская "скользящее окно" через них (в отличие от разбиения их, как в grouped.) Шаг "скользящего окна" установлен в один.
- size
количество элементов в группе
- возвращает
Итератор, генерирующий итерабельные коллекции размера
size, за исключением последнего элемента (который может быть единственным), который будет обрезан, если оставшихся элементов меньше, чемsize.
- Определяющие классы
- IterableOps
- См. также
scala.collection.Iterator, метод
sliding
def span(p: (A) => Boolean): (Set[A], Set[A])
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно), чем (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- p
предикат проверки
- returns
пара, состоящая из самого длинного префикса этой итерируемой коллекции, элементы которой удовлетворяют
p, и остальной части этой итерируемой коллекции.
- Definition Classes
- StrictOptimizedIterableOps → IterableOps → IterableOnceOps
- Примечание
Переиспользование: После вызова этого метода нужно удалить итератор, на котором он был вызван, и использовать только возвращённые итераторы. Использование старого итератора не определено, может измениться и может привести к изменениям в новых итераторах.
def splitAt(n: Int): (Set[A], Set[A])
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в заданной позиции.
Примечание: c splitAt n эквивалентно (но, возможно, более эффективно), чем (c take n, c drop n).
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- n
позиция разделения.
- returns
пара итерируемых коллекций, состоящая из первых
nэлементов этой итерируемой коллекции и других элементов.
- Definition Classes
- IterableOps → IterableOnceOps
- Примечание
Переиспользование: После вызова этого метода нужно удалить итератор, на котором он был вызван, и использовать только возвращённые итераторы. Использование старого итератора не определено, может измениться и может привести к изменениям в новых итераторах.
def stepper[S <: Stepper[_]](implicit shape: StepperShape[A, S]): S
Возвращает Stepper для элементов этой коллекции.
Stepper позволяет создать поток Java для обработки коллекции, см. scala.jdk.StreamConverters. Для коллекций, содержащих примитивные значения, Stepper можно использовать в качестве итератора, который не упаковывает элементы.
Неявный параметр StepperShape определяет тип результирующего Stepper в соответствии с типом элементов этой коллекции.
-
Для коллекций типа
Int, Short, Byte или Char, возвращается IntStepper.Для коллекций типа Double или Float, возвращается DoubleStepper.Для коллекций типа Long, возвращается LongStepper.Для любого другого типа элементов возвращается AnyStepper.Обратите внимание, что этот метод переопределяется в подклассах, и тип возвращаемого значения уточняется до S with EfficientSplit, например IndexedSeqOps.stepper. Для Steppers, помеченных scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как простые Steppers можно преобразовать только в последовательные потоки.
- Definition Classes
- IterableOnce
final def strictOptimizedCollect[B, C2](b: Builder[B, C2], pf: PartialFunction[A, B]): C2
- B
Тип элементов результирующей коллекции (например,
String)- C2
Тип результирующей коллекции (например,
List[String])- b
Билдер для построения результирующей коллекции
- pf
Частичная функция преобразования элементов
- returns
Результирующая коллекция
- Attributes
- protected[this]
- Definition Classes
- StrictOptimizedIterableOps
- Annotations
- @inline()
final def strictOptimizedConcat[B >: A, C2](that: IterableOnce[B], b: Builder[B, C2]): C2
- B
Тип элементов результирующих коллекций (например,
Int)- C2
Тип результирующей коллекции (например,
List[Int])- that
Элементы для конкатенации с этой коллекцией
- b
Билдер для построения результирующей коллекции
- returns
Результирующая коллекция
- Attributes
- protected[this]
- Definition Classes
- StrictOptimizedIterableOps
- Annotations
- @inline()
final def strictOptimizedFlatMap[B, C2](b: Builder[B, C2], f: (A) => IterableOnce[B]): C2
- B
Тип элементов результирующего набора (например,
String)- C2
Тип результирующего набора (например,
List[String])- b
Используемый билдер для построения результирующего набора
- f
Функция преобразования элемента
- returns
Результирующий набор
- Attributes
- protected[this]
- Definition Classes
- StrictOptimizedIterableOps
- Annotations
- @inline()
final def strictOptimizedFlatten[B, C2](b: Builder[B, C2])(implicit toIterableOnce: (A) => IterableOnce[B]): C2
- B
Тип элементов результирующего набора (например,
Int)- C2
Тип результирующего набора (например,
List[Int])- b
Используемый билдер для построения результирующего набора
- toIterableOnce
Доказательство, что
Aможет быть представлен какIterableOnce[B]- returns
Результирующий набор
- Attributes
- protected[this]
- Definition Classes
- StrictOptimizedIterableOps
- Annotations
- @inline()
final def strictOptimizedMap[B, C2](b: Builder[B, C2], f: (A) => B): C2
- B
Тип элементов результирующего набора (например,
String)- C2
Тип результирующего набора (например,
List[String])- b
Используемый билдер для построения результирующего набора
- f
Функция преобразования элемента
- returns
Результирующий набор
- Attributes
- protected[this]
- Definition Classes
- StrictOptimizedIterableOps
- Annotations
- @inline()
final def strictOptimizedZip[B, C2](that: IterableOnce[B], b: Builder[(A, B), C2]): C2
- B
Тип элементов второго набора (например,
String)- C2
Тип результирующего набора (например,
List[(Int, String)])- that
Набор для объединения с этим набором
- b
Используемый билдер для построения результирующего набора
- returns
Результирующий набор
- Attributes
- protected[this]
- Definition Classes
- StrictOptimizedIterableOps
- Annotations
- @inline()
def stringPrefix: String
- Attributes
- protected[this]
- Definition Classes
- Set → Iterable
- Annotations
- @deprecatedOverriding("Compatibility override", "2.13.0")
def subsetOf(that: collection.Set[A]): Boolean
Проверяет, является ли этот набор подмножеством другого набора.
- that
Набор для проверки.
- returns
true, если этот набор является подмножеством набора `that`, т.е. если каждый элемент этого набора также является элементом набора `that`.
- Definition Classes
- SetOps
def subsets(): Iterator[Set[A]]
def subsets(len: Int): Iterator[Set[A]]
Итератор по всем подмножествам этого множества заданного размера. Если запрашиваемый размер невозможен, возвращается пустой итератор.
- len
размер подмножеств.
- возвращает
итератор.
- Классы-определения
- SetOps
def sum[B >: A](implicit num: math.Numeric[B]): B
Суммирует элементы этой коллекции.
- B
тип результата оператора
+.- num
явный параметр, определяющий набор числовых операций, который включает оператор
+, используемый для образования суммы.- возвращает
сумму всех элементов этой коллекции относительно оператора
+вnum.
- Классы-определения
- IterableOnceOps
final def synchronized[T0](arg0: => T0): T0
- Классы-определения
- AnyRef
def tail: Set[A]
Остальная часть коллекции без её первого элемента.
- Классы-определения
- Set1 → IterableOps
def tails: Iterator[Set[A]]
Итерирует по хвостам этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее - пустой итерируемой коллекцией, а промежуточные значения - результаты последовательных применений tail.
- возвращает
итератор по всем хвостам этой итерируемой коллекции
- Классы-определения
- IterableOps
List(1,2,3).tails = Iterator(List(1,2,3), List(2,3), List(3), Nil)
def take(n: Int): Set[A]
Выбирает первые n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип основной коллекции не упорядочен.
- n
количество элементов, которые нужно взять из этой итерируемой коллекции.
- возвращает
итерируемая коллекция, содержащая только первые
nэлементов этой итерируемой коллекции, или же вся итерируемая коллекция, если она содержит меньшеnэлементов. Еслиnотрицательно, возвращает пустую итерируемую коллекцию.
- Классы-определения
- IterableOps → IterableOnceOps
- Примечание
Переиспользование: После вызова этого метода нужно отказаться от итератора, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе тоже.
def takeRight(n: Int): Set[A]
Коллекция, содержащая последние n элементы этой коллекции.
Примечание: Даже при применении к представлению или ленивой коллекции она всегда принудительно вычисляет элементы.
- n
количество элементов, которые нужно взять из этой итерируемой коллекции.
- возвращает
итерируемая коллекция, содержащая только последние
nэлементы этой итерируемой коллекции, или же вся итерируемая коллекция, если она содержит меньшеnэлементов. Еслиnотрицательно, возвращает пустую итерируемую коллекцию.
- Классы-определения
- StrictOptimizedIterableOps → IterableOps
def takeWhile(p: (A) => Boolean): Set[A]
Берет наибольший префикс элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип основной коллекции не упорядочен.
- p
Предикат для проверки элементов.
- возвращает
наибольший префикс этой итерируемой коллекции, чьи элементы удовлетворяют предикату
p.
- Классы-определения
- IterableOps → IterableOnceOps
def tapEach[U](f: (A) => U): Set[A]
Применяет функцию с побочным эффектом к каждому элементу в этом наборе. Строгие наборы будут применять f к своим элементам немедленно, в то время как ленивые наборы, такие как представления и LazyLists, будут применять f только к каждому элементу, если и когда этот элемент будет вычислен, и каждый раз, когда этот элемент вычисляется.
- U
тип возвращаемого значения f
- f
функция, которую необходимо применить к каждому элементу в этом итерируемом наборе
- returns
То же логическое множество, что и это
- Definition Classes
- StrictOptimizedIterableOps → IterableOps → IterableOnceOps
def to[C1](factory: Factory[A, C1]): C1
Используя фабрику коллекций factory, преобразуйте этот набор в соответствующее представление для текущего типа элемента A. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
- Definition Classes
- IterableOnceOps
def toArray[B >: A](implicit arg0: ClassTag[B]): Array[B]
Преобразовать набор в массив.
- Definition Classes
- IterableOnceOps
final def toBuffer[B >: A]: Buffer[B]
- Definition Classes
- IterableOnceOps
- Annotations
- @inline()
def toIndexedSeq: IndexedSeq[A]
- Definition Classes
- IterableOnceOps
final def toIterable: Set1.this.type
- returns
Этот набор в качестве
Iterable[A]. Новый набор не будет создан, еслиthisуже являетсяIterable[A].
- Definition Classes
- Iterable → IterableOps
def toList: List[A]
- Definition Classes
- IterableOnceOps
def toMap[K, V](implicit ev: <:<[A, (K, V)]): Map[K, V]
- Definition Classes
- IterableOnceOps
def toSeq: Seq[A]
- returns
Этот набор в качестве
Seq[A]. Это эквивалентноto(Seq), но может быть быстрее.
- Definition Classes
- IterableOnceOps
def toSet[B >: A]: Set[B]
- Definition Classes
- IterableOnceOps
def toString(): String
Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это объединение имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.
- returns
строковое представление объекта.
def toVector: Vector[A]
- Definition Classes
- IterableOnceOps
def transpose[B](явное asIterable: (A) => collection.Iterable[B]): Set[Set[B]]
Преобразует это итерируемое множество итерируемых множеств в итерируемое множество итерируемых множеств.
Тип результирующего множества будет определяться статическим типом итерируемого множества. Например:
val xs = List(
Set(1, 2, 3),
Set(4, 5, 6)).transpose
// xs == List(
// List(1, 4),
// List(2, 5),
// List(3, 6))
val ys = Vector(
List(1, 2, 3),
List(4, 5, 6)).transpose
// ys == Vector(
// Vector(1, 4),
// Vector(2, 5),
// Vector(3, 6))
Примечание: Даже при применении к представлению или ленивому множеству элементы всегда будут вычислены.
- B
тип элементов каждого итерируемого множества.
- asIterable
явное преобразование, утверждающее, что тип элемента этого итерируемого множества является
Iterable.- returns
двумерное итерируемое множество итерируемых множеств, где n-я строка соответствует n-му столбцу этого итерируемого множества.
- Definition Classes
- IterableOps
- Исключения
IllegalArgumentException, если все множества в этом итерируемом множестве не имеют одинаковый размер.
final def union(that: collection.Set[A]): Set[A]
Вычисляет объединение текущего множества и другого множества.
- that
множество для объединения.
- returns
новое множество, содержащее все элементы, присутствующие в текущем множестве или в заданном множестве
that.
def unzip[A1, A2](явное asPair: (A) => (A1, A2)): (Set[A1], Set[A2])
Преобразует это итерируемое множество пар в два множества первой и второй половины каждой пары.
val xs = Iterable(
(1, "one"),
(2, "two"),
(3, "three")).unzip
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
- A1
тип первой половины пар элементов
- A2
тип второй половины пар элементов
- asPair
явное преобразование, утверждающее, что тип элемента этого итерируемого множества представляет собой пару.
- returns
пара итерируемых множеств, содержащих первую и, соответственно, вторую половину каждой пары элементов этого итерируемого множества.
- Definition Classes
- StrictOptimizedIterableOps → IterableOps
def unzip3[A1, A2, A3](явное asTriple: (A) => (A1, A2, A3)): (Set[A1], Set[A2], Set[A3])
Преобразует это итерируемое множество троек в три множества первого, второго и третьего элементов каждой тройки.
val xs = Iterable(
(1, "one", '1'),
(2, "two", '2'),
(3, "three", '3')).unzip3
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three),
// Iterable(1, 2, 3))
- A1
тип первого члена троек элементов
- A2
тип второго члена троек элементов
- A3
тип третьего члена троек элементов
- asTriple
явное преобразование, утверждающее, что тип элемента этого итерируемого множества представляет собой тройку.
- returns
тройку итерируемых множеств, содержащих первый, второй и, соответственно, третий член каждой тройки элементов этого итерируемого множества.
- Definition Classes
- StrictOptimizedIterableOps → IterableOps
def view: View[A]
Представление над элементами этого множества.
- Definition Classes
- IterableOps
final def wait(): Unit
- Definition Classes
- AnyRef
- Аннотации
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Аннотации
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long): Unit
def withFilter(p: (A) => Boolean): WithFilter[A, [_]Set[_]]
Создаёт нестрогий фильтр этого итерируемого набора.
Примечание: разница между c filter p и c withFilter p заключается в том, что первый создаёт новый набор, а второй только ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.
Примечание: может возвращать разные результаты при разных запусках, если только тип базового набора не является упорядоченным.
- p
предикат, используемый для проверки элементов.
- returns
объект класса
WithFilter, который поддерживаетmap,flatMap,foreach, иwithFilterоперации. Все эти операции применяются к тем элементам этого итерируемого набора, которые удовлетворяют предикатуp.
- Definition Classes
- IterableOps
def zip[B](that: IterableOnce[B]): Set[(A, B)]
Возвращает итерируемый набор, образованный из этого итерируемого набора и другого итерируемого набора путём объединения соответствующих элементов в пары. Если один из двух наборов длиннее другого, его оставшиеся элементы игнорируются.
- B
тип второй половины возвращаемых пар
- that
Итерируемый набор, предоставляющий вторую половину каждой пары результата
- returns
новый итерируемый набор, содержащий пары, состоящие из соответствующих элементов этого итерируемого набора и
that. Длина возвращаемого набора является минимальной из длин этого итерируемого набора иthat.
- Definition Classes
- StrictOptimizedIterableOps → IterableOps
def zipAll[A1 >: A, B](that: collection.Iterable[B], thisElem: A1, thatElem: B): Set[(A1, B)]
Возвращает итерируемый набор, образованный из этого итерируемого набора и другого итерируемого набора путём объединения соответствующих элементов в пары. Если один из двух наборов короче другого, для расширения более короткого набора используется элемент-заполнитель до длины более длинного.
- that
итерируемый набор, предоставляющий вторую половину каждой пары результата
- thisElem
элемент, используемый для заполнения результата, если этот итерируемый набор короче
that.- thatElem
элемент, используемый для заполнения результата, если
thatкороче этого итерируемого набора.- returns
новый набор типа
That, содержащий пары, состоящие из соответствующих элементов этого итерируемого набора иthat. Длина возвращаемого набора — максимальная из длин этого итерируемого набора иthat.
- Definition Classes
- IterableOps
def zipWithIndex: Set[(A, Int)]
Объединяет этот итерируемый набор со своими индексами.
- returns
Новый итерируемый набор, содержащий пары, состоящие из всех элементов этого итерируемого набора, спаренных с их индексом. Индексы начинаются с
0.
- Definition Classes
- StrictOptimizedIterableOps → IterableOps → IterableOnceOps
- Note
Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора неопределено, может быть изменено и может привести к изменениям в новом итераторе.
List("a", "b", "c").zipWithIndex == List(("a", 0), ("b", 1), ("c", 2))
final def |(that: collection.Set[A]): Set[A]
Shadowed Implicit Value Members
def +(other: String): String
- Implicit
- Этот член добавлен неявным преобразованием из Set1[A] вany2stringadd[Set1[A]] с помощью метода any2stringadd в scala.Predef.
- Shadowing
- Этот неявный унаследованный член скрыт одним или несколькими членами в этом классе.
Для доступа к этому члену можно использовать привязку типа:(set1: any2stringadd[Set1[A]]).+(other)
- Definition Classes
- any2stringadd
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/collection/immutable/Set$$Set1.html
Оптимизированное представление для неизменяемых множеств размера 1