Spec-Zone.ru › Scala 2.13 Library

Класс scala.collection.SeqView.Sorted

класс Sorted[A, B >: A] extends SeqView[A]

Тип самого объекта
Sorted[A, B]
Аннотации
@SerialVersionUID()
Исходный код
SeqView.scala
Линейные надтипы
SeqView[A], View[A], java.io.Serializable, Iterable[A], IterableFactoryDefaults[A, [x]View[x]], SeqOps[A, View, View[A]], IterableOps[A, [_]View[_], View[A]], IterableOnceOps[A, [_]View[_], View[A]], IterableOnce[A], AnyRef, Any

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

new Sorted(underlying: SomeSeqOps[A], ord: Ordering[B])

Члены-значения

final def !=(arg0: Any): Boolean

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

возвращает

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

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

final def ##(): Int

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

возвращает

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

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

def +(other: String): String

Неявный
Этот член добавлен неявным преобразованием из Sorted[A, B] вany2stringadd[Sorted[A, B]] с помощью метода any2stringadd в scala.Predef.
Классы определений
any2stringadd

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

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

Классы определений
IterableOps
Аннотации
@inline()

final def ++:[B >: A](prefix: IterableOnce[B]): View[B]

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

Классы определений
SeqOps → IterableOps
Аннотации
@inline()

final def +:[B >: A](elem: B): View[B]

Псевдоним для prepended.

Обратите внимание, что операторы с окончанием - являются правоассоциативными (см. пример). Мемоническое правило для +: против :+ заключается в том, что двоеточие относится к стороне коллекции.

Классы определений
SeqOps
Аннотации
@inline()

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

Неявный
Этот член добавлен неявным преобразованием из Sorted[A, B] вArrowAssoc[Sorted[A, B]] с помощью метода ArrowAssoc в scala.Predef.
Классы определений
ArrowAssoc
Аннотации
@inline()

final def :+[B >: A](elem: B): View[B]

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

Обратите внимание, что операторы с окончанием - являются правоассоциативными (см. пример). Мемоническое правило для +: против :+ заключается в том, что двоеточие относится к стороне коллекции.

Классы определений
SeqOps
Аннотации
@inline()

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

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

Определяющие классы
SeqOps
Аннотации
@inline()

final def ==(arg0: Any): Boolean

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

возвращает

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

Определяющие классы
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

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

возвращает

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

Определяющие классы
IterableOnceOps
Аннотации
@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

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

возвращает

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

Определяющие классы
IterableOnceOps
Аннотации
@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

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

возвращает

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

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

def appended[B >: A](elem: B): SeqView[B]

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

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

Пример:

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

scala> val b = a :+ 2
b: List[Int] = List(1, 2)

scala> println(a)
List(1)
B

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

elem

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

возвращает

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

Определяющие классы
SeqView → SeqOps

def appendedAll[B >: A](suffix: SomeSeqOps[B]): SeqView[B]

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

def appendedAll[B >: A](suffix: IterableOnce[B]): View[B]

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

B

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

suffix

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

возвращает

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

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

def apply(i: Int): A

Получить элемент по указанному индексу. Данная операция предоставлена для удобства в Seq. Не следует предполагать ее эффективность, если у вас нет IndexedSeq.

Определяющие классы
Sorted → SeqOps

final def asInstanceOf[T0]: T0

Привести объект-приемник к типу T0.

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

возвращает

объект-приемник.

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

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

def className: String

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

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

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

возвращает

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

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

def clone(): AnyRef

Создает копию объекта-приемника.

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

возвращает

копию объекта-приемника.

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

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

final def coll: Sorted.this.type

возвращает

Эту коллекцию как C.

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

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

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

B

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

pf

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

возвращает

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

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

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

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

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

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

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

pf

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

возвращает

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

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

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

def combinations(n: Int): Iterator[View[A]]

Перебирает комбинации. _Комбинация_ длины n — это подпоследовательность исходной последовательности, элементы которой взяты в порядке следования. Таким образом, "xy" и "yy" — обе комбинации длины 2 из "xyy", но "yx" — нет. Если существует более одного способа сгенерировать одну и ту же подпоследовательность, будет возвращена только одна.

