Spec-Zone.ru › Scala 3.1

Класс scala.collection.LeftPartitionMapped

Исходный код

@SerialVersionUID(3L)
class LeftPartitionMapped[A, A1, A2](underlying: SomeIterableOps[A], f: A => Either[A1, A2]) extends AbstractView[A1]

Наследуемые типы
класс AbstractView[A1]
тракт View[A1]
тракт Serializable
класс AbstractIterable[A1]
тракт Iterable[A1]
тракт IterableFactoryDefaults[A1, View]
тракт IterableOps[A1, View, View[A1]]
тракт IterableOnceOps[A1, View, View[A1]]
тракт IterableOnce[A1]
класс Object
тракт Matchable
класс Any

Конкретные методы

Исходный код
def iterator: Iterator[A1]

Наследуемые методы

Исходный код@inline
final def ++[B >: A1](suffix: IterableOnce[B]): View[B]

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

Наследуется от IterableOps

Исходный код@inline
final def addString(b: StringBuilder): StringBuilder

Добавляет все элементы этого набора в строку-построитель. Записываемый текст состоит из строковых представлений (относительно метода toString) всех элементов этого набора без разделительной строки.

Пример:

scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)

scala> val b = new StringBuilder()
b: StringBuilder =

scala> val h = a.addString(b)
h: StringBuilder = 1234
Параметры значений
b

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

Возвращает

строка-построитель b, в которую были добавлены элементы.

Наследуется от IterableOnceOps

Исходный код@inline
final def addString(b: StringBuilder, sep: String): StringBuilder

Добавляет все элементы этого набора в строку-построитель, используя разделительную строку. Записываемый текст состоит из строковых представлений (относительно метода toString) всех элементов этого набора, разделенных строкой sep.

Пример:

scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)

scala> val b = new StringBuilder()
b: StringBuilder =

scala> a.addString(b, ", ")
res0: StringBuilder = 1, 2, 3, 4
Параметры значений
b

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

sep

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

Возвращает

строка-построитель b, в которую были добавлены элементы.

Наследуется от IterableOnceOps

Исходный код
def addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder

Добавляет все элементы этого набора в строковый буфер, используя начальную, конечную и разделительные строки. Текст, который будет записан, начинается со строки start и заканчивается строкой end. Внутри строковые представления (в отношении метода toString) всех элементов этого набора разделены строкой sep.

Пример:

scala> val a = List(1,2,3,4)
a: List[Int] = List(1, 2, 3, 4)

scala> val b = new StringBuilder()
b: StringBuilder =

scala> a.addString(b , "List(" , ", " , ")")
res5: StringBuilder = List(1, 2, 3, 4)
Параметры значения
b

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

end

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

sep

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

start

начальная строка.

Возвращаемое значение

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

Унаследовано от IterableOnceOps

Источник
def collect[B](pf: PartialFunction[A1, B]): View[B]

Унаследовано от IterableOps

Источник
def collectFirst[B](pf: PartialFunction[A1, B]): Option[B]

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

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

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

Параметры значения
pf

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

Возвращаемое значение

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

Пример

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

Унаследовано от IterableOnceOps

Источник
def concat[B >: A1](suffix: IterableOnce[B]): View[B]

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

Параметры типа
B

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

Параметры значения
suffix

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

Возвращаемое значение

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

Унаследовано от IterableOps

Источник
def copyToArray[B >: A1](xs: Array[B], start: Int, len: Int): Int

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

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

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

Параметры типа
B

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

Параметры значения
len

максимальное количество копируемых элементов.

start

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

xs

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

Возвращаемое значение

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

Примечание

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

Унаследовано от IterableOnceOps

Источник@deprecatedOverriding("This should always forward to the 3-arg version of this method", since = "2.13.4")
def copyToArray[B >: A1](xs: Array[B], start: Int): Int

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

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

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

class="attributes">
Параметры типа
B

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

Параметры значения
start

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

xs

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

Возвращает

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

Примечание

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

Унаследовано от IterableOnceOps

