Trait SortedSetFactoryDefaults.SortedSetFactoryDefaults
trait SortedSetFactoryDefaults[+A, +CC <: ([X] =>> SortedSet[X] & SortedSetOps[X, CC, CC[X]]), +WithFilterCC <: ([x] =>> IterableOps[x, WithFilterCC, WithFilterCC[x]] & Set[x])] extends SortedSetOps[A, CC, CC[A]]
Этот класс предоставляет реализации по умолчанию для методов фабрики fromSpecific и newSpecificBuilder, которые необходимо уточнить при реализации типа коллекции, уточняющей параметры типа CC и C. Он используется для упорядоченных множеств.
Обратите внимание, что в упорядоченных множествах тип CC множества не совпадает с типом CC для базовой итерации (который фиксирован как Set в SortedSetOps). Поэтому этот класс имеет два параметра типа CC и WithFilterCC. Метод withFilter, унаследованный от IterableOps, переопределен с совместимой реализацией по умолчанию.
Реализации по умолчанию в этом классе могут использоваться в общем случае, когда CC[A] совпадает с C.
| Суператрибуты | |
|---|---|
| Известные подтипы | |
| Тип «self» |
Конкретные методы
Исходный код
override def empty: CC[A]
Пустая итерация того же типа, что и эта итерация.
| Возвращает | пустую итерацию типа |
|---|---|
| Классы определений | IterableOps |
Исходный код
override protected def fromSpecific(coll: IterableOnce[A]): CC[A]
Определяет, как преобразовать заданную Iterable[A] в коллекцию типа C.
Этот процесс может быть выполнен строго или нестрого (т. е. без вычисления элементов результирующих коллекций). Другими словами, этот метод определяет модель вычисления коллекции.
| Примечание |
При реализации пользовательского типа коллекции и уточнении Как видно из аннотации |
|---|---|
| Классы определений | IterableOps |
Исходный код
override protected def newSpecificBuilder: Builder[A, CC[A]]
| Возвращает | строгий билдер для того же типа коллекции. Обратите внимание, что в случае ленивых коллекций (например, scala.collection.View или scala.collection.immutable.LazyList) реализовать этот метод возможно, но результирующая |
|---|---|
| Примечание |
При реализации пользовательского типа коллекции и уточнении Как видно из аннотации |
| Классы определений | IterableOps |
Исходный код
Создает нестрогий фильтр этого множества.
Примечание: разница между c filter p и c withFilter p заключается в том, что первый создает новую коллекцию, а второй только ограничивает область действия последующих map, flatMap, foreach и withFilter операций.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значений |
|
|---|---|
| Возвращает | объект класса |
| Классы определений | IterableOps |
Наследованные методы
Исходный код
Псевдоним для intersect
| Наследованный из | SetOps |
|---|
Исходный код
Псевдоним для diff
| Наследованный из | SetOps |
|---|
Исходный код
final def ++(that: IterableOnce[A]): C
Псевдоним для concat
| Наследованный из | SetOps |
|---|
Исходный код
final def ++[B >: A](suffix: IterableOnce[B]): CC[B]
Псевдоним для concat
| Наследованный из | IterableOps |
|---|
Исходный код
Добавляет все элементы этой коллекции в строковый билдер. Записанный текст состоит из строковых представлений (с учетом метода toString) всех элементов этой коллекции без разделительных строк.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> val h = a.addString(b) h: StringBuilder = 1234
| Параметры значения |
|
|---|---|
| Возвращает | строка-построитель |
| Унаследовано от | IterableOnceOps |
Источник
Добавляет все элементы этой коллекции в строку-построитель, используя разделитель. Записываемый текст состоит из строковых представлений (в соответствии с методом toString) всех элементов этой коллекции, разделённых строкой sep.
Пример:
scala> val a = List(1,2,3,4) a: List[Int] = List(1, 2, 3, 4) scala> val b = new StringBuilder() b: StringBuilder = scala> a.addString(b, ", ") res0: StringBuilder = 1, 2, 3, 4
| Параметры значения |
|
|---|---|
| Возвращает | строка-построитель |
| Унаследовано от | IterableOnceOps |
Источник
Добавляет все элементы этой коллекции в строку-построитель, используя начальную, конечную и разделительные строки. Записываемый текст начинается со строки start и заканчивается строкой end. Внутри, строковые представления (согласно методу toString) всех элементов этой коллекции разделены строкой sep.
Пример:
scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)
scala> val b = new StringBuilder()
b: StringBuilder =
scala> a.addString(b , "List(" , ", " , ")")
res5: StringBuilder = List(1, 2, 3, 4)
| Параметры значения |
|
|---|---|
| Возвращает | строка-построитель |
| Унаследовано от | IterableOnceOps |
Источник
Компонует два экземпляра Function1 в новый Function1, применяя эту функцию первой.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая функция |
| Унаследовано от | Function1 |
Источник
Проверяет, содержится ли некоторый элемент в этом множестве.
Этот метод эквивалентен contains. Он позволяет рассматривать множества как предикаты.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SetOps |
Источник
Создаёт новую отсортированную коллекцию, применяя частичную функцию ко всем элементам этого множества, для которых функция определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новое множество, полученное путём применения заданной частичной функции |
| Унаследовано от | SortedSetOps |
Источник
def collect[B](pf: PartialFunction[A, B]): CC[B]
Создаёт новую итерируемую коллекцию, применяя частичную функцию ко всем элементам этой итерируемой коллекции, для которых функция определена.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, полученная путём применения заданной частичной функции |
| Унаследовано от | IterableOps |
Источник
Находит первый элемент коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершиться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение Option, содержащее pf, применённый к первому значению, для которого оно определено, или |
| Пример |
|
| Унаследовано от | IterableOnceOps |
Источник
def compose[A](g: A => A): A => R
Компонует два экземпляра Function1 в новый Function1, применяя эту функцию последней.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая функция |
| Унаследовано от | Function1 |
Источник
def concat(that: IterableOnce[A]): C
Создаёт новое множество, добавляя все элементы, содержащиеся в другой коллекции, в это множество, опуская дубликаты.
Этот метод принимает коллекцию элементов и добавляет все элементы, опуская дубликаты, в множество.
Пример:
scala> val a = Set(1, 2) concat Set(2, 3) a: scala.collection.immutable.Set[Int] = Set(1, 2, 3)
| Параметры значения |
|
|---|---|
| Возвращает | новое множество с добавленными элементами, опуская дубликаты. |
| Унаследовано от | SetOps |
Источник
def concat[B >: A](suffix: IterableOnce[B]): CC[B]
Возвращает новую итерируемую коллекцию, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элемента итерируемой коллекции — это самый специфичный суперкласс, охватывающий типы элементов двух операндов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, содержащая все элементы этой итерируемой коллекции, за которыми следуют все элементы |
| Унаследовано от | IterableOps |
Источник
| Унаследовано от | SetOps |
|---|
Источник
Копирование элементов в массив, возвращая количество скопированных элементов.
Заполняет данный массив xs начиная с индекса start максимум len элементами этого набора.
Копирование прекращается, когда скопированы все элементы этого набора, достигнут конец массива или len элементов были скопированы.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода итератор, на котором он был вызван, должен быть удалён. Использование его после этого неопределено и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник
Копирование элементов в массив, возвращая количество скопированных элементов.
Заполняет данный массив xs начиная с индекса start значениями из этого набора.
Копирование прекращается, когда скопированы все элементы этого набора или достигнут конец массива.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода итератор, на котором он был вызван, должен быть удалён. Использование его после этого неопределено и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник
Копирование элементов в массив, возвращая количество скопированных элементов.
Заполняет данный массив xs начиная с индекса start значениями из этого набора.
Копирование прекращается, когда скопированы все элементы этого набора или достигнут конец массива.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает | количество элементов, записанных в массив |
| Примечание | Переиспользование: После вызова этого метода итератор, на котором он был вызван, должен быть удалён. Использование его после этого неопределено и может измениться. |
| Унаследовано от | IterableOnceOps |
Источник
Проверяет, удовлетворяет ли каждый элемент итератора этого набора соответствующему элементу другого набора, удовлетворяя условию предиката.
Примечание: не завершится для бесконечных наборов.
| Параметры типа |
|
|---|---|
| Значения параметров |
|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Источник
Подсчитывает количество элементов в наборе, удовлетворяющих предикату.
Примечание: не завершится для бесконечных наборов.
| Значения параметров |
|
|---|---|
| Возвращает | количество элементов, удовлетворяющих предикату |
| Унаследовано от | IterableOnceOps |
Источник
Вычисляет разность этого множества и другого множества.
| Значения параметров |
|
|---|---|
| Возвращает | множество, содержащее элементы этого множества, которые не содержатся в заданном множестве |
| Унаследовано от | SetOps |
Источник
Выбирает все элементы, кроме первых n.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Значения параметров |
|
|---|---|
| Возвращает | итерируемый набор, состоящий из всех элементов этого итерируемого набора, кроме первых |
| Унаследовано от | IterableOps |
Источник
Выбирает все элементы, кроме последних n.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Значения параметров |
|
|---|---|
| Возвращает | итерируемый набор, состоящий из всех элементов этого итерируемого набора, кроме последних |
| Унаследовано от | IterableOps |
Источник
Удаляет самую длинную префиксную часть элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Значения параметров |
|
|---|---|
| Возвращает | самый длинный суффикс этого итерируемого набора, первый элемент которого не удовлетворяет предикату |
| Унаследовано от | IterableOps |
Источник
Проверяет, выполняется ли предикат хотя бы для одного элемента этого набора.
Примечание: может не завершиться для бесконечных наборов.
| Значения параметров |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Source
Выбирает все элементы этого итерируемого набора, удовлетворяющие предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новый итерируемый набор, состоящий из всех элементов этого итерируемого набора, удовлетворяющих заданному предикату |
| Унаследовано от | IterableOps |
Source
Выбирает все элементы этого итерируемого набора, не удовлетворяющие предикату.
| Параметры значения |
|
|---|---|
| Возвращает | новый итерируемый набор, состоящий из всех элементов этого итерируемого набора, не удовлетворяющих заданному предикату |
| Унаследовано от | IterableOps |
Source
Находит первый элемент набора, удовлетворяющий предикату, если таковой имеется.
Примечание: может не завершиться для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | значение Option, содержащее первый элемент в наборе, удовлетворяющий |
| Унаследовано от | IterableOnceOps |
Source
def firstKey: A
Возвращает первый ключ набора.
| Унаследовано от | SortedSetOps |
|---|
Source
Создает новый упорядоченный набор, применяя функцию ко всем элементам этого набора и используя элементы полученных наборов.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый набор, полученный путем применения заданной функции, принимающей набор |
| Унаследовано от | SortedSetOps |
Source
def flatMap[B](f: (A) => IterableOnce[B]): CC[B]
Создает новый итерируемый набор, применяя функцию ко всем элементам этого итерируемого набора и используя элементы полученных наборов.
Например:
def getWords(lines: Seq[String]): Seq[String] = lines flatMap (line => line split "\\W+")
Тип результирующего набора определяется статическим типом итерируемого набора. Это иногда может приводить к неожиданным результатам. Например:
// lettersOf will return a Seq[Char] of likely repeated letters, instead of a Set
def lettersOf(words: Seq[String]) = words flatMap (word => word.toSet)
// lettersOf will return a Set[Char], not a Seq
def lettersOf(words: Seq[String]) = words.toSet flatMap ((word: String) => word.toSeq)
// xs will be an Iterable[Int]
val xs = Map("a" -> List(11,111), "b" -> List(22,222)).flatMap(_._2)
// ys will be a Map[Int, Int]
val ys = Map("a" -> List(1 -> 11,1 -> 111), "b" -> List(2 -> 22,2 -> 222)).flatMap(_._2)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | новая итерируемая коллекция, полученная в результате применения заданной функции, возвращающей коллекцию |
| Унаследовано от | IterableOps |
Исходный код
def flatten[B](implicit asIterable: (A) => IterableOnce[B]): CC[B]
Преобразует эту итерируемую коллекцию перебираемых коллекций в итерируемую коллекцию, образованную элементами этих перебираемых коллекций.
Тип результирующей коллекции будет определяться типом итерируемой коллекции. Например:
val xs = List(
Set(1, 2, 3),
Set(1, 2, 3)
).flatten
// xs == List(1, 2, 3, 1, 2, 3)
val ys = Set(
List(1, 2, 3),
List(3, 2, 1)
).flatten
// ys == Set(1, 2, 3)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | новая итерируемая коллекция, полученная в результате конкатенации всех итерируемых коллекций элементов. |
| Унаследовано от | IterableOps |
Исходный код
def fold[A1 >: A](z: A1)(op: (A1, A1) => A1): A1
Выполняет сжатие элементов этой коллекции с использованием указанного ассоциативного бинарного оператора. Реализация по умолчанию в IterableOnce эквивалентна foldLeft, но может быть переопределена для более эффективного порядка обхода.
Порядок выполнения операций над элементами не определен и может быть не детерминированным.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | результат применения оператора сжатия |
| Унаследовано от | IterableOnceOps |
Исходный код
def foldLeft[B](z: B)(op: (B, A) => B): B
Применяет бинарный оператор к начальному значению и всем элементам этой коллекции слева направо.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и не коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | результат вставки |
| Унаследовано от | IterableOnceOps |
Исходный код
def foldRight[B](z: B)(op: (A, B) => B): B
Применяет бинарный оператор ко всем элементам этой коллекции и начальному значению, справа налево.
Примечание: не завершится для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен или оператор не ассоциативен и не коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | результат вставки |
| Унаследовано от | IterableOnceOps |
Source
Проверяет, выполняется ли предикат для всех элементов этого набора.
Примечание: может не завершиться для наборов бесконечного размера.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | IterableOnceOps |
Source
Применение f к каждому элементу для его побочных эффектов. Примечание: параметр [U] необходим для помощи в выводе типов scalac.
| Унаследовано от | IterableOnceOps |
|---|
Source
Разбивает этот итерируемый набор на карту итерируемых наборов в соответствии с некоторой функцией-дискриминатором.
Примечание: даже при применении к представлению или ленивому набору элементы всегда будут принудительно вычисляться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает |
Карта, связывающая ключи с итерируемыми наборами, которая удовлетворяет следующему инварианту: (xs groupBy f)(k) = xs filter (x => f(x) == k) То есть каждый ключ |
| Унаследовано от | IterableOps |
Source
Разбивает этот итерируемый набор на карту итерируемых наборов в соответствии с функцией-дискриминатором key. Каждый элемент в группе преобразуется в значение типа B с помощью функции value.
Эквивалентно groupBy(key).mapValues(_.map(f)), но более эффективно.
case class User(name: String, age: Int) def namesByAge(users: Seq[User]): Map[Int, Seq[String]] = users.groupMap(_.age)(_.name)
Примечание: даже при применении к представлению или ленивому набору элементы всегда будут принудительно вычисляться.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Унаследовано от | IterableOps |
Source
def groupMapReduce[K, B](key: (A) => K)(f: (A) => B)(reduce: (B, B) => B): Map[K, B]
Разбивает этот итерируемый набор на карту в соответствии с функцией-дискриминатором key. Все значения, имеющие одинаковый дискриминатор, затем преобразуются функцией f и затем сводятся к одному значению с помощью функции reduce.
Эквивалентно groupBy(key).mapValues(_.map(f).reduce(reduce)), но более эффективно.
def occurrences[A](as: Seq[A]): Map[A, Int] = as.groupMapReduce(identity)(_ => 1)(_ + _)
Примечание: даже при применении к представлению или ленивому набору элементы всегда будут принудительно вычисляться.
| Унаследовано от | IterableOps |
|---|
Source
Разбивает элементы на итерируемые наборы фиксированного размера.
| Параметры значения |
|
|---|---|
| Возвращает | Итератор, генерирующий итерируемые наборы размером |
| См. также | scala.collection.Iterator, метод |
| Унаследовано от | IterableOps |
Source
def head: A
Выбирает первый элемент этого итерируемого набора.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Возвращает | первый элемент этого итерируемого набора. |
|---|---|
| Исключения |
|
| Унаследовано от | IterableOps |
Source
def headOption: Option[A]
Выбирает первый элемент с возможностью вернуть значение по умолчанию.
Примечание: может возвращать разные результаты при разных запусках, если тип базового набора не упорядочен.
| Возвращает | первый элемент этого итерируемого набора, если он непустой, |
|---|---|
| Унаследовано от | IterableOps |
Source
def init: C
Первая часть набора без последнего элемента.
Примечание: даже при применении к представлению или ленивому набору элементы всегда будут принудительно вычисляться.
| Унаследовано от | IterableOps |
|---|
Source
Итерирует по начальным поднаборам этого итерируемого набора. Первое значение будет этим итерируемым набором, а последнее — пустым итерируемым набором, а промежуточные значения — результатом последовательных применений init.
Примечание: даже при применении к представлению или ленивому набору элементы всегда будут принудительно вычисляться.
| Возвращает | итератор по всем начальным поднаборам этого итерируемого набора |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Source
Вычисляет пересечение этого набора и другого набора.
| Параметры значения |
|
|---|---|
| Возвращает | новый набор, состоящий из всех элементов, которые присутствуют как в этом наборе, так и в заданном наборе |
| Унаследовано от | SetOps |
Source
Проверяет, пуст ли набор.
Примечание: реализации в подклассах, которые не являются многократно проходимыми, должны позаботиться о том, чтобы не потреблять никаких элементов при вызове isEmpty.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
Source
override def isTraversableAgain: Boolean
Проверяет, можно ли этот итерируемый набор пройти многократно. Всегда true для Iterable и false для Iterator, если не переопределено.
| Возвращает |
|
|---|---|
| Определяющие классы | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Source
def iterableFactory: IterableFactory[CC]
Объект-компаньон этого итерируемого набора, предоставляющий различные методы фабрики.
| Примечание | При реализации пользовательского типа коллекции и уточнении |
|---|---|
| Унаследовано от | IterableOps |
Source
Итератор может быть использован только один раз
| Унаследовано от | IterableOnce |
|---|
Source
def iteratorFrom(start: A): Iterator[A]
Создаёт итератор, содержащий все значения из этой коллекции, большие или равные start согласно порядку этой коллекции. x.iteratorFrom(y) эквивалентно, но обычно более эффективно, чем x.from(y).iterator
| Параметры значения |
|
|---|---|
| Унаследовано от | SortedSetOps |
Source
| Возвращает | Количество элементов в этой коллекции, если оно может быть вычислено с минимальными затратами, в противном случае -1. Минимальные затраты обычно означают: не требуется обход коллекции. |
|---|---|
| Унаследовано от | IterableOnce |
Source
def last: A
Выбирает последний элемент.
Примечание: может возвращать разные результаты при разных запусках, если только тип коллекции не упорядочен.
| Возвращает | Последний элемент этой итерируемой коллекции. |
|---|---|
| Выбрасывает |
|
| Унаследовано от | IterableOps |
Source
def lastKey: A
Возвращает последний ключ коллекции.
| Унаследовано от | SortedSetOps |
|---|
Source
def lastOption: Option[A]
Необязательно выбирает последний элемент.
Примечание: может возвращать разные результаты при разных запусках, если только тип коллекции не упорядочен.
| Возвращает | последний элемент этой итерируемой коллекции, если она не пуста, |
|---|---|
| Унаследовано от | IterableOps |
Source
Строит новую упорядоченную коллекцию, применяя функцию ко всем элементам этого набора.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новый набор, полученный путём применения заданной функции |
| Унаследовано от | SortedSetOps |
Source
def map[B](f: (A) => B): CC[B]
Строит новую итерируемую коллекцию, применяя функцию ко всем элементам этой итерируемой коллекции.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, полученная путём применения заданной функции |
| Унаследовано от | IterableOps |
Source
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | наибольший элемент этого набора по отношению к порядку |
| Выбрасывает |
|
| Классы определения | SortedSetOps -> IterableOnceOps |
| Унаследовано от | SortedSetOps |
Source
Находит наибольший элемент, меньший заданного ключа.
| Параметры значения |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SortedSetOps |
Source
Находит первый элемент, который даёт наибольшее значение, измеряемое функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | первый элемент этой коллекции с наибольшим значением, измеренным функцией f по отношению к порядку |
| Выбрасывает |
|
| Унаследовано от | IterableOnceOps |
Source
Находит первый элемент, который даёт наибольшее значение, измеряемое функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение опции, содержащей первый элемент этой коллекции с наибольшим значением, измеренным функцией f по отношению к порядку |
| Унаследовано от | IterableOnceOps |
Source
Находит наибольший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение типа Option, содержащее наибольший элемент этого набора по отношению к порядку |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | наименьший элемент этого набора по отношению к порядку |
| Выбрасывает |
|
| Определяющие классы | SortedSetOps -> IterableOnceOps |
| Унаследовано от | SortedSetOps |
Источник
Находит наименьший элемент, больший или равный заданному ключу.
| Параметры значений |
|
|---|---|
| Возвращает |
|
| Унаследовано от | SortedSetOps |
Источник
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | первый элемент этого набора с наименьшим значением, измеренным функцией f относительно порядка |
| Выбрасывает |
|
| Унаследовано от | IterableOnceOps |
Источник
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
Примечание: не завершится для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение типа Option, содержащее первый элемент этого набора с наименьшим значением, измеренным функцией f относительно порядка |
| Унаследовано от | IterableOnceOps |
Источник
Находит наименьший элемент.
Примечание: не завершится для коллекций бесконечного размера.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | значение типа Option, содержащее наименьший элемент этого набора по отношению к порядку |
| Унаследовано от | IterableOnceOps |
Источник
Отображает все элементы этого набора в строке.
Делегирует вызов addString, который можно переопределить.
| Возвращает | строковое представление этого набора. В результирующей строке строковые представления (относительно метода |
|---|---|
| Унаследовано от | IterableOnceOps |
id="mkString-fffff2ca"> Источник
Отображает все элементы этого набора в строке с использованием разделительной строки.
Делегирует вызов addString, который можно переопределить.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этого набора. В результирующей строке строковые представления (относительно метода |
| Пример |
|
| Унаследовано от | IterableOnceOps |
id="mkString-d94"> Источник
Отображает все элементы этого набора в строке, используя начальную, конечную и разделительные строки.
Делегирует вызов addString, который можно переопределить.
| Параметры значения |
|
|---|---|
| Возвращает | строковое представление этого набора. Результирующая строка начинается со строки |
| Пример |
|
| Унаследовано от | IterableOnceOps |
id="nonEmpty-0"> Источник
Проверяет, не пуст ли набор.
| Возвращает |
|
|---|---|
| Унаследовано от | IterableOnceOps |
id="ordering-0"> Источник
| Унаследовано от | SortedOps |
|---|
id="partition-243"> Источник
Пара, состоящая, во-первых, из всех элементов, удовлетворяющих предикату p, и, во-вторых, из всех элементов, которые этому предикату не удовлетворяют. Интересно тем, что разделяет набор на две части.
Реализация по умолчанию здесь требует двух проходов по набору. Строгие наборы имеют переопределённую версию partition в StrictOptimizedIterableOps, которая требует только одного прохода.
| Унаследовано от | IterableOps |
|---|
id="partitionMap-2d1">
Источник
def partitionMap[A1, A2](f: (A) => Either[A1, A2]): (CC[A1], CC[A2])
Применяет функцию f к каждому элементу итерируемого набора и возвращает пару итерируемых наборов: первый набор содержит значения, возвращенные f, которые были обернуты в scala.util.Left, а второй набор содержит значения, обернутые в scala.util.Right.
Пример:
val xs = Iterable(1, "one", 2, "two", 3, "three") partitionMap {
case i: Int => Left(i)
case s: String => Right(s)
}
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | пару итерируемых наборов: первый набор содержит значения, возвращенные |
| Унаследовано от | IterableOps |
Источник
Перемножает элементы этого набора.
Примечание: не завершится для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | произведение всех элементов этого набора относительно оператора |
| Унаследовано от | IterableOnceOps |
Источник
def range(from: A, until: A): C
Создаёт проекцию диапазона этого набора с нижней и верхней границами.
| Параметры значения |
|
|---|---|
| Унаследовано от | SortedOps |
Источник
def rangeFrom(from: A): C
Создаёт проекцию диапазона этого набора без верхней границы.
| Параметры значения |
|
|---|---|
| Унаследовано от | SortedOps |
Источник
Создаёт проекцию диапазона этого набора. Любые изменения в проекции диапазона будут обновлять этот набор и наоборот.
Примечание: ключи не гарантированно остаются согласованными между этим набором и проекцией. Это относится к буферам, где индексация относительна проекции.
| Параметры значения |
|
|---|---|
| Унаследовано от | SortedOps |
Источник
def rangeTo(to: A): C
Создаёт проекцию диапазона этого набора без нижней границы.
| Параметры значения |
|
|---|---|
| Унаследовано от | SortedSetOps |
Источник
def rangeUntil(until: A): C
Создаёт проекцию диапазона этого набора без нижней границы.
| Параметры значения |
|
|---|---|
| Унаследовано от | SortedOps |
Источник
def reduce[B >: A](op: (B, B) => B): B
Сводит элементы этого набора, используя заданный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Результат применения оператора reduce |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceLeft[B >: A](op: (B, A) => B): B
Применяет бинарный оператор ко всем элементам этого набора слева направо.
Примечание: не завершится для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Источник
def reduceLeftOption[B >: A](op: (B, A) => B): Option[B]
Возможно применит бинарный оператор ко всем элементам этого набора слева направо.
Примечание: не завершится для наборов бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | значение Option, содержащее результат |
| Унаследовано от | IterableOnceOps |
Источник
def reduceOption[B >: A](op: (B, B) => B): Option[B]
Сводит элементы этого набора, если таковые имеются, используя указанный ассоциативный бинарный оператор.
Порядок выполнения операций над элементами не определён и может быть не детерминированным.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | Значение Option, содержащее результат применения оператора reduce |
| Унаследовано от | IterableOnceOps |
Источник
def reduceRight[B >: A](op: (A, B) => B): B
Применяет бинарный оператор ко всем элементам этого набора справа налево.
Примечание: не завершается для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен, или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | результат вставки |
| Исключения |
|
| Унаследовано от | IterableOnceOps |
Исходный код
def reduceRightOption[B >: A](op: (A, B) => B): Option[B]
Применяет бинарный оператор ко всем элементам этой коллекции, справа налево (опционально).
Примечание: не завершается для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен, или оператор не ассоциативен и коммутативен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | опциональное значение, содержащее результат |
| Унаследовано от | IterableOnceOps |
Исходный код
| Унаследовано от | IterableOnceOps |
|---|
Исходный код
def scan[B >: A](z: B)(op: (B, B) => B): CC[B]
Вычисляет префиксный скан элементов коллекции.
Примечание: нейтральный элемент z может быть применён более одного раза.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | новая итерируемая коллекция, содержащая префиксный скан элементов в этой итерируемой коллекции |
| Унаследовано от | IterableOps |
Исходный код
def scanLeft[B](z: B)(op: (B, A) => B): CC[B]
Создаёт итерируемую коллекцию, содержащую кумулятивные результаты применения оператора слева направо, включая начальное значение.
Примечание: не завершается для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | коллекция с промежуточными результатами |
| Унаследовано от | IterableOps |
Исходный код
def scanRight[B](z: B)(op: (A, B) => B): CC[B]
Создаёт коллекцию, содержащую кумулятивные результаты применения оператора справа налево. Голова коллекции — последний кумулятивный результат.
Примечание: не завершается для коллекций бесконечного размера.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
Примечание: Даже при применении к представлению или ленивой коллекции, элементы всегда будут вынуждены.
Пример:
List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | коллекция с промежуточными результатами |
| Унаследовано от | IterableOps |
Исходный код
Размер этой коллекции.
Примечание: не завершается для коллекций бесконечного размера.
| Возвращает | количество элементов в этой коллекции. |
|---|---|
| Унаследовано от | IterableOnceOps |
Исходный код
Сравнивает размер этой итерируемой коллекции с размером другой Iterable.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < that.size x == 0 if this.size == that.size x > 0 if this.size > that.size Метод в данном виде не вызывает |
| Унаследовано от | IterableOps |
Исходный код
Сравнивает размер этой итерируемой коллекции со значением.
| Параметры значения |
|
|---|---|
| Возвращает |
Значение x < 0 if this.size < otherSize x == 0 if this.size == otherSize x > 0 if this.size > otherSize Метод в данном виде не вызывает |
| См. также | |
| Унаследовано от | 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 |
|---|
Исходный код
Выбирает интервал элементов. Результирующая итерируемая коллекция состоит из всех элементов x которые удовлетворяют инварианту:
from <= indexOf(x) < until
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемая коллекция, содержащая элементы, большие или равные индексу |
| Унаследовано от | IterableOps |
Исходный код
Группирует элементы в блоки фиксированного размера, перемещая "скользящее окно" по ним (в отличие от разбиения, как в grouped).
Возвращаемый итератор будет пустым при вызове на пустом наборе. Последний элемент, производимый итератором, может быть меньше размера окна, если исходный набор не исчерпан окном до него и его последний элемент не пропущен шагом до него.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | Итератор, производящий итерируемые наборы размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Группирует элементы в блоки фиксированного размера, передавая по ним "скользящее окно" (в отличие от их разбиения, как это делается в grouped.)
Пустой набор возвращает пустой итератор, а непустой набор, содержащий меньше элементов, чем размер окна, возвращает итератор, который произведёт исходный набор как свой единственный элемент.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | Итератор, производящий итерируемые наборы размера |
| См. также | scala.collection.Iterator, метод |
| Пример |
|
| Унаследовано от | IterableOps |
Источник
Объект-компаньон этого упорядоченного набора, предоставляющий различные методы создания.
| Примечание | При реализации пользовательского типа набора и уточнении |
|---|---|
| Унаследовано от | SortedSetOps |
Источник
Разделяет этот итерируемый набор на пару префикс/суффикс в соответствии с предикатом.
Примечание: c span p эквивалентно (но, возможно, более эффективно, чем) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | пара, состоящая из самого длинного префикса этого итерируемого набора, элементы которого все удовлетворяют |
| Унаследовано от | IterableOps |
Источник
Разделяет этот итерируемый набор на пару префикс/суффикс в заданной позиции.
Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | пара итерируемых наборов, состоящая из первых |
| Классы определения | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Источник
Возвращает scala.collection.Stepper для элементов этого набора.
Stepper позволяет создавать Java-поток для работы с набором, см. scala.jdk.StreamConverters. Для наборов, содержащих примитивные значения, Stepper может использоваться как итератор, который не упаковывает элементы.
Неявный параметр scala.collection.StepperShape определяет тип возвращаемого Stepper в соответствии с типом элементов этого набора.
Для наборов
Int,Short,ByteилиChar, возвращается scala.collection.IntStepperДля наборов
DoubleилиFloat, возвращается scala.collection.DoubleStepperДля наборов
Long, возвращается scala.collection.LongStepperДля любого другого типа элемента возвращается scala.collection.AnyStepper
Обратите внимание, что этот метод переопределяется в подклассах, и тип возвращаемого значения уточняется до S with EfficientSplit, например, scala.collection.IndexedSeqOps.stepper. Для Stepper, помеченных scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, тогда как обычные Stepper могут быть преобразованы только в последовательные потоки.
| Унаследовано от | IterableOnce |
|---|
Источник
Проверяет, является ли этот набор подмножеством другого набора.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | true, если этот набор является подмножеством |
| Унаследовано от | SetOps |
Источник
Итератор по всем подмножествам этого набора.
| Возвращаемое значение | итератор. |
|---|---|
| Унаследовано от | SetOps |
Источник
Итератор по всем подмножествам этого набора заданного размера. Если запрашиваемый размер невозможен, возвращается пустой итератор.
| Параметры значения |
|
|---|---|
| Возвращаемое значение | итератор. |
| Унаследовано от | SetOps |
Источник
Суммирует элементы этого набора.
Примечание: не завершится для наборов бесконечного размера.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращаемое значение | сумма всех элементов этого набора относительно оператора |
| Унаследовано от | IterableOnceOps |
Источник
def tail: C
Остальная часть набора без его первого элемента.
| Унаследовано от | IterableOps |
|---|
Source
Итерирует по хвостам этого итерируемого набора коллекций. Первое значение будет этим итерируемым набором коллекций, а последнее — пустым итерируемым набором коллекций, а промежуточные значения — результаты последовательных применений tail.
| Возвращает | итератор по всем хвостам этого итерируемого набора коллекций |
|---|---|
| Пример |
|
| Унаследовано от | IterableOps |
Source
Выбирает первые n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемый набор коллекций, содержащий только первые |
| Унаследовано от | IterableOps |
Source
Выбирает последние n элементов.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | итерируемый набор коллекций, содержащий только последние |
| Унаследовано от | IterableOps |
Source
Берет самую длинную префиксную последовательность элементов, удовлетворяющих предикату.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
| Параметры значения |
|
|---|---|
| Возвращает | самый длинный префикс этого итерируемого набора коллекций, элементы которого удовлетворяют предикату |
| Унаследовано от | IterableOps |
Source
override def tapEach[U](f: (A) => U): C
Применяет функцию с побочным эффектом к каждому элементу в этом наборе коллекций. Строгие наборы коллекций применят f к своим элементам немедленно, в то время как ленивые наборы коллекций, такие как представления и LazyLists, применят f только к каждому элементу, когда и если этот элемент будет вычислен, и каждый раз, когда этот элемент вычисляется.
| Параметры типа |
|
|---|---|
| Параметры значения |
|
| Возвращает | тот же логический набор коллекций, что и этот |
| Классы определений | IterableOps -> IterableOnceOps |
| Унаследовано от | IterableOps |
Source
На основе фабрики набора коллекций factory, преобразуйте этот набор коллекций в соответствующее представление для текущего типа элемента A. Примеры использования:
xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]
| Унаследовано от | IterableOnceOps |
|---|
Source
Преобразуйте набор коллекций в массив.
Примечание к реализации: НЕ вызывайте Array.from из этого метода.
| Унаследовано от | IterableOnceOps |
|---|
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
def toIndexedSeq: IndexedSeq[A]
| Унаследовано от | IterableOnceOps |
|---|
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
| Возвращает | Этот набор коллекций в виде |
|---|---|
| Унаследовано от | IterableOnceOps |
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
Возвращает строковое представление объекта.
Стандартное представление зависит от платформы.
| Возвращает | строковое представление объекта. |
|---|---|
| Классы определений | Function1 -> Any |
| Унаследовано от | Function1 |
Source
| Унаследовано от | IterableOnceOps |
|---|
Source
Транспонирует этот итерируемый набор итерируемых наборов в итерируемый набор итерируемых наборов.
Тип результирующего набора коллекций будет определяться статическим типом набора коллекций. Например:
val xs = List(
Set(1, 2, 3),
Set(4, 5, 6)).transpose
// xs == List(
// List(1, 4),
// List(2, 5),
// List(3, 6))
val ys = Vector(
List(1, 2, 3),
List(4, 5, 6)).transpose
// ys == Vector(
// Vector(1, 4),
// Vector(2, 5),
// Vector(3, 6))
Примечание: даже при применении к представлению или ленивому набору коллекций элементы всегда будут принудительно вычисляться.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | двумерный итерируемый набор итерируемых наборов, у которого n-я строка — n-й столбец этого итерируемого набора. |
| Издаёт исключения |
|
| Унаследовано от | IterableOps |
Источник
Вычисляет объединение между множеством и другим множеством.
| Параметры значений |
|
|---|---|
| Возвращает | новое множество, состоящее из всех элементов, которые находятся в этом множестве или в заданном множестве |
| Унаследовано от | SetOps |
Источник
| Унаследовано от | SortedSetOps |
|---|
Источник
def unzip[A1, A2](implicit asPair: (A) => (A1, A2)): (CC[A1], CC[A2])
Преобразует этот итерируемый набор пар в два набора первой и второй половины каждой пары.
val xs = Iterable(
(1, "one"),
(2, "two"),
(3, "three")).unzip
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three))
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | пара итерируемых наборов, содержащих первую, соответственно вторую половину каждой пары элементов этого итерируемого набора. |
| Унаследовано от | IterableOps |
Источник
def unzip3[A1, A2, A3](implicit asTriple: (A) => (A1, A2, A3)): (CC[A1], CC[A2], CC[A3])
Преобразует этот итерируемый набор троек в три набора первого, второго и третьего элемента каждой тройки.
val xs = Iterable(
(1, "one", '1'),
(2, "two", '2'),
(3, "three", '3')).unzip3
// xs == (Iterable(1, 2, 3),
// Iterable(one, two, three),
// Iterable(1, 2, 3))
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | тройка итерируемых наборов, содержащих первый, второй, соответственно третий член каждой тройки элементов этого итерируемого набора. |
| Унаследовано от | IterableOps |
Источник
Представление над элементами этого набора.
| Унаследовано от | IterableOps |
|---|
Источник
Возвращает множество, образованное из этого множества и другого итерируемого набора путем объединения соответствующих элементов в пары. Если один из двух наборов длиннее другого, его оставшиеся элементы игнорируются.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | новое множество, содержащее пары, состоящие из соответствующих элементов этого множества и |
| Унаследовано от | SortedSetOps |
Источник
def zip[B](that: IterableOnce[B]): CC[(A, B)]
Возвращает итерируемый набор, образованный из этого итерируемого набора и другого итерируемого набора путем объединения соответствующих элементов в пары. Если один из двух наборов длиннее другого, его оставшиеся элементы игнорируются.
| Тип параметров |
|
|---|---|
| Параметры значений |
|
| Возвращает | новый итерируемый набор, содержащий пары, состоящие из соответствующих элементов этого итерируемого набора и |
| Унаследовано от | IterableOps |
Источник
Возвращает итерируемый набор, образованный из этого итерируемого набора и другого итерируемого набора путем объединения соответствующих элементов в пары. Если один из двух наборов короче другого, для заполнения используются плацехолдерные элементы.
| Параметры значений |
|
|---|---|
| Возвращает | новый набор типа |
| Унаследовано от | IterableOps |
Источник
def zipWithIndex: CC[(A, Int)]
Объединяет этот итерируемый набор с его индексами.
| Возвращает | Новый итерируемый набор, содержащий пары, состоящие из всех элементов этого итерируемого набора, спаренных с их индексом. Индексы начинаются с |
|---|---|
| Пример | |
| Унаследовано от | IterableOps |
Источник
Псевдоним для union
| Унаследовано от | SetOps |
|---|
© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/collection/SortedSetFactoryDefaults.html