Например, "xyyy" имеет три различных способа генерировать "xy" в зависимости от того, какой элемент — первый, второй или третий "y" выбирается. Однако, поскольку все они идентичны, будет выбран только один. Какой из трех будет выбран — это деталь реализации, которая не определена.

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

возвращает

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

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

    "abbbc".combinations(2) = Iterator(ab, ac, bb, bc)

def concat[B >: A](suffix: SomeSeqOps[B]): SeqView[B]

Definition Classes
SeqView

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

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

B

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

suffix

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

returns

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

Definition Classes
SeqOps → IterableOps
Annotations
@inline()

def contains[A1 >: A](elem: A1): Boolean

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

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

elem

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

returns

true если эта последовательность имеет элемент, равный (как определено ==) elem, false в противном случае.

Definition Classes
SeqOps

def containsSlice[B](that: Seq[B]): Boolean

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

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

that

последовательность для проверки

returns

true если эта последовательность содержит срез с теми же элементами, что и that, иначе false.

Definition Classes
SeqOps

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

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

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

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

B

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

xs

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

start

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

len

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

returns

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

Definition Classes
IterableOnceOps
Note

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

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

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

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

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

B

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

xs

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

start

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

returns

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

Definition Classes
IterableOnceOps

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

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

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

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

B

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

xs

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

returns

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

Definition Classes
IterableOnceOps

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

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

B

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

that

другая последовательность

p

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

returns

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

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

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[B >: A](that: Seq[B]): View[A]

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

that

последовательность элементов для удаления

returns

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

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

def distinct: View[A]

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

returns

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

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

def distinctBy[B](f: (A) => B): View[A]

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

B

тип элементов после преобразования f

f

Преобразующая функция, результат которой используется для определения уникальности каждого элемента

returns

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

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

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

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

n

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

returns

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

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

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

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

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

n

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

returns

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

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

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

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

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

p

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

returns

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

Definition Classes
IterableOps → IterableOnceOps
Note

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

def empty: View[A]

Пустая итерируемая коллекция того же типа, что и эта итерируемая коллекция

returns

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

Definition Classes
View → IterableFactoryDefaults → IterableOps

def endsWith[B >: A](that: Iterable[B]): Boolean

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

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

that

последовательность для проверки

returns

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

Definition Classes
SeqOps

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

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

def ensuring(cond: (Sorted[A, B]) => Boolean): Sorted[A, B]

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

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

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

def ensuring(cond: Boolean): Sorted[A, B]

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

final def eq(arg0: AnyRef): Boolean

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

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

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

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

returns

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

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

def equals(arg0: AnyRef): Boolean

Метод равенства для ссылочных типов. Реализация по умолчанию делегирует eq.

См. также equals в scala.Any.

returns

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

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

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

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

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

p

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

returns

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

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

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

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

returns

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

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

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

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

pred

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

returns

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

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

def finalize(): Unit

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

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

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

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

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

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

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

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

p

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

returns

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

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

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

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

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

p

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

returns

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

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