Источник@deprecatedOverriding("Это всегда должно перенаправлять на 3-аргументную версию этого метода", since = "2.13.4")
def copyToArray[B >: A1](xs: Array[B]): Int

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

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

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

class="attributes">
Параметры типа
B

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

Параметры значения
xs

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

Возвращает

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

Примечание

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

Унаследовано от IterableOnceOps

Источник
def corresponds[B](that: IterableOnce[B])(p: (A1, B) => Boolean): Boolean

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

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

class="attributes">
Параметры типа
B

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

Параметры значения
p

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

that

другой набор

Возвращает

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

Унаследовано от IterableOnceOps

Источник
def count(p: A1 => Boolean): Int

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

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

class="attributes">
Параметры значения
p

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

Возвращает

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

Унаследовано от IterableOnceOps

Источник
def drop(n: Int): View[A1]

class="attributes">
Унаследовано от IterableOps

Источник
def dropRight(n: Int): View[A1]

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

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

class="attributes">
Параметры значения
n

количество элементов, которые необходимо исключить из этого набора.

Возвращает

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

Унаследовано от IterableOps

Источник
def dropWhile(p: A1 => Boolean): Представление[A1]

Унаследовано от IterableOps

Источник
override def empty: Представление[A1]

Классы-предки Представление -> IterableFactoryDefaults -> IterableOps
Унаследовано от Представление

Источник
def exists(p: A1 => Boolean): Boolean

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

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

Параметры
p

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

Возвращает

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

Унаследовано от IterableOnceOps

Источник
def filter(pred: A1 => Boolean): Представление[A1]

Унаследовано от IterableOps

Источник
def filterNot(pred: A1 => Boolean): Представление[A1]

Унаследовано от IterableOps

Источник
def find(p: A1 => Boolean): Option[A1]

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

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

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

Параметры
p

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

Возвращает

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

Унаследовано от IterableOnceOps

Источник
def flatMap[B](f: A1 => IterableOnce[B]): Представление[B]

Унаследовано от IterableOps

Источник
def flatten[B](implicit asIterable: A1 => IterableOnce[B]): Представление[B]

Унаследовано от IterableOps

Источник
def fold[A1 >: A1](z: A1)(op: (A1, A1) => A1): A1

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

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

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

Параметры типа
A1

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

Значения параметров
op

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

z

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

Возвращаемое значение

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

Унаследовано от IterableOnceOps

Источник
def foldLeft[B](z: B)(op: (B, A1) => B): B

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

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

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

Параметры типа
B

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

Значения параметров
op

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

z

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

Возвращаемое значение

результат вставки op между последовательными элементами этой коллекции слева направо с начальным значением z слева: op(...op(z, x1), x2, ..., xn), где x1, ..., xn - элементы этой коллекции. Возвращает z если эта коллекция пуста.

Унаследовано от IterableOnceOps

Источник
def foldRight[B](z: B)(op: (A1, B) => B): B

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

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

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

Параметры типа
B

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

Значения параметров
op

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

z

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

Возвращаемое значение

результат вставки op между последовательными элементами этой коллекции справа налево с начальным значением z справа: op(x1, op(x2, ... op(xn, z)...)), где x1, ..., xn - элементы этой коллекции. Возвращает z если эта коллекция пуста.

Унаследовано от IterableOnceOps

Источник
def forall(p: A1 => Boolean): Boolean

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

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

Значения параметров
p

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

Возвращаемое значение

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

Унаследовано от IterableOnceOps

Источник
def foreach[U](f: A1 => U): Unit

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

Унаследовано от IterableOnceOps

Источник
protected def fromSpecific(coll: IterableOnce[A1]): View[A1]

Унаследовано от IterableFactoryDefaults

Источник
def groupBy[K](f: A1 => K): Map[K, View[A1]]

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

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

Параметры типа
K

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

Значения параметров
f

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

Возвращаемое значение

Карта, сопоставляющая ключи итерируемым коллекциям, при этом выполняется следующее инвариантное свойство:

(xs groupBy f)(k) = xs filter (x => f(x) == k)

То есть, каждый ключ k связан с итерируемой коллекцией тех элементов x, для которых f(x) равно k.

