Класс scala.collection.IndexedSeqView.Prepended
класс Prepended[+A] extends SeqView.Prepended[A] с IndexedSeqView[A]
- Аннотации
- @SerialVersionUID()
- Источник
- IndexedSeqView.scala
- Линейные супертипы
- IndexedSeqView[A], IndexedSeqOps[A, View, View[A]], SeqView.Prepended[A], SeqView[A], SeqOps[A, View, View[A]], View.Prepended[A], AbstractView[A], View[A], java.io.Serializable, AbstractIterable[A], Iterable[A], IterableFactoryDefaults[A, [x]View[x]], IterableOps[A, [_]View[_], View[A]], IterableOnceOps[A, [_]View[_], View[A]], IterableOnce[A], AnyRef, Any
Конструкторы экземпляров
новый Prepended(elem: A, underlying: SomeIndexedSeqOps[A])
Члены-значения
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
- Неявный
- Этот член добавляется с помощью неявного преобразования из Prepended[A] в any2stringadd[Prepended[A]], выполненного методом 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.
Обратите внимание, что операторы с суффиксом `:` являются правоассоциативными (см. пример). Мемоническое правило для +: против :+ заключается в том, что двоеточие относится к коллекции.
def ->[B](y: B): (Prepended[A], B)
- Неявный
- Этот член добавляется с помощью неявного преобразования из Prepended[A] в ArrowAssoc[Prepended[A]], выполненного методом ArrowAssoc в scala.Predef.
- Классы-определения
- ArrowAssoc
- Аннотации
- @inline()
final def :+[B >: A](elem: B): View[B]
Псевдоним для appended
Обратите внимание, что операторы с суффиксом `:` являются правоассоциативными (см. пример). Мемоническое правило для +: против :+ заключается в том, что двоеточие относится к коллекции.
final def :++[B >: A](suffix: IterableOnce[B]): View[B]
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): IndexedSeqView[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.
- Классы определений
- IndexedSeqView → SeqView → SeqOps
def appendedAll[B >: A](suffix: SomeIndexedSeqOps[B]): IndexedSeqView[B]
- Классы определений
- IndexedSeqView
def appendedAll[B >: A](suffix: SomeSeqOps[B]): SeqView[B]
- Классы определений
- SeqView
def appendedAll[B >: A](suffix: IterableOnce[B]): View[B]
Возвращает новую последовательность, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элементов последовательности — это самый специфичный суперкласс, охватывающий типы элементов двух операндов.
- B
тип элемента возвращаемого набора.
- suffix
итерируемый объект, который нужно добавить.
- returns
новый набор типа
CC[B], содержащий все элементы этой последовательности, за которыми следуют все элементыsuffix.
- Definition Classes
- SeqOps
def apply(idx: Int): A
Получает элемент по указанному индексу. Данная операция предоставляется для удобства в Seq. Не следует предполагать, что она будет эффективной, если у вас нет IndexedSeq.
final def asInstanceOf[T0]: T0
Преобразует получаемый объект в тип T0.
Обратите внимание, что успех преобразования во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит исключение ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] не выбросит. В последнем примере, поскольку аргумент типа стирается во время компиляции, невозможно проверить, соответствуют ли содержимое списка запрошенному типу.
- returns
получаемый объект.
- Definition Classes
- Any
- Exceptions thrown
ClassCastException, если получаемый объект не является экземпляром стирания типаT0.
def className: String
Определяет префикс представления данного объекта toString.
Рекомендуется возвращать имя конкретного типа коллекции, но не подклассы реализации. Например, для ListMap этот метод должен возвращать "ListMap", а не "Map" (супертип) или "Node" (подкласс реализации).
Реализация по умолчанию возвращает "Iterable". Она переопределена для основных типов коллекций "Seq", "IndexedSeq", "LinearSeq", "Buffer", "Set", "Map", "SortedSet", "SortedMap" и "View".
- returns
строковое представление, которое начинает результат применения
toStringк этой итерируемой коллекции. По умолчанию префикс строки — это простое имя класса коллекции итерируемой коллекции.
- Attributes
- protected[this]
- Definition Classes
- Iterable
def clone(): AnyRef
Создает копию получаемого объекта.
Реализация метода clone по умолчанию зависит от платформы.
- returns
копия получаемого объекта.
final def coll: Prepended.this.type
- returns
Эта коллекция как
C.
- Attributes
- protected
- Definition Classes
- Iterable → IterableOps
def collect[B](pf: PartialFunction[A, B]): View[B]
Создаёт новую итерируемую коллекцию, применяя частичную функцию ко всем элементам этой итерируемой коллекции, для которых функция определена.
- B
тип элемента возвращаемой итерируемой коллекции.
- pf
частичная функция, которая фильтрует и отображает итерируемую коллекцию.
- returns
новая итерируемая коллекция, полученная путём применения данной частичной функции
pfк каждому элементу, для которого она определена, и сбора результатов. Порядок элементов сохраняется.
- Definition Classes
- IterableOps → IterableOnceOps
- Note
Переиспользование: после вызова этого метода нужно удалить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе тоже.
def collectFirst[B](pf: PartialFunction[A, B]): Option[B]
Находит первый элемент в коллекции, для которого заданная частичная функция определена, и применяет частичную функцию к нему.
Примечание: может не завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- pf
частичная функция
- returns
значение Option, содержащее результат применения pf к первому значению, для которого оно определено, или
None, если такого значения нет.
- Definition Classes
- 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" выбран. Однако, поскольку все они идентичны, будет выбран только один. Какой из трех будет выбран — это деталь реализации, которая не определена.
Примечание: даже при применении к представлению или ленивой коллекции она всегда будет принудительно использовать элементы.
- returns
Итератор, который перебирает возможные n-элементные комбинации этой последовательности.
- Definition Classes
- SeqOps
"abbbc".combinations(2) = Iterator(ab, ac, bb, bc)
def concat[B >: A](suffix: SomeIndexedSeqOps[B]): IndexedSeqView[B]
- Definition Classes
- IndexedSeqView
def concat[B >: A](suffix: SomeSeqOps[B]): SeqView[B]
- Definition Classes
- SeqView
final def concat[B >: A](suffix: IterableOnce[B]): View[B]
Возвращает новую последовательность, содержащую элементы из левого операнда, за которыми следуют элементы из правого операнда. Тип элемента последовательности — это наиболее специфический суперкласс, охватывающий типы элементов двух операндов.
- B
тип элементов возвращаемой коллекции.
- suffix
проходимый для добавления.
- 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
количество элементов, записанных в массив. Примечание: не завершится для коллекций бесконечного размера.
- Определяющие классы
- IterableOnceOps
def copyToArray[B >: A](xs: Array[B]): Int
Копирование элементов в массив, возвращающее количество записанных элементов.
Заполняет заданный массив xs начиная с индекса start значениями этой коллекции.
Копирование остановится, как только будут скопированы все элементы этой коллекции или будет достигнут конец массива.
- B
тип элементов массива.
- xs
массив для заполнения.
- returns
количество элементов, записанных в массив. Примечание: не завершится для коллекций бесконечного размера.
- Определяющие классы
- IterableOnceOps
def corresponds[B](that: Seq[B])(p: (A, B) => Boolean): Boolean
Проверяет, соответствует ли каждый элемент этой последовательности соответствующему элементу другой последовательности, удовлетворяя тестовому предикату.
- B
тип элементов
that- that
другая последовательность
- p
тестовый предикат, который связывает элементы из обеих последовательностей
- returns
trueесли обе последовательности имеют одинаковую длину иp(x, y)являетсяtrueдля всех соответствующих элементовxэтой последовательности иythat, иначеfalse.
- Определяющие классы
- SeqOps
def corresponds[B](that: IterableOnce[B])(p: (A, B) => Boolean): Boolean
Проверяет, соответствует ли каждый элемент итератора этой коллекции соответствующему элементу другой коллекции, удовлетворяя тестовому предикату.
- B
тип элементов
that- that
другая коллекция
- p
тестовый предикат, который связывает элементы из обеих коллекций
- returns
trueесли обе коллекции имеют одинаковую длину иp(x, y)являетсяtrueдля всех соответствующих элементовxэтого итератора иythat, иначе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): IndexedSeqView[A]
Выбирает все элементы, кроме первых n.
- n
количество элементов, которые нужно удалить из этого представления.
- returns
представление, содержащее все элементы этого представления, кроме первых
nэлементов, или пустое представление, если в этом представлении меньшеnэлементов. Еслиnотрицательно, не удалять элементы.
- Definition Classes
- IndexedSeqView → SeqView → IndexedSeqOps → IterableOps → IterableOnceOps
- Note
Повторное использование: После вызова этого метода нужно удалить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе.
def dropRight(n: Int): IndexedSeqView[A]
Выбирает все элементы, кроме последних n.
- n
количество элементов, которые нужно удалить из этого представления.
- returns
представление, содержащее все элементы этого представления, кроме последних
nэлементов, или пустое представление, если в этом представлении меньшеnэлементов. Еслиnотрицательно, не удалять элементы.
- Definition Classes
- IndexedSeqView → SeqView → IndexedSeqOps → 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: (Prepended[A]) => Boolean, msg: => Any): Prepended[A]
- Implicit
- Этот член добавлен неявным преобразованием из Prepended[A] в Ensuring[Prepended[A]] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: (Prepended[A]) => Boolean): Prepended[A]
- Implicit
- Этот член добавлен неявным преобразованием из Prepended[A] в Ensuring[Prepended[A]] с помощью метода Ensuring в scala.Predef.
- Definition Classes
- Ensuring
def ensuring(cond: Boolean, msg: => Any): Prepended[A]
- Неявный
- Этот член добавлен неявным преобразованием из Prepended[A] в Ensuring[Prepended[A]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
def ensuring(cond: Boolean): Prepended[A]
- Неявный
- Этот член добавлен неявным преобразованием из Prepended[A] в Ensuring[Prepended[A]] с помощью метода Ensuring в scala.Predef.
- Определяющие классы
- Ensuring
final def eq(arg0: AnyRef): Boolean
Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).
Метод eq реализует отношение эквивалентности на непустых экземплярах AnyRef, и имеет три дополнительных свойства:
-
Он согласован: для любых непустых экземпляров
x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false. Для любого непустого экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false.
null.eq(null) возвращает true. При переопределении методов equals или hashCode важно обеспечить согласованность их поведения с равенством ссылок. Таким образом, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и должны хешироваться к одному и тому же значению (o1.hashCode == o2.hashCode).
- возвращает
trueесли аргумент является ссылкой на объект-получатель;falseв противном случае.
- Определяющие классы
- AnyRef
def equals(arg0: AnyRef): Boolean
Метод равенства для ссылочных типов. По умолчанию делегирует вызов к eq.
См. также equals в scala.Any.
- возвращает
trueесли объект-получатель эквивалентен аргументу;falseв противном случае.
- Определяющие классы
- AnyRef → Any
def exists(p: (A) => Boolean): Boolean
Проверяет, выполняется ли предикат для хотя бы одного элемента в этом наборе.
Примечание: может не завершиться для наборов бесконечного размера.
- p
предикат, используемый для проверки элементов.
- возвращает
trueесли заданный предикатpудовлетворяется хотя бы одним элементом в этом наборе, иначеfalse
- Определяющие классы
- IterableOnceOps
def filter(pred: (A) => Boolean): View[A]
Выбирает все элементы этого итерируемого набора, которые удовлетворяют предикату.
- возвращает
новый итератор, состоящий из всех элементов этого итерируемого набора, которые удовлетворяют заданному предикату
p. Порядок элементов сохраняется.
- Определяющие классы
- IterableOps → IterableOnceOps
def filterNot(pred: (A) => Boolean): View[A]
Выбирает все элементы этого итерируемого набора, которые не удовлетворяют предикату.
- pred
предикат, используемый для проверки элементов.
- возвращает
новый итерируемый набор, состоящий из всех элементов этого итерируемого набора, которые не удовлетворяют заданному предикату
pred. Порядок элементов может не сохраняться.
- Определяющие классы
- IterableOps → IterableOnceOps
def finalize(): Unit
Вызывается сборщиком мусора для объекта-получателя, когда больше нет ссылок на объект.
Подробности о том, когда и вызывается метод finalize, а также взаимодействии между finalize и нелокальными возвратами и исключениями, зависят от платформы.
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.
- Определяющие классы
- IterableOnceOps
def formatted(fmtstr: String): String
Возвращает строку, отформатированную согласно данной строке format. Строки формата такие же, как для String.format (@see java.lang.String.format).
- Неявный
- Этот член добавляется неявным преобразованием из Prepended[A] в StringFormat[Prepended[A]] с помощью метода StringFormat в scala.Predef.
- Определяющие классы
- StringFormat
- Аннотации
- @inline()
def fromSpecific(coll: IterableOnce[A]): View[A]
Определяет, как преобразовать заданный Iterable[A] в коллекцию типа C.
Этот процесс может быть выполнен строгим или нестрогим способом (т.е. без вычисления элементов результирующих коллекций). Другими словами, этот метод определяет модель вычисления коллекции.
- Атрибуты
- protected
- Определяющие классы
- IterableFactoryDefaults → IterableOps
- Примечание
-
При реализации пользовательского типа коллекции и уточнении
,Cдо нового типа, этот метод должен быть переопределен (иначе компилятор выдаст ошибку). В общем случае, когдаC =:= CC[A], это можно сделать, добавив признак IterableFactoryDefaults, который реализует метод с помощью iterableFactory.Как показано аннотацией
@uncheckedVariance, использование этого метода может быть небезопасным. Однако, пока он вызывается сIterable[A], полученным из коллекцииthis(как это происходит в реализациях операций, где мы используемView[A]), он безопасен.
final def getClass(): Class[_ <: AnyRef]
Возвращает представление класса объекта во время выполнения.
- returns
объект класса, соответствующий времени выполнения типа приемника.
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.
- Определяющие классы
- 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
значение хэш-кода для этого объекта.
def head: A
Возвращает первый элемент этой итерируемой коллекции.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- returns
первый элемент этой итерируемой коллекции.
- Definition Classes
- IterableOps
- Exceptions thrown
NoSuchElementException, если итерируемая коллекция пуста.
def headOption: Option[A]
Возвращает первый элемент коллекции, или None, если коллекция пуста.
Примечание: может возвращать разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- 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, если такой подпоследовательности не существует.
- Definition Classes
- SeqOps
def indexWhere(p: (A) => Boolean): Int
Находит индекс первого элемента, удовлетворяющего некоторому предикату.
Примечание: может не завершиться для бесконечно больших коллекций.
- p
предикат, используемый для проверки элементов.
- returns
индекс
>= 0первого элемента этой последовательности, который удовлетворяет предикатуp, или-1, если такового не существует.
- Definition Classes
- SeqOps
- Annotations
- @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, если такового не существует.
- Definition Classes
- SeqOps
def indices: immutable.Range
Возвращает диапазон всех индексов этой последовательности.
Примечание: Даже при применении к представлению или ленивой коллекции он всегда будет принудительно обрабатывать элементы.
- returns
значение
Rangeот0до значения, на единицу меньшего длины этой последовательности.
- Definition Classes
- SeqOps
def init: View[A]
Начальная часть коллекции без её последнего элемента.
Примечание: Даже при применении к представлению или ленивой коллекции он всегда будет принудительно обрабатывать элементы.
- Definition Classes
- IterableOps
def inits: Iterator[View[A]]
Итерирует по начальным частям этой итерируемой коллекции. Первое значение будет этой итерируемой коллекцией, а последнее — пустой итерируемой коллекцией, а промежуточные значения — результатами последовательного применения init.
Примечание: Даже при применении к представлению или ленивой коллекции он всегда будет принудительно обрабатывать элементы.
- returns
итератор по всем начальным частям этой итерируемой коллекции
- Definition Classes
- 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будут сохранены в результате, но любые последующие вхождения будут пропущены.
- Definition Classes
- SeqOps
def isDefinedAt(idx: Int): Boolean
Проверяет, содержит ли эта последовательность данный индекс.
Реализации методов apply и isDefinedAt преобразуют Seq[A] в PartialFunction[Int, A].
- idx
индекс для проверки
- returns
trueесли эта последовательность содержит элемент в позицииidx,falseв противном случае.
- Definition Classes
- SeqOps
def isEmpty: Boolean
Проверяет, пуста ли последовательность.
Примечание: Реализации в подклассах, которые не являются многократно проходимыми, должны позаботиться о том, чтобы не потреблять какие-либо элементы, когда isEmpty вызывается.
- returns
trueесли последовательность не содержит элементов,falseв противном случае.
- Definition Classes
- SeqOps → IterableOnceOps
final def isInstanceOf[T0]: Boolean
Проверка, является ли динамический тип объекта-приёмника T0.
Обратите внимание, что результат проверки выполняется с учётом семантики стирания Scala. Поэтому выражение 1.isInstanceOf[String] вернёт false, в то время как выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, поскольку тип аргумента стирается во время компиляции, проверить, относятся ли содержимое списка к указанному типу, невозможно.
- returns
trueесли объект-приёмник является экземпляром стирания типаT0;falseв противном случае.
- Definition Classes
- Any
def isTraversableAgain: Boolean
Проверка, может ли эта итерируемая коллекция быть многократно пройдена. Всегда истинно для итерируемых и ложно для итераторов, если не переопределено.
- returns
trueесли это многократно проходимая итерируемая коллекция,falseв противном случае.
- Definition Classes
- IterableOps → IterableOnceOps
def iterableFactory: IterableFactory[View]
Объект-компаньон этого представления, предоставляющий различные методы фабрики.
- Definition Classes
- View → Iterable → IterableOps
- Note
При реализации пользовательского типа коллекции и уточнении
CCдо нового типа, этот метод необходимо переопределить, чтобы вернуть фабрику для нового типа (в противном случае компилятор выдаст ошибку).
def iterator: Iterator[A]
Итератор может быть использован только один раз
- Definition Classes
- IndexedSeqView → IndexedSeqOps → IterableOnce
def knownSize: Int
- returns
Количество элементов в этой последовательности, если оно может быть вычислено недорого, -1 в противном случае. Недорого обычно означает: не требующее прохода по коллекции.
- Definition Classes
- IndexedSeqOps → IterableOnce
def last: A
Выбирает последний элемент.
- returns
Последний элемент этой последовательности.
- Definition Classes
- IndexedSeqOps → IterableOps
- Exceptions thrown
NoSuchElementExceptionЕсли последовательность пуста.
def lastIndexOf[B >: A](elem: B, end: Int = length - 1): Int
Находит индекс последнего вхождения некоторого значения в этой последовательности до или в указанном индексе окончания.
Примечание: не завершится для коллекций бесконечного размера.
- B
тип элемента
elem.- elem
значение искомого элемента.
- end
индекс окончания.
- returns
индекс
<= endпоследнего элемента этой последовательности, который равен (как определяется==)elem, или-1, если такого элемента нет.
- Definition Classes
- SeqOps
def lastIndexOfSlice[B >: A](that: Seq[B]): Int
Находит последний индекс, где эта последовательность содержит данную последовательность в качестве среза.
Примечание: не завершится для бесконечно больших коллекций.
- that
последовательность для проверки
- returns
последний индекс, такой что элементы этой последовательности, начиная с этого индекса, совпадают с элементами последовательности
that, или-1, если такой подпоследовательности не существует.
- Definition Classes
- SeqOps
- Annotations
- @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
конечный индекс
- returns
последний индекс
<= endтакой, что элементы этой последовательности, начиная с этого индекса, совпадают с элементами последовательностиthat, или-1, если такой подпоследовательности не существует.
- Definition Classes
- 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, Prepended.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.
final 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
- IndexedSeqOps → SeqOps
final 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
- IndexedSeqOps → SeqOps
- See also
final def lengthIs: SizeCompareOps
Возвращает value class, содержащий операции для сравнения длины этой последовательности с тестовым значением.
Эти операции реализованы в терминах 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
def map[B](f: (A) => B): IndexedSeqView[B]
Создает новый view, применяя функцию ко всем элементам этого view.
- B
тип элемента возвращаемого view.
- f
функция, применяемая к каждому элементу.
- returns
новый view, полученный путем применения данной функции
fк каждому элементу этого view и сбора результатов.
- Definition Classes
- IndexedSeqView → SeqView → IndexedSeqOps → IterableOps → IterableOnceOps
- Note
Повторное использование: После вызова этого метода следует отказаться от итератора, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе.
def max[B >: A](implicit ord: math.Ordering[B]): A
Находит наибольший элемент.
- B
Тип, над которым определен порядок.
- ord
Порядок, используемый для сравнения элементов.
- returns
наибольший элемент этой коллекции относительно порядка
ord.
- Definition Classes
- IterableOnceOps
- Exceptions thrown
UnsupportedOperationExceptionесли эта коллекция пуста.
def maxBy[B](f: (A) => B)(implicit cmp: math.Ordering[B]): A
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Измеряющая функция.
- cmp
Порядок, используемый для сравнения элементов.
- returns
первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно порядка
cmp.
- Definition Classes
- IterableOnceOps
- Exceptions thrown
UnsupportedOperationExceptionесли эта коллекция пуста.
def maxByOption[B](f: (A) => B)(implicit cmp: math.Ordering[B]): Option[A]
Находит первый элемент, который дает наибольшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Измеряющая функция.
- cmp
Порядок, используемый для сравнения элементов.
- returns
опциональное значение, содержащее первый элемент этой коллекции с наибольшим значением, измеренным функцией f относительно порядка
cmp.
- Definition Classes
- IterableOnceOps
def maxOption[B >: A](implicit ord: math.Ordering[B]): Option[A]
Находит наибольший элемент.
- B
Тип, над которым определено упорядочение.
- ord
Упорядочение, используемое для сравнения элементов.
- returns
значение типа Option, содержащее наибольший элемент этого набора по данному упорядочению
ord.
- Definition Classes
- IterableOnceOps
def min[B >: A](implicit ord: math.Ordering[B]): A
Находит наименьший элемент.
- B
Тип, над которым определено упорядочение.
- ord
Упорядочение, используемое для сравнения элементов.
- returns
наименьший элемент этого набора по данному упорядочению
ord.
- Definition Classes
- IterableOnceOps
- Исключения
UnsupportedOperationException, если этот набор пустой.
def minBy[B](f: (A) => B)(implicit cmp: math.Ordering[B]): A
Находит первый элемент, который дает наименьшее значение, измеренное функцией f.
- B
Тип результата функции f.
- f
Функция измерения.
- cmp
Упорядочение, используемое для сравнения элементов.
- returns
первый элемент этого набора с наименьшим значением, измеренным функцией f, относительно упорядочения
cmp.
- Definition Classes
- 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
- Аннотации
- @inline()
final def mkString(sep: String): String
Отображает все элементы этого набора в строке с использованием разделительной строки.
Делегирует addString, который может быть переопределен.
- sep
разделительная строка.
- returns
строковое представление этого набора. В результирующей строке строковые представления (относительно метода
toString) всех элементов этого набора разделены строкойsep.
- Definition Classes
- IterableOnceOps
- Аннотации
- @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): IndexedSeqView[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
- IndexedSeqView → SeqView → IndexedSeqOps → SeqOps
def prependedAll[B >: A](prefix: SomeIndexedSeqOps[B]): IndexedSeqView[B]
- Definition Classes
- IndexedSeqView
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.
- Определяющие классы
- IterableOnceOps
def reduce[B >: A](op: (B, B) => B): B
Редуцирует элементы этой коллекции, используя указанный ассоциативный бинарный оператор.
Порядок, в котором выполняются операции над элементами, не указан и может быть не детерминированным.
- B
Типовой параметр для бинарного оператора, супертип
A.- op
Бинарный оператор, который должен быть ассоциативным.
- returns
Результат применения оператора reduce
opко всем элементам, если коллекция не пуста.
- Определяющие классы
- IterableOnceOps
- Выбрасываемые исключения
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- элементы этой коллекции.
- Определяющие классы
- IterableOnceOps
- Выбрасываемые исключения
UnsupportedOperationExceptionесли эта коллекция пуста.
def reduceLeftOption[B >: A](op: (B, A) => B): Option[B]
Применяет бинарный оператор ко всем элементам этой коллекции слева направо, опционально.
Примечание: не будет завершаться для коллекций бесконечного размера.
Примечание: может возвращать разные результаты для разных запусков, если только базовый тип коллекции не упорядочен или оператор не является ассоциативным и коммутативным.
- B
результирующий тип бинарного оператора.
- op
бинарный оператор.
- returns
опциональное значение, содержащее результат
reduceLeft(op), если коллекция не пуста,Noneв противном случае.
- Определяющие классы
- IterableOnceOps
def reduceOption[B >: A](op: (B, B) => B): Option[B]
Редуцирует элементы этой коллекции, если таковые имеются, используя указанный ассоциативный бинарный оператор.
Порядок, в котором выполняются операции над элементами, не указан и может быть не детерминированным.
- B
Типовой параметр для бинарного оператора, супертип
A.- op
Бинарный оператор, который должен быть ассоциативным.
- returns
Опциональное значение, содержащее результат применения оператора reduce
opко всем элементам, если коллекция не пуста, иNoneв противном случае.
- Определяющие классы
- 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- элементы этой коллекции.
- Определяющие классы
- IterableOnceOps
- Выбрасываемые исключения
UnsupportedOperationExceptionесли эта коллекция пуста.
def reduceRightOption[B >: A](op: (A, B) => B): Option[B]
Применяет бинарный оператор ко всем элементам этого набора, справа налево.
Примечание: не будет завершаться для бесконечных наборов.
Примечание: может возвращать разные результаты для разных запусков, если тип базового набора упорядочен или оператор ассоциативен и коммутативен.
- B
тип результата бинарного оператора.
- op
бинарный оператор.
- returns
опциональное значение, содержащее результат
reduceRight(op), если этот набор не пуст,Noneв противном случае.
- Definition Classes
- IterableOnceOps
def reverse: IndexedSeqView[A]
Возвращает новый вид с элементами в обратном порядке.
Примечание: не будет завершаться для бесконечных наборов.
Примечание: даже при применении к виду или ленивому набору он всегда будет принудительно вычислять элементы.
- returns
Новый вид со всеми элементами этого вида в обратном порядке.
- Definition Classes
- IndexedSeqView → SeqView → IndexedSeqOps → SeqOps
def reverseIterator: Iterator[A]
Итератор, возвращающий элементы в обратном порядке.
Примечание: не будет завершаться для бесконечных наборов.
Примечание: xs.reverseIterator эквивалентно xs.reverse.iterator, но может быть более эффективным.
- returns
итератор, возвращающий элементы этого вида в обратном порядке
- Definition Classes
- IndexedSeqView → IndexedSeqOps → SeqOps
def reversed: Iterable[A]
- Attributes
- protected
- Definition Classes
- IndexedSeqOps → 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: math.Ordering[B]): SearchResult
Поиск элемента в заданном интервале отсортированной последовательности. Если последовательность является IndexedSeq, используется бинарный поиск. В противном случае используется линейный поиск.
Последовательность должна быть отсортирована с использованием того же Ordering перед вызовом; в противном случае результаты не определены.
- elem
элемент для поиска.
- from
индекс, с которого начинается поиск.
- to
индекс, следующий за тем, где поиск заканчивается.
- ord
упорядочение, используемое для сравнения элементов.
- returns
значение
Found, содержащее индекс, соответствующий элементу в последовательности, илиInsertionPoint, где элемент был бы вставлен, если элемент отсутствует в последовательности.
- Definition Classes
- IndexedSeqOps → SeqOps
- Note
если
to <= from, пространство поиска пусто, и возвращаетсяInsertionPointвfrom- See also
-
scala.collection.SeqOps, метод
sorted
def search[B >: A](elem: B)(implicit ord: math.Ordering[B]): SearchResult
Поиск элемента в этой отсортированной последовательности. Если последовательность является IndexedSeq, используется бинарный поиск. В противном случае используется линейный поиск.
Последовательность должна быть отсортирована с использованием того же Ordering перед вызовом; в противном случае результаты не определены.
- elem
элемент для поиска.
- ord
упорядочение, используемое для сравнения элементов.
- returns
значение
Found, содержащее индекс, соответствующий элементу в последовательности, илиInsertionPoint, где элемент был бы вставлен, если элемент отсутствует в последовательности.
- Definition Classes
- IndexedSeqOps → SeqOps
- See also
-
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
the
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
- See also
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
- Annotations
- @inline()
def slice(from: Int, until: Int): IndexedSeqView[A]
Выбирает интервал элементов. Возвращаемый вид состоит из всех элементов x, которые удовлетворяют инварианту:
from <= indexOf(x) < until
- from
наименьший индекс для включения из этого вида.
- until
наименьший индекс для ИСКЛЮЧЕНИЯ из этого вида.
- returns
вид, содержащий элементы, большие или равные индексу
from, простирающийся до (но не включая) индексаuntilэтого вида.
- Definition Classes
- IndexedSeqView → IndexedSeqOps → IterableOps → IterableOnceOps
- Note
Переиспользование: После вызова этого метода следует отбросить итератор, на котором он был вызван, и использовать только возвращенный итератор. Использование старого итератора не определено, может измениться и может привести к изменениям в новом итераторе тоже.
def sliding(size: Int, step: Int): Iterator[View[A]]
Группирует элементы в блоки фиксированного размера, пропуская "скользящее окно" по ним (в отличие от разделения их, как это делается в grouped.)
- size
количество элементов в группе
- step
расстояние между первыми элементами последовательных групп
- returns
Итератор, генерирующий итерируемые коллекции размера
size, за исключением последнего элемента (который может быть единственным элементом), который будет усечен, если оставшихся элементов для группировки меньше, чемsize.
- Definition Classes
- IterableOps
- See also
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)
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[B >: A](implicit ord: Ordering[B]): SeqView[A]
Сортирует это представление в соответствии с упорядочением.
Сортировка устойчива. То есть элементы, которые равны (как определено ord.compare), появляются в отсортированной последовательности в том же порядке, что и в исходной.
- ord
упорядочение для сравнения элементов.
- returns
представление, состоящее из элементов этого представления, отсортированных в соответствии с упорядочением
ord.
- Definition Classes
- SeqView → SeqOps
- См. также
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
- Примечание
Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращенные итераторы. Использование старого итератора не определено, может измениться и может привести к изменениям в новых итераторах также.
def splitAt(n: Int): (View[A], View[A])
Разделяет эту итерируемую коллекцию на пару префикс/суффикс в заданной позиции.
Примечание: c splitAt n эквивалентно (но, возможно, более эффективно, чем) (c take n, c drop n).
Примечание: может возвращать разные результаты для разных запусков, если тип базовой коллекции не упорядочен.
- n
позиция, в которой нужно разделить.
- returns
пара итерируемых коллекций, состоящая из первых
nэлементов этой итерируемой коллекции и других элементов.
- Definition Classes
- IterableOps → IterableOnceOps
- Примечание
Переиспользование: После вызова этого метода следует удалить итератор, на котором он был вызван, и использовать только возвращенные итераторы. Использование старого итератора не определено, может измениться и может привести к изменениям в новых итераторах также.
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 with EfficientSplit
Возвращает 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. Для Stepper, помеченных как scala.collection.Stepper.EfficientSplit, конвертеры в scala.jdk.StreamConverters позволяют создавать параллельные потоки, в то время как обычные Stepper могут быть преобразованы только в последовательные потоки.
- Definition Classes
- IndexedSeqOps → IterableOnce
def stringPrefix: String
- Attributes
- protected[this]
- Definition Classes
- IndexedSeqView → SeqView → View → Iterable
- Annotations
- @deprecatedOverriding("Compatibility override", "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): IndexedSeqView[A]
Выбирает первые n элементов.
- n
количество элементов для взятия из этого представления.
- returns
представление, состоящее только из первых
nэлементов этого представления, или же всего представления, если оно содержит меньшеnэлементов. Еслиnотрицательно, возвращает пустое представление.
- Definition Classes
- IndexedSeqView → SeqView → IndexedSeqOps → IterableOps → IterableOnceOps
- Note
Переиспользование: После вызова этого метода следует отбросить итератор, на котором он был вызван, и использовать только возвращённый итератор. Использование старого итератора не определено, может быть изменено и может привести к изменениям в новом итераторе тоже.
def takeRight(n: Int): IndexedSeqView[A]
Выбирает последние n элементов.
- n
количество элементов, которые нужно взять из этого представления.
- returns
представление, содержащее только последние
nэлементов этого представления, или же всё представление целиком, если в нём меньше чемnэлементов. Еслиnотрицательно, возвращает пустое представление.
- Definition Classes
- IndexedSeqView → SeqView → IndexedSeqOps → IterableOps
def takeWhile(p: (A) => Boolean): View[A]
Берёт самую длинную префиксную последовательность элементов, удовлетворяющих предикату.
Примечание: может вернуть разные результаты при разных запусках, если тип базовой коллекции не упорядочен.
- p
Предикат для проверки элементов.
- returns
самую длинную префиксную последовательность элементов в данной итерируемой коллекции, удовлетворяющих предикату
p.
- Definition Classes
- IterableOps → IterableOnceOps
def tapEach[U](f: (A) => U): IndexedSeqView[A]
Применяет функцию со побочным эффектом к каждому элементу в этой коллекции. Строгие коллекции применят f к своим элементам немедленно, в то время как ленивые коллекции, такие как представления и LazyLists, применят f к каждому элементу только тогда, когда этот элемент будет вычислен, и каждый раз, когда этот элемент вычисляется.
- U
тип возвращаемого значения f
- f
функция, которая применяется к каждому элементу в этом представлении
- returns
Такая же логическая коллекция, как и эта
- Definition Classes
- IndexedSeqView → 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
- 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: Prepended.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]
- возвращает
Этот набор как
Seq[A]. Это эквивалентноto(Seq), но может быть быстрее.
- Классы-определения
- IterableOnceOps
def toSet[B >: A]: immutable.Set[B]
- Классы-определения
- IterableOnceOps
def toString(): String
Преобразует это представление в строку.
- возвращает
представление этой коллекции в виде строки. По умолчанию эта строка состоит из
classNameэтого представления, за которым следуют все элементы, разделенные запятыми и заключенные в скобки.
def toVector: immutable.Vector[A]
- Классы-определения
- 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.- возвращает
двумерная итерируемая коллекция итерируемых коллекций, в которой n-я строка является n-м столбцом этой итерируемой коллекции.
- Классы-определения
- IterableOps
- Исключения
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
неявное преобразование, которое утверждает, что тип элементов этой итерируемой коллекции является парой.
- возвращает
пара итерируемых коллекций, содержащая первую и соответственно вторую половину каждой пары элементов этой итерируемой коллекции.
- Классы-определения
- 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
неявное преобразование, которое утверждает, что тип элементов этой итерируемой коллекции является тройкой.
- возвращает
тройка итерируемых коллекций, содержащая первый, второй и соответственно третий член каждой тройки элементов этой итерируемой коллекции.
- Классы-определения
- IterableOps
def updated[B >: A](index: Int, elem: B): View[B]
Копия этой последовательности с одним заменённым элементом.
- B
тип элементов возвращаемой последовательности.
- index
позиция замены
- elem
заменяющий элемент
- возвращает
новая последовательность, являющаяся копией этой последовательности с элементом в позиции
indexзаменённым наelem.
- Классы-определения
- SeqOps
- Исключения
IndexOutOfBoundsException, еслиindexне удовлетворяет0 <= index < length. В случае ленивой коллекции это исключение может быть выброшено в более позднее время или вообще не выброшено (если конец коллекции никогда не вычисляется).
def view: IndexedSeqView[A]
Вид на элементы этого набора.
- Definition Classes
- IndexedSeqView → SeqView → View → IndexedSeqOps → SeqOps → IterableOps
final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
final def wait(arg0: Long): Unit
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/IndexedSeqView$$Prepended.html