Spec-Zone.ru › Scala 3.1

Класс scala.collection.DropRight

Исходный код

@SerialVersionUID(3L)
class DropRight[A](underlying: SomeIterableOps[A], n: Int) extends AbstractView[A]

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

Предки
класс AbstractView[A]
интерфейс View[A]
интерфейс Serializable
класс AbstractIterable[A]
интерфейс Iterable[A]
интерфейс IterableFactoryDefaults[A, View]
интерфейс IterableOps[A, View, View[A]]
интерфейс IterableOnceOps[A, View, View[A]]
интерфейс IterableOnce[A]
класс Object
интерфейс Matchable
класс Any
Известные подклассы
класс DropRight[A]
класс DropRight[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]

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

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

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

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

список для добавления.

Возвращает

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

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

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

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

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

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

Тип параметров
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.

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

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

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

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

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

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

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

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

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

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

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

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

Source
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, DropRight[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

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

Возвращает

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

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

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

Находит максимальный элемент.

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

class="attributes">
Параметры типа
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.

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

f

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

Возвращает

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

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

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

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

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

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

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

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

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

Возвращает

Значение option, содержащее минимальный элемент этой коллекции по отношению к упорядочению ord.

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

Source@inline
final def mkString: String

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

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

class="attributes">
Возвращает

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

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

Исходный код@inline
final def mkString(sep: String): String

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

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

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

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

Возвращает

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

Пример

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

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

Исходный код
final def mkString(start: String, sep: String, end: String): String

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

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

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

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

sep

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

start

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

Возвращает

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

Пример

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

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

Исходный код
protected def newSpecificBuilder: Builder[A, View[A]]

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

Исходный код@deprecatedOverriding("nonEmpty is defined as !isEmpty; override isEmpty instead", "2.13.0")
def nonEmpty: Boolean

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

class="attributes">
Возвращает

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

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

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

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

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

class="attributes">
Унаследовано от 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, содержащее результат применения оператора reduce 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

Исходный код
def scanLeft[B](z: B)(op: (B, A) => B): View[B]

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

Исходный код
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

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

Размер этого набора.

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

Возвращает

количество элементов в этом наборе.

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

Исходный код
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

Исходный код
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[A]

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

Исходный код
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

Исходный код
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

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

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

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

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

Исходный код
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. Для Steppers, помеченных как scala.collection.Stepper.EfficientSplit, преобразователи из scala.jdk.StreamConverters позволяют создавать параллельные потоки, тогда как обычные Steppers могут быть преобразованы только в последовательные потоки.

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

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

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

Source
def toVector: Vector[A]

Inherited from IterableOnceOps

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

Транспонирует это итерируемое множество итерируемых множеств в итерируемое множество итерируемых множеств.

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

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

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

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

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

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

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

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

Возвращает

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

Исключения
IllegalArgumentException

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

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

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

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

val xs = Iterable(
           (1, "one"),
           (2, "two"),
           (3, "three")).unzip
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three))
Параметры типа
A1

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

A2

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

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

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

Возвращает

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

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

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

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

val xs = Iterable(
           (1, "one", '1'),
           (2, "two", '2'),
           (3, "three", '3')).unzip3
// xs == (Iterable(1, 2, 3),
//        Iterable(one, two, three),
//        Iterable(1, 2, 3))
Параметры типа
A1

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

A2

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

A3

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

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

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

Возвращает

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

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

Source
override def view: View[A]

Классы определений View -> IterableOps
Наследуется от View

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

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

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

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

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

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

Возвращает

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

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

Source
def zip[B](that: IterableOnce[B]): View[(A, B)]

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

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

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

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

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

Возвращает

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

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

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

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

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

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

thatElem

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

thisElem

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

Возвращает

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

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

Source
def zipWithIndex: View[(A, 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$$DropRight.html

Spec-Zone.ru

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