Унаследовано от IterableOps

Источник
def groupMap[K, B](key: A1 => K)(f: A1 => B): 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)

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

Параметры типа
B

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

K

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

Значения параметров
f

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

key

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

Унаследовано от IterableOps

Источник
def groupMapReduce[K, B](key: A1 => K)(f: A1 => B)(reduce: (B, B) => B): Map[K, B]

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

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

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

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

Унаследовано от IterableOps

Источник
def grouped(size: Int): Iterator[View[A1]]

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

Значения параметров
size

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

Возвращаемое значение

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

См. также

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

Унаследовано от IterableOps

Источник
def head: A1

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

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

Возвращает

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

Выбрасывает
NoSuchElementException

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

Унаследовано от IterableOps

Источник
def headOption: Option[A1]

Выбирает первый элемент (если он есть).

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

Возвращает

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

Унаследовано от IterableOps

Источник
def init: View[A1]

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

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

Унаследовано от IterableOps

Источник
def inits: Iterator[View[A1]]

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

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

Возвращает

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

Пример

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

Унаследовано от IterableOps

Источник
def isEmpty: Boolean

Проверяет, является ли коллекция пустой.

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

Возвращает

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

Унаследовано от IterableOnceOps

Источник
override def isTraversableAgain: Boolean

Классы-предки IterableOps -> IterableOnceOps
Унаследовано от IterableOps

Источник
override def iterableFactory: IterableFactory[View]

Классы-предки View -> Iterable -> IterableOps
Унаследовано от View

Источник
def knownSize: Int

Возвращает

Количество элементов в этой коллекции, если оно может быть вычислено без затрат, иначе -1. Без затрат обычно означает: без обхода коллекции.

Унаследовано от IterableOnce

Источник
def last: A1

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

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

Возвращает

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

Выбрасывает
NoSuchElementException

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

Унаследовано от IterableOps

Источник
def lastOption: Option[A1]

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

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

Возвращает

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

Унаследовано от IterableOps

Источник
def lazyZip[B](that: Iterable[B]): LazyZip2[A1, B, LeftPartitionMapped[A, A1, A2]]

Аналогично 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

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

Возвращает

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

Унаследовано от Iterable

Источник
def map[B](f: A1 => B): View[B]

Унаследовано от IterableOps

Источник
def max[B >: A1](implicit ord: Ordering[B]): A1

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

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

Параметры типа
B

Тип, по которому определено упорядочение.

Параметры значения
ord

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

Возвращает

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

Выбрасывает
UnsupportedOperationException

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

Унаследовано от IterableOnceOps

Источник
def maxBy[B](f: A1 => B)(implicit cmp: Ordering[B]): A1

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

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

Параметры типа
B

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

Параметры значения
cmp

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

f

Функция измерения.

Возвращает

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

Выбрасывает
UnsupportedOperationException

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

Унаследовано от IterableOnceOps

Источник
def maxByOption[B](f: A1 => B)(implicit cmp: Ordering[B]): Option[A1]

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

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

Тип параметров
B

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

Параметры значения
cmp

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

f

Функция измерения.

Возвращает

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

Унаследовано от IterableOnceOps

Источник
def maxOption[B >: A1](implicit ord: Ordering[B]): Option[A1]

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

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

Тип параметров
B

Тип, по которому определяется порядок.

Параметры значения
ord

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

Возвращает

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

Унаследовано от IterableOnceOps

Источник
def min[B >: A1](implicit ord: Ordering[B]): A1

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

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

Тип параметров
B

Тип, по которому определяется порядок.

Параметры значения
ord

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

Возвращает

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

Выбрасывает
UnsupportedOperationException

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

Унаследовано от IterableOnceOps

Источник
def minBy[B](f: A1 => B)(implicit cmp: Ordering[B]): A1

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

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

Тип параметров
B

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

Параметры значения
cmp

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

f

Функция измерения.

Возвращает

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

Выбрасывает
UnsupportedOperationException

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

Унаследовано от IterableOnceOps

Источник
def minByOption[B](f: A1 => B)(implicit cmp: Ordering[B]): Option[A1]

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

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

