Spec-Zone.ru › Scala 3.1

Класс scala.collection.Appended

Исходный код

@SerialVersionUID(3L)
class Appended[+A](underlying: SomeIterableOps[A], elem: A) extends AbstractView[A]

Представление, которое добавляет элемент к своим элементам

Предки
class AbstractView[A]
интерфейс View[A]
интерфейс Serializable
class AbstractIterable[A]
интерфейс Iterable[A]
интерфейс IterableFactoryDefaults[A, View]
интерфейс IterableOps[A, View, View[A]]
интерфейс IterableOnceOps[A, View, View[A]]
интерфейс IterableOnce[A]
class Object
интерфейс Matchable
class Any
Известные подтипы
class Appended[A]
class Appended[A]

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

Исходный код
override def isEmpty: Boolean

Классы определения IterableOnceOps

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

Исходный код
override def knownSize: Int

Классы определения IterableOnce

Наследованные методы

Исходный код@inline
final def ++[B >: A](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[A, B]): View[B]

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

Исходный код
def collectFirst[B](pf: PartialFunction[A, B]): Option[B]

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

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

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

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

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

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

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

Пример

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

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

Исходный код
def concat[B >: A](suffix: IterableOnce[B]): View[B]

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

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

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

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

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

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

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

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

Исходный код
def copyToArray[B >: A](xs: Array[B], start: Int, len: Int): Int

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

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

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

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

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

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

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

start

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

xs

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

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

xs

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

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

Возвращает

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

Примечание

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

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

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

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

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

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

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

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

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

that

другая коллекция

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

Источник
override def empty: View[A]

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

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

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

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

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

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

Возвращает

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

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

Источник
def filter(pred: A => Boolean): View[A]

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

Источник
def filterNot(pred: A => Boolean): View[A]

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

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

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

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

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

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

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

Возвращает

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

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

Source
def flatMap[B](f: A => IterableOnce[B]): View[B]

Inherited from IterableOps

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

Inherited from IterableOps

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

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

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

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

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

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

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

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

z

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

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

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

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

Source
def foldLeft[B](z: B)(op: (B, A) => B): B

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

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

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

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

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

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

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

z

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

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

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

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

Source
def foldRight[B](z: B)(op: (A, B) => B): B

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

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

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

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

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

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

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

z

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Inherited from IterableOnceOps

Source
protected def fromSpecific(coll: IterableOnce[A]): View[A]

Inherited from IterableFactoryDefaults

Source
def groupBy[K](f: A => K): Map[K, View[A]]

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

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

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

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

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

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

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

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

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

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

Inherited from IterableOps

Source
def groupMap[K, B](key: A => K)(f: A => 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

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

Inherited from IterableOps

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

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

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

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

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

Inherited from IterableOps

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

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

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

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

Возвращает

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

См. также

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

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

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

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

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

Возвращает

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

Бросает
NoSuchElementException

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Пример

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

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

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

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

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

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

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

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

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

Возвращает

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

Бросает
NoSuchElementException

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

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

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

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

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

Возвращает

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

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

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

Аналогично 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: A => B): View[B]

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

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

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

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

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

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

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

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

Возвращает

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

Бросает
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Бросает
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

Source
def maxOption[B >: A](implicit ord: Ordering[B]): Option[A]

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

Source
def minByOption[B](f: A => B)(implicit cmp: Ordering[B]): Option[A]

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

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

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

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

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

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

f

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

Возвращает

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

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

Source
def minOption[B >: A](implicit ord: Ordering[B]): Option[A]

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

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

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

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

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

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

Возвращает

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

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

Source@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[A, View[A]]

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

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

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

Возвращает

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

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

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

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

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

Унаследовано от 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

Возвращает

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

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

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

Произведение элементов этого набора.

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

Применяет бинарную операцию ко всем элементам этого набора слева направо.

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

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

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

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

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

бинарная операция.

Возвращает

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

Исключения
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

бинарная операция.

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

бинарная операция.

Возвращает

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

Исключение
UnsupportedOperationException

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

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

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

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

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

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

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

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

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

бинарная операция.

Возвращает

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

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

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

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

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

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

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

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

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

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

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

z

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

Возвращает

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

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

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

Inherited from IterableOps

Source
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

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

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

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

z

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

Возвращает

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

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

Source
def size: Int

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

x

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

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

Source
def sizeCompare(otherSize: Int): Int

Сравнивает размер этой коллекции с заданным значением.

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

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

Возвращает

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

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

Source@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

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

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

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

Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» над ними (в отличие от разделения на части, как это делается в 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

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

Группирует элементы в блоки фиксированного размера, пропуская «скользящее окно» над ними (в отличие от разделения на части, как это делается в 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

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

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

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

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

Source
def stepper[S <: Stepper[_]](implicit shape: StepperShape[A, 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. Для Степеров, помеченных scala.collection.Stepper.EfficientSplit, конвертеры из scala.jdk.StreamConverters позволяют создавать параллельные потоки, тогда как обычные Степеры могут быть преобразованы только в последовательные потоки.

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

Пример

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

Преобразовать коллекцию в массив.

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

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

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

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

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

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

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

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

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

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

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

Возвращает

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

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

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

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

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

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

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

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

Источник
def transpose[B](implicit asIterable: A => Iterable[B]): Вид[Вид[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: A => (A1, A2)): (Вид[A1], Вид[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)): (Вид[A1], Вид[A2], Вид[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: Вид[A]

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

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

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

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

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

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

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

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

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

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

Источник
def zip[B](that: IterableOnce[B]): Вид[(A, B)]

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

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

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

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

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

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

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

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

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

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

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

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

thatElem

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

thisElem

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

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

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

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

Источник
def zipWithIndex: Вид[(A, Целое)]

Унаследовано от 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$$Appended.html

Spec-Zone.ru

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