def flatMap[B](f: (A) => IterableOnce[B]): View[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 к каждому элементу этой итерируемой коллекции и конкатенации результатов.

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

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

def flatten[B](implicit asIterable: (A) => IterableOnce[B]): View[B]

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

Тип результирующей коллекции будет определяться типом итерируемой коллекции. Например:

val xs = List(
           Set(1, 2, 3),
           Set(1, 2, 3)
         ).flatten
// xs == List(1, 2, 3, 1, 2, 3)

val ys = Set(
           List(1, 2, 3),
           List(3, 2, 1)
         ).flatten
// ys == Set(1, 2, 3)
B

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

asIterable

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

returns

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

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

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

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

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

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

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

A1

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

z

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

op

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

returns

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

Определяющие классы
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, если эта коллекция пуста.

Определяющие классы
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, если эта коллекция пуста.

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

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

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

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

p

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

returns

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

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

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

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

Definition Classes
IterableOnceOps

def formatted(fmtstr: String): String

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

Implicit
Этот член добавляется с помощью неявного преобразования от Sorted[A, B] кStringFormat[Sorted[A, B]], выполняемого методом StringFormat в scala.Predef.
Definition Classes
StringFormat
Annotations
@inline()

def fromSpecific(coll: IterableOnce[A]): View[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]

Возвращает представление runtime-класса объекта.

returns

объект класса, соответствующий runtime-типу получателя.

Definition Classes
AnyRef → Any
Annotations
@native()

def groupBy[K](f: (A) => K): immutable.Map[K, View[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): immutable.Map[K, View[B]]

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

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

case class User(name: String, age: Int)

def namesByAge(users: Seq[User]): Map[Int, Seq[String]] =
  users.groupMap(_.age)(_.name)

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

K

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

B

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

key

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

f

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

Definition Classes
IterableOps

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

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

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

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

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

Definition Classes
IterableOps

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

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

size

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

returns

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

Definition Classes
IterableOps
See also

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

def hashCode(): Int

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

returns

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

Definition Classes
AnyRef → Any
Annotations
@native()

def head: A

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

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

returns

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

Definition Classes
IterableOps
Исключения

NoSuchElementException, если итерируемый набор пустой.

def headOption: Option[A]

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

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

returns

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

Definition Classes
IterableOps

def indexOf[B >: A](elem: B): Int

Находит индекс первого вхождения некоторого значения в этой последовательности.

B

тип элемента elem.

elem

значение искомого элемента.

returns

индекс >= 0 первого элемента этой последовательности, который равен (как определяется ==) elem, или -1, если такого элемента нет.

Definition Classes
SeqOps
Annotations
@deprecatedOverriding("Override indexOf(elem, from) instead - indexOf(elem) calls indexOf(elem, 0)", "2.13.0")

def indexOf[B >: A](elem: B, from: Int): Int

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

B

тип элемента elem.

elem

значение искомого элемента.

from

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

returns

индекс >= from первого элемента этой последовательности, который равен (как определяется ==) elem, или -1, если такого элемента нет.

Definition Classes
SeqOps

def indexOfSlice[B >: A](that: Seq[B]): Int

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

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

that

исследуемая последовательность

returns

первый индекс >= 0 такой, что элементы этой последовательности, начиная с этого индекса, совпадают с элементами последовательности that, или -1, если такой подпоследовательности не существует.

Definition Classes
SeqOps
Annotations
@deprecatedOverriding("Override indexOfSlice(that, from) instead - indexOfSlice(that) calls indexOfSlice(that, 0)", "2.13.0")

def indexOfSlice[B >: A](that: Seq[B], from: Int): Int

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

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

that

последовательность для проверки

from

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

returns

первый индекс >= from такой, что элементы этой последовательности, начиная с этого индекса, соответствуют элементам последовательности that, или -1, если такой подпоследовательности не существует.

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

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

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

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

p

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

returns

индекс >= 0 первого элемента этой последовательности, который удовлетворяет предикату p, или -1, если такого не существует.

Определяющие классы
SeqOps
Аннотации
@deprecatedOverriding("Override indexWhere(p, from) instead - indexWhere(p) calls indexWhere(p, 0)", "2.13.0")

def indexWhere(p: (A) => Boolean, from: Int): Int

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

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

p

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

from

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

returns

индекс >= from первого элемента этой последовательности, который удовлетворяет предикату p, или -1, если такого не существует.

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

def indices: immutable.Range

Создает диапазон всех индексов этой последовательности.

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

returns

значение Range от 0 до значения, на единицу меньшего длины этой последовательности.

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

def init: View[A]

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

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

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

def inits: Iterator[View[A]]

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

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

returns

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

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

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

def intersect[B >: A](that: Seq[B]): View[A]

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

that

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

returns

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

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

def isDefinedAt(idx: Int): Boolean

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

Реализации методов apply и isDefinedAt преобразуют Seq[A] в PartialFunction[Int, A].

idx

индекс для проверки

returns

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

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

def isEmpty: Boolean

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

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

returns

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

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

final def isInstanceOf[T0]: Boolean

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

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

возвращает

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

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

def isTraversableAgain: Boolean

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

возвращает

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

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

def iterableFactory: IterableFactory[View]

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

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

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

def iterator: Iterator[A]

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

Классы определений
Sorted → IterableOnce

def knownSize: Int

возвращает

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

Классы определений
Sorted → IterableOnce

def last: A

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

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

возвращает

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

Классы определений
IterableOps
Исключения

NoSuchElementException Если итерируемый набор пуст.

def lastIndexOf[B >: A](elem: B, end: Int = length - 1): Int

Находит индекс последнего вхождения некоторого значения в этой последовательности до или на данном индексе конца.

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

B

тип элемента elem.

elem

значение искомого элемента.

end

индекс конца.

возвращает

индекс <= end последнего элемента этой последовательности, который равен (как определено ==) elem, или -1, если такого нет.

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

def lastIndexOfSlice[B >: A](that: Seq[B]): Int

Находит последний индекс, где эта последовательность содержит заданную последовательность как срез.

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

that

последовательность для проверки

возвращает

последний индекс, такой что элементы этой последовательности, начинающиеся с этого индекса, соответствуют элементам последовательности that, или -1 если такой подпоследовательности нет.

Классы определений
SeqOps
Аннотации
@deprecatedOverriding("Override lastIndexOfSlice(that, end) instead - lastIndexOfSlice(that) calls lastIndexOfSlice(that, Int.MaxValue)", "2.13.0")

def lastIndexOfSlice[B >: A](that: Seq[B], end: Int): Int

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

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

that

последовательность для проверки

end

индекс конца

возвращает

последний индекс <= end, такой что элементы этой последовательности, начинающиеся с этого индекса, соответствуют элементам последовательности that, или -1 если такой подпоследовательности нет.

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

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

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

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

p

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

returns

индекс последнего элемента этой последовательности, удовлетворяющего предикату p, или -1, если такой элемент отсутствует.

Definition Classes
SeqOps
Annotations
@deprecatedOverriding("Override lastIndexWhere(p, end) instead - lastIndexWhere(p) calls lastIndexWhere(p, Int.MaxValue)", "2.13.0")

def lastIndexWhere(p: (A) => Boolean, end: Int): Int

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

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

p

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

returns

индекс <= end последнего элемента этой последовательности, удовлетворяющего предикату p, или -1, если такой элемент отсутствует.

Definition Classes
SeqOps

def lastOption: Option[A]

Возвращает опционально последний элемент.

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

returns

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

Definition Classes
IterableOps

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

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

Вызовы lazyZip могут быть объединены для поддержки более высоких арифметических значений (до 4) без потери ресурсов для создания и деконструкции промежуточных кортежей.

val xs = List(1, 2, 3)
val res = (xs lazyZip xs lazyZip xs lazyZip xs).map((a, b, c, d) => a + b + c + d)
// res == List(4, 8, 12)
B

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

that

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

returns

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

Definition Classes
Iterable

def length: Int

Длина (количество элементов) представления. size является псевдонимом для length в коллекциях Seq.

Definition Classes
Sorted → SeqOps

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

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

that

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

returns

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

x <  0       if this.length <  that.size
x == 0       if this.length == that.size
x >  0       if this.length >  that.size

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

Definition Classes
SeqOps

def lengthCompare(len: Int): Int

Сравнивает длину этой последовательности со значением теста.

len

тестовое значение, которое сравнивается с длиной.

returns

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

x <  0       if this.length <  len
x == 0       if this.length == len
x >  0       if this.length >  len

Метод, как реализован здесь, не вызывает length напрямую; его время выполнения составляет O(length min len) вместо O(length). Метод следует переопределить, если вычисление length является быстрым, и knownSize возвращает -1.

Definition Classes
SeqOps
See also

lengthIs

final def lengthIs: SizeCompareOps

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

Эти операции реализованы в терминах lengthCompare(Int), и позволяют использовать более удобочитаемые варианты:

this.lengthIs < len     // this.lengthCompare(len) < 0
this.lengthIs <= len    // this.lengthCompare(len) <= 0
this.lengthIs == len    // this.lengthCompare(len) == 0
this.lengthIs != len    // this.lengthCompare(len) != 0
this.lengthIs >= len    // this.lengthCompare(len) >= 0
this.lengthIs > len     // this.lengthCompare(len) > 0
Definition Classes
SeqOps
Annotations
@inline()

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

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

B

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

f

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

returns

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

Определяющие классы
SeqView → 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

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

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

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

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

B

Тип, для которого определен порядок.

ord

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

returns

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

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

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

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

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

B

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

f

Измеряющая функция.

cmp

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

returns

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

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

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, View[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 occCounts[B](sq: Seq[B]): mutable.Map[B, Int]

Attributes
protected[scala.collection]
Definition Classes
SeqOps

def padTo[B >: A](len: Int, elem: B): View[B]

Копия этой последовательности со значением элемента, добавленным до достижения заданной целевой длины.

B

тип элемента возвращаемой последовательности.

len

целевая длина

elem

значение заполнения

returns

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

Definition Classes
SeqOps

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

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

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

Definition Classes
IterableOps

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

def patch[B >: A](from: Int, other: IterableOnce[B], replaced: Int): View[B]

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

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

B

тип элемента возвращаемой последовательности

from

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

other

заменяющая последовательность

replaced

количество элементов для удаления в исходной последовательности

returns

новая последовательность, состоящая из всех элементов этой последовательности, за исключением того, что replaced элементы, начиная с from, заменяются всеми элементами other.

Definition Classes
SeqOps

def permutations: Iterator[View[A]]

Итерируется по различным перестановкам.

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

returns

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

Definition Classes
SeqOps
Пример:

    "abb".permutations = Iterator(abb, bab, bba)

def prepended[B >: A](elem: B): SeqView[B]

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

Также исходное представление не изменяется, поэтому вам нужно будет сохранить результат.

Пример:

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

scala> val y = 2 +: x
y: List[Int] = List(2, 1)

scala> println(x)
List(1)
B

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

elem

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

returns

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

Definition Classes
SeqView → SeqOps

def prependedAll[B >: A](prefix: SomeSeqOps[B]): SeqView[B]

Definition Classes
SeqView

def prependedAll[B >: A](prefix: IterableOnce[B]): View[B]

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

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

B

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

prefix

итерируемый объект для вставки.

returns

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

Definition Classes
SeqOps

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

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

B

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

num

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

returns

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

Definition Classes
IterableOnceOps

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

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

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

B

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

op

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

returns

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

Definition Classes
IterableOnceOps
Exceptions thrown

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

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

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

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

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

B

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

op

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

returns

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

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

где x1, ..., xn — элементы этой коллекции.

Definition Classes
IterableOnceOps
Exceptions thrown

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

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

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

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

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

B

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

op

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

returns

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

Definition Classes
IterableOnceOps

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

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

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

B

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

op

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

returns

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

Definition Classes
IterableOnceOps

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

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

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

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

B

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

op

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

returns

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

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

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

Definition Classes
IterableOnceOps
Exceptions thrown

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

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

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

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

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

B

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

op

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

returns

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

Definition Classes
IterableOnceOps

def reverse: SeqView[A]

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

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

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

returns

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

Definition Classes
Sorted → SeqView → SeqOps

def reverseIterator: Iterator[A]

Итератор, возвращающий элементы в обратном порядке.

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

Примечание: xs.reverseIterator эквивалентно xs.reverse.iterator, но может быть более эффективным.

returns

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

Definition Classes
SeqOps

def reversed: Iterable[A]

Attributes
protected
Definition Classes
Sorted → IterableOnceOps

def sameElements[B >: A](that: IterableOnce[B]): Boolean

Являются ли элементы этого набора такими же (и в том же порядке), как у that?

Definition Classes
SeqOps

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

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

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

B

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

z

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

op

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

returns

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

Definition Classes
IterableOps

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

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

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

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

B

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

z

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

op

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

returns

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

Definition Classes
IterableOps → IterableOnceOps
Note

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

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

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

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

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

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

Пример:

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

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

z

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

op

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

returns

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

Definition Classes
IterableOps

def search[B >: A](elem: B, from: Int, to: Int)(implicit ord: Ordering[B]): SearchResult

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

Последовательность должна быть отсортирована с использованием того же Ordering перед вызовом; в противном случае результаты не определены.

elem

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

from

индекс, с которого начинается поиск.

to

индекс, следующий за тем, где поиск заканчивается.

ord

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

returns

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

Definition Classes
SeqOps
Note

если to <= from, пространство поиска пусто, и возвращается InsertionPoint по адресу from

See also

scala.collection.IndexedSeq

scala.math.Ordering

scala.collection.SeqOps, метод sorted

def search[B >: A](elem: B)(implicit ord: Ordering[B]): SearchResult

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

Последовательность должна быть отсортирована с использованием того же Ordering перед вызовом; в противном случае результаты не определены.

elem

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

ord

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

returns

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

Definition Classes
SeqOps
See also

scala.collection.IndexedSeq

scala.math.Ordering

scala.collection.SeqOps, метод sorted

def segmentLength(p: (A) => Boolean, from: Int): Int

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

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

p

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

from

индекс, с которого начинается поиск.

returns

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

Definition Classes
SeqOps

final def segmentLength(p: (A) => Boolean): Int

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

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

p

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

returns

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

Definition Classes
SeqOps

final def size: Int

Размер этой последовательности.

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

returns

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

Definition Classes
SeqOps → IterableOnceOps

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

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

that

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

returns

Значение 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.

Definition Classes
SeqOps → IterableOps

final def sizeCompare(otherSize: Int): Int

Сравнивает размер этой последовательности со значением теста.

otherSize

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

returns

Значение 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.

Definition Classes
SeqOps → IterableOps
См. также

sizeIs

final def sizeIs: SizeCompareOps

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

Эти операции реализованы в терминах sizeCompare(Int) и позволяют использовать следующие более удобочитаемые варианты:

this.sizeIs < size     // this.sizeCompare(size) < 0
this.sizeIs <= size    // this.sizeCompare(size) <= 0
this.sizeIs == size    // this.sizeCompare(size) == 0
this.sizeIs != size    // this.sizeCompare(size) != 0
this.sizeIs >= size    // this.sizeCompare(size) >= 0
this.sizeIs > size     // this.sizeCompare(size) > 0
Definition Classes
IterableOps
Аннотации
@inline()

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

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

from <= indexOf(x) < until

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

from

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

until

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

returns

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

Definition Classes
IterableOps → IterableOnceOps
Примечание

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

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

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

size

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

step

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

returns

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

Definition Classes
IterableOps
См. также

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

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

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

size

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

returns

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

Definition Classes
IterableOps
See also

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

def sortBy[B](f: (A) => B)(implicit ord: Ordering[B]): View[A]

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

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

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

Сортировка устойчивая. То есть, элементы, которые равны (как определяется ord.compare ), появляются в отсортированной последовательности в том же порядке, что и в оригинальной.

B

целевой тип преобразования f, и тип, где определен порядок ord.

f

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

ord

порядок, предполагаемый в области B.

returns

последовательность, состоящая из элементов этой последовательности, отсортированных в соответствии с порядком, где x < y , если ord.lt(f(x), f(y)).

Definition Classes
SeqOps
Пример:
    val words = "The quick brown fox jumped over the lazy dog".split(' ')
    // this works because scala.Ordering will implicitly provide an Ordering[Tuple2[Int, Char]]
    words.sortBy(x => (x.length, x.head))
    res0: Array[String] = Array(The, dog, fox, the, lazy, over, brown, quick, jumped)
See also

scala.math.Ordering

def sortWith(lt: (A, A) => Boolean): View[A]

Сортирует эту последовательность в соответствии с функцией сравнения.

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

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

Сортировка устойчивая. То есть, элементы, которые равны (как определяется lt ), появляются в отсортированной последовательности в том же порядке, что и в оригинальной.

lt

функция сравнения, проверяющая, предшествует ли её первый аргумент её второму аргументу в требуемом порядке.

returns

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

Definition Classes
SeqOps
Пример:
    List("Steve", "Tom", "John", "Bob").sortWith(_.compareTo(_) < 0) =
    List("Bob", "John", "Steve", "Tom")

def sorted[B1 >: A](implicit ord1: Ordering[B1]): SeqView[A]

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

Сортировка устойчивая. То есть, элементы, которые равны (как определяется ord.compare ), появляются в отсортированной последовательности в том же порядке, что и в оригинальной.

returns

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

Definition Classes
Sorted → SeqView → SeqOps
See also

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

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

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

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

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

p

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

returns

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

Definition Classes
IterableOps → IterableOnceOps
Note

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

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

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

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

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

n

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

returns

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

Definition Classes
IterableOps → IterableOnceOps
Note

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

def startsWith[B >: A](that: IterableOnce[B], offset: Int = 0): Boolean

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

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

that

проверяемая последовательность

offset

индекс, где ищется последовательность.

returns

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

Definition Classes
SeqOps

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

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

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

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

    Для коллекций Int, Short, Byte или Char, возвращается IntStepperДля коллекций Double или Float, возвращается DoubleStepperДля коллекций Long возвращается LongStepperДля любого другого типа элементов возвращается AnyStepper

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

Definition Classes
IterableOnce

def stringPrefix: String

Attributes
protected[this]
Definition Classes
SeqView → View → Iterable
Annotations
@deprecatedOverriding("Совместимое переопределение", "2.13.0")

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

Вычисляет сумму элементов этой коллекции.

B

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

num

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

returns

сумма всех элементов этой коллекции по отношению к операции + в num.

Definition Classes
IterableOnceOps

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

Definition Classes
AnyRef

def tail: View[A]

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

Definition Classes
IterableOps

def tails: Iterator[View[A]]

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

returns

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

Definition Classes
IterableOps
Пример:

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

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

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

n

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

returns

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

Definition Classes
SeqView → IterableOps → IterableOnceOps
Note

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

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

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

n

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

returns

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

Definition Classes
SeqView → IterableOps

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

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

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

p

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

returns

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

Definition Classes
IterableOps → IterableOnceOps

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

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

U

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

f

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

returns

Такая же логическая коллекция, как эта

Definition Classes
SeqView → 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
Sorted → IterableOnceOps

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

Преобразование коллекции в массив.

Definition Classes
IterableOnceOps

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

Definition Classes
IterableOnceOps
Annotations
@inline()

def toIndexedSeq: immutable.IndexedSeq[A]

Definition Classes
IterableOnceOps

final def toIterable: Sorted.this.type

returns

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

Definition Classes
Iterable → IterableOps

def toList: immutable.List[A]

Definition Classes
IterableOnceOps

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

Definition Classes
IterableOnceOps

def toSeq: immutable.Seq[A]

returns

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

Definition Classes
IterableOnceOps

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

Definition Classes
IterableOnceOps

def toString(): String

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

returns

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

Definition Classes
View → Iterable → AnyRef → Any

def toVector: immutable.Vector[A]

Definition Classes
IterableOnceOps

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

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

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

val xs = List(
           Set(1, 2, 3),
           Set(4, 5, 6)).transpose
// xs == List(
//         List(1, 4),
//         List(2, 5),
//         List(3, 6))

val ys = Vector(
           List(1, 2, 3),
           List(4, 5, 6)).transpose
// ys == Vector(
//         Vector(1, 4),
//         Vector(2, 5),
//         Vector(3, 6))

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

B

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

asIterable

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

returns

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

Definition Classes
IterableOps
Exceptions thrown

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

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

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

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

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

A2

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

asPair

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

returns

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

Definition Classes
IterableOps

def unzip3[A1, A2, A3](implicit asTriple: (A) => (A1, A2, A3)): (View[A1], View[A2], View[A3])

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

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

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

A2

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

A3

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

asTriple

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

returns

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

Definition Classes
IterableOps

def updated[B >: A](index: Int, elem: B): View[B]

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

B

тип элементов возвращаемой последовательности.

index

позиция замены

elem

элемент замены

returns

новая последовательность, являющаяся копией этой последовательности, в которой элемент в позиции index заменён на elem.

Definition Classes
SeqOps
Исключения

IndexOutOfBoundsException, если index не удовлетворяет 0 <= index < length. В случае ленивой коллекции это исключение может быть сгенерировано в более позднее время или вообще не сгенерировано (если конец коллекции никогда не оценивается).

def view: SeqView[A]

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

Definition Classes
SeqView → View → SeqOps → 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

Definition Classes
AnyRef
Аннотации
@throws(classOf[java.lang.InterruptedException]) @native()

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

Создаёт нестрогий фильтр этой коллекции.

Примечание: разница между 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]): View[(A, B)]

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

B

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

that

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

returns

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

Definition Classes
IterableOps

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

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

that

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

thisElem

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

thatElem

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

returns

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

Definition Classes
IterableOps

def zipWithIndex: View[(A, Int)]

Сжимает эту итерируемую коллекцию со своими индексами.

returns

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

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

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

Примечание

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

© 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/SeqView$$Sorted.html

Spec-Zone.ru

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