Тип параметров
B

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

Параметры значения
cmp

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

f

Функция измерения.

Возвращает

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

Унаследовано от IterableOnceOps

Источник
def minOption[B >: A1](implicit ord: Ordering[B]): Option[A1]

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

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

Параметры типа
B

Тип, по которому определяется упорядочение.

Параметры значения
ord

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

Возвращает

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

Унаследовано от IterableOnceOps

Источник@inline
final def mkString: String

Отображает все элементы этого набора в строке.

Делегирует addString, который можно переопределить.

Возвращает

строковое представление этого набора. В результирующей строке строковые представления (относительно метода toString) всех элементов этого набора следуют друг за другом без разделителя.

Унаследовано от IterableOnceOps

Источник@inline
final def mkString(sep: String): String

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

Делегирует addString, который можно переопределить.

Параметры значения
sep

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

Возвращает

строковое представление этого набора. В результирующей строке строковые представления (относительно метода toString) всех элементов этого набора разделены строкой sep.

Пример

List(1, 2, 3).mkString("|") = "1|2|3"

Унаследовано от IterableOnceOps

Источник
final def mkString(start: String, sep: String, end: String): String

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

Делегирует addString, который можно переопределить.

Параметры значения
end

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

sep

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

start

начальная строка.

Возвращает

строковое представление этого набора. Результирующая строка начинается со строки start и заканчивается строкой end. Внутри строковые представления (относительно метода toString) всех элементов этого набора разделены строкой sep.

Пример

List(1, 2, 3).mkString("(", "; ", ")") = "(1; 2; 3)"

Унаследовано от IterableOnceOps

Источник
protected def newSpecificBuilder: Builder[A1, View[A1]]

Унаследовано от IterableFactoryDefaults

Источник@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
def nonEmpty: Boolean

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

Возвращает

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

Унаследовано от IterableOnceOps

Источник
def partition(p: A1 => Boolean): (View[A1], View[A1])

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

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

Унаследовано от IterableOps

Источник
def partitionMap[A1, A2](f: A1 => 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

Возвращает

пару итерируемых коллекций: первая состоит из тех значений, которые возвращаются функцией f, обернутых в scala.util.Left, а вторая — из тех, что обернуты в scala.util.Right.

Унаследовано от IterableOps

Источник
def product[B >: A1](implicit num: Numeric[B]): B

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

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

Параметры типа
B

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

Параметры значения
num

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

Возвращает

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

Унаследовано от IterableOnceOps

Источник
def reduce[B >: A1](op: (B, B) => B): B

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

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

Параметры типа
B

тип параметра бинарного оператора, сверхтип A.

Параметры значения
op

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

Возвращает

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

Выбрасывает
UnsupportedOperationException

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

Унаследовано от IterableOnceOps

Источник
def reduceLeft[B >: A1](op: (B, A1) => B): B

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

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

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

Параметры типа
B

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

Параметры значения
op

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

Возвращает

результат вставки op между последовательными элементами этой коллекции слева направо: op( op( ... op(x1, x2) ..., xn-1), xn) где x1, ..., xn — это элементы этой коллекции.

Выбрасывает
UnsupportedOperationException

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

Унаследовано от IterableOnceOps

Источник
def reduceLeftOption[B >: A1](op: (B, A1) => B): Option[B]

Возможная применённая бинарного оператора ко всем элементам этой коллекции слева направо.

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

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

Параметры типа
B

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

Параметры значения
op

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

Возвращает

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

Унаследовано от IterableOnceOps

Источник
def reduceOption[B >: A1](op: (B, B) => B): Option[B]

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

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

Параметры типа
B

тип параметра бинарного оператора, сверхтип A.

Параметры значения
op

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

Возвращает

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

Унаследовано от IterableOnceOps

Источник
def reduceRight[B >: A1](op: (A1, B) => B): B

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

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

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

Параметры типа
B

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

Параметры значения
op

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

Возвращает

результат вставки op между последовательными элементами этой коллекции справа налево: op(x1, op(x2, ..., op(xn-1, xn)...)) где x1, ..., xn — это элементы этой коллекции.

Выбрасывает
UnsupportedOperationException

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

Унаследовано от IterableOnceOps

Источник
def reduceRightOption[B >: A1](op: (A1, B) => B): Option[B]

Возможная применённая бинарного оператора ко всем элементам этой коллекции справа налево.

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

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

Параметры типа
B

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

Параметры значения
op

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

Возвращает

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

Унаследовано от IterableOnceOps

Источник
protected def reversed: Iterable[A1]

Унаследовано от IterableOnceOps

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

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

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

Параметры типа
B

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

Параметры значения
op

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

z

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

Возвращает

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

Унаследовано от IterableOps

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

Унаследовано от IterableOps

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

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

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

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

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

Пример:

List(1, 2, 3, 4).scanRight(0)(_ + _) == List(10, 9, 7, 4, 0)
Параметры типа
B

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

Параметры значения
op

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

z

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

Возвращает

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

Унаследовано от IterableOps

Source
def size: Int

Размер этой коллекции.

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

Возвращает

количество элементов в этой коллекции.

Унаследовано от IterableOnceOps

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

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

Параметры значения
that

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

Возвращает

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

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

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

Унаследовано от IterableOps

Source
def sizeCompare(otherSize: Int): Int

Сравнивает размер этого итерируемого набора со значением теста.

Параметры значения
otherSize

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

Возвращает

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

x <  0       if this.size <  otherSize
x == 0       if this.size == otherSize
x >  0       if this.size >  otherSize

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

См. также

sizeIs

Унаследовано от IterableOps

Исходный код@inline
final def sizeIs: SizeCompareOps

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

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

this.sizeIs < size     // this.sizeCompare(size) < 0
this.sizeIs <= size    // this.sizeCompare(size) <= 0
this.sizeIs == size    // this.sizeCompare(size) == 0
this.sizeIs != size    // this.sizeCompare(size) != 0
this.sizeIs >= size    // this.sizeCompare(size) >= 0
this.sizeIs > size     // this.sizeCompare(size) > 0
Унаследовано от IterableOps

Исходный код
def slice(from: Int, until: Int): View[A1]

Унаследовано от IterableOps

Исходный код
def sliding(size: Int, step: Int): Iterator[View[A1]]

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

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

Параметры значения
size

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

step

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

Возвращает

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

См. также

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

Пример

List(1, 2, 3, 4, 5).sliding(2, 2) = Iterator(List(1, 2), List(3, 4), List(5))

List(1, 2, 3, 4, 5, 6).sliding(2, 3) = Iterator(List(1, 2), List(4, 5))

Унаследовано от IterableOps

Исходный код
def sliding(size: Int): Iterator[View[A1]]

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

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

Параметры значения
size

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

Возвращает

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

См. также

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

Пример

List().sliding(2) = empty iterator

List(1).sliding(2) = Iterator(List(1))

List(1, 2).sliding(2) = Iterator(List(1, 2))

List(1, 2, 3).sliding(2) = Iterator(List(1, 2), List(2, 3))

Унаследовано от IterableOps

Исходный код
def span(p: A1 => Boolean): (View[A1], View[A1])

Унаследовано от IterableOps

Исходный код
override def splitAt(n: Int): (View[A1], View[A1])

Классы определения IterableOps -> IterableOnceOps
Унаследовано от IterableOps

Источник
def stepper[S <: Stepper[_]](implicit shape: StepperShape[A1, S]): S

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

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

Неявный параметр scala.collection.StepperShape определяет тип возвращаемого Stepper в соответствии с типом элементов этого набора.

  • Для наборов типа Int, Short, Byte или Char, возвращается scala.collection.IntStepper

  • Для наборов типа Double или Float, возвращается scala.collection.DoubleStepper

  • Для наборов типа Long возвращается scala.collection.LongStepper

  • Для любого другого типа элементов возвращается scala.collection.AnyStepper

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

Унаследовано от IterableOnce

Источник
def sum[B >: A1](implicit num: Numeric[B]): B

Суммирует элементы этого набора.

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

Параметры типа
B

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

Параметры значения
num

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

Возвращает

сумма всех элементов этого набора относительно оператора + в num.

Унаследовано от IterableOnceOps

Источник
def tail: View[A1]

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

Унаследовано от IterableOps

Источник
def tails: Iterator[View[A1]]

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

Возвращает

итератор по всем хвостам этого набора

Пример

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

Унаследовано от IterableOps

Источник
def take(n: Int): View[A1]

Унаследовано от IterableOps

Источник
def takeRight(n: Int): View[A1]

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

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

Параметры значения
n

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

Возвращает

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

Унаследовано от IterableOps

Источник
def takeWhile(p: A1 => Boolean): View[A1]

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

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

Параметры значения
p

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

Возвращает

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

Унаследовано от IterableOps

Источник
override def tapEach[U](f: A1 => U): View[A1]

Классы определения IterableOps -> IterableOnceOps
Унаследовано от IterableOps

Источник
def to[C1](factory: Factory[A1, C1]): C1

При заданном фабрике наборов factory, преобразует этот набор в соответствующее представление для текущего типа элементов A. Примеры использования:

xs.to(List) xs.to(ArrayBuffer) xs.to(BitSet) // для xs: Iterable[Int]

Унаследовано от IterableOnceOps

Источник
def toArray[B >: A1 : ClassTag]: Array[B]

Преобразовать набор в массив.

Примечание реализации: НЕ вызывайте Array.from из этого метода.

Унаследовано от IterableOnceOps

Источник@inline
final def toBuffer[B >: A1]: Buffer[B]

Унаследовано от IterableOnceOps

Источник
def toIndexedSeq: IndexedSeq[A1]

Унаследовано от IterableOnceOps

Источник
def toList: List[A1]

Унаследовано от IterableOnceOps

Источник
def toMap[K, V](implicit ev: A1 <:< (K, V)): Map[K, V]

Унаследовано от IterableOnceOps

Источник
def toSeq: Seq[A1]

Возвращает

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

Унаследовано от IterableOnceOps

Источник
def toSet[B >: A1]: Set[B]

Унаследовано от IterableOnceOps

Источник
override def toString: String

Классы-предки View -> Iterable -> Any
Унаследовано от View

Источник
def toVector: Vector[A1]

Унаследовано от IterableOnceOps

Источник
def transpose[B](implicit asIterable: A1 => 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-й столбец этого итерируемого множества.

Исключения
IllegalArgumentException

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

Унаследовано от IterableOps

Источник
def unzip[A1, A2](implicit asPair: A1 => (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: A1 => (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

Источник
override def view: View[A1]

Классы-предки View -> IterableOps
Унаследовано от View

Источник
def withFilter(p: A1 => Boolean): WithFilter[A1, View]

Создает нестрогое фильтрацию этого итерируемого множества.

Примечание: разница между c filter p и c withFilter p заключается в том, что первый создает новое множество, а второй только ограничивает область последующих map, flatMap, foreach, и withFilter операций.

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

Параметры значения
p

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

Возвращает

объект класса WithFilter, который поддерживает map, flatMap, foreach, и withFilter операции. Все эти операции применяются к элементам этого итерируемого множества, удовлетворяющим предикату p.

Унаследовано от IterableOps

Источник
def zip[B](that: IterableOnce[B]): View[(A1, B)]

Возвращает итерируемое множество, сформированное из этого итерируемого множества и другого итерируемого множества, объединяя соответствующие элементы в пары. Если одно из двух множеств длиннее другого, оставшиеся элементы игнорируются.

Параметры типа
B

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

Параметры значения
that

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

Возвращает

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

Унаследовано от IterableOps

Источник
def zipAll[A1 >: A1, B](that: Iterable[B], thisElem: A1, thatElem: B): View[(A1, B)]

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

Параметры значения
that

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

thatElem

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

thisElem

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

Возвращает

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

Унаследовано от IterableOps

Источник
def zipWithIndex: View[(A1, Int)]

Унаследовано от IterableOps

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/collection/View$$LeftPartitionMapped.html

Spec-Zone.ru

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