Spec-Zone.ru › Scala 3.1

Класс scala.collection.ArrayOps

Объект-компаньон • Исходный код

final class ArrayOps[A](xs: Массив[A]) extends AnyVal

Этот класс служит оболочкой для Arrays со многими операциями, присутствующими в индексированных последовательностях. По мере необходимости, экземпляры массивов неявно преобразуются в этот класс. Обычно нет необходимости создавать экземпляр явно или использовать ArrayOps тип. Лучше работать с обычными Array типами и полагаться на неявное преобразование в ArrayOps при вызове метода (который фактически не выделяет экземпляр ArrayOps из-за того, что это класс-значение).

Ни Array ни ArrayOps не являются надлежащими типами коллекций (т.е. они не расширяют Iterable или даже IterableOnce). mutable.ArraySeq и immutable.ArraySeq служат для этой цели.

Разница между этим классом и ArraySeqs заключается в том, что вызов методов преобразования, таких как filter и map, приведет к массиву, тогда как ArraySeq останется ArraySeq.

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

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

Наследники
класс AnyVal
тракт Matchable
класс Any

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

Исходный код@inline
final def ++[B >: A : ClassTag](xs: IterableOnce[B]): Массив[B]

Исходный код@inline
final def ++[B >: A : ClassTag](xs: Массив[_ <: B]): Массив[B]

Исходный код@inline
final def ++:[B >: A : ClassTag](prefix: IterableOnce[B]): Массив[B]

Исходный код@inline
final def ++:[B >: A : ClassTag](prefix: Массив[_ <: B]): Массив[B]

Исходный код@inline
final def +:[B >: A : ClassTag](x: B): Массив[B]

Исходный код@inline
final def :+[B >: A : ClassTag](x: B): Массив[B]

Исходный код@inline
final def :++[B >: A : ClassTag](suffix: IterableOnce[B]): Массив[B]

Исходный код@inline
final def :++[B >: A : ClassTag](suffix: Массив[_ <: B]): Массив[B]

Исходный код
def appended[B >: A : ClassTag](x: B): Массив[B]

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

Исходный код
def appendedAll[B >: A : ClassTag](suffix: IterableOnce[B]): Массив[B]

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

Исходный код
def appendedAll[B >: A : ClassTag](suffix: Array[_ <: B]): Array[B]

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

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

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

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

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

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

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

Возвращает

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

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

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

Исходный код
def combinations(n: Int): Iterator[Array[A]]

Итерируется по комбинациям. _Комбинация_ длины n — это подпоследовательность исходного массива, элементы которой взяты в порядке следования. Таким образом, Array("x", "y") и Array("y", "y") являются комбинациями длины 2 массива Array("x", "y", "y"), но Array("y", "x") — нет. Если существует более одного способа генерировать одну и ту же подпоследовательность, будет возвращён только один.

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

Возвращает

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

Пример
Array("a", "b", "b", "b", "c").combinations(2) == Iterator(Array(a, b), Array(a, c), Array(b, b), Array(b, c))

Исходный код@inline
final def concat[B >: A : ClassTag](suffix: IterableOnce[B]): Array[B]

Исходный код@inline
final def concat[B >: A : ClassTag](suffix: Array[_ <: B]): Array[B]

Исходный код
def contains(elem: A): Boolean

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

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

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

Возвращает

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

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

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

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

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

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

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

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

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

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

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

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

начальный индекс в целевом массиве.

xs

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

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

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

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

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

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

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

start

начальный индекс в целевом массиве.

xs

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

Исходный код
def count(p: A => Boolean): Int

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

Исходный код
def diff[B >: A](that: Seq[B]): Array[A]

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

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

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

Возвращает

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

Исходный код
def distinct: Array[A]

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

Возвращает

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

Исходный код
def distinctBy[B](f: A => B): Array[A]

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

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

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

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

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

Возвращает

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

Исходный код
def drop(n: Int): Array[A]

Остальная часть массива без первых n элементов.

Исходный код
def dropRight(n: Int): Array[A]

Остальная часть массива без последних n элементов.

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

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

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

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

Возвращает

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

Исходный код
def endsWith[B >: A](that: Array[B]): Boolean

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

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

массив для проверки

Возвращает

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

Исходный код
def endsWith[B >: A](that: Iterable[B]): Boolean

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

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

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

Возвращает

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

Исходный код
def exists(@deprecatedName("f", "2.13.3") p: A => Boolean): Boolean

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

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

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

Возвращает

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

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

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

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

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

Возвращает

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

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

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

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

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

Возвращает

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

Исходный код
def find(@deprecatedName("f", "2.13.3") p: A => Boolean): Option[A]

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

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

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

Возвращает

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

END_OF_DOCUMENT_MARKER

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

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

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

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

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

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

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

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

Source
def flatMap[BS, B](f: A => BS)(implicit asIterable: BS => Iterable[B], m: ClassTag[B]): Array[B]

Source
def flatten[B](implicit asIterable: A => IterableOnce[B], m: ClassTag[B]): Array[B]

Разворачивает двумерный массив, конкатенируя все его строки в один массив.

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

Тип элементов строки.

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

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

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

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

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

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

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

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

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

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

z

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

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

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

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

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

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

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

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

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

z

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

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

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

op(...op(z, x_1), x_2, ..., x_n)

где x1, ..., xn — элементы этого массива. Возвращает z если этот массив пуст.

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

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

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

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

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

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

z

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

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

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

op(x_1, op(x_2, ... op(x_n, z)...))

где x1, ..., xn — элементы этого массива. Возвращает z если этот массив пуст.

Source
def forall(@deprecatedName("f", "2.13.3") p: A => Boolean): Boolean

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Source
def groupMap[K, B : ClassTag](key: A => K)(f: A => B): Map[K, Array[B]]

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

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

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

def namesByAge(users: Array[User]): Map[Int, Array[String]] =
  users.groupMap(_.age)(_.name)
Параметры типа
B

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

K

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

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

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

key

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

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

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

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

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

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

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

См. также

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

Source
def head: A

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

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

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

Исключения
NoSuchElementException

если массив пуст.

Source
def headOption: Option[A]

Возвращает первый элемент, если он существует.

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

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

Source
def indexOf(elem: A, from: Int): Int

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

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

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

from

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

Возвращает

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

Источник
def indexWhere(@deprecatedName("f", "2.13.3") p: A => Boolean, from: Int): Int

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

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

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

p

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

Возвращает

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

Источник
def indices: Range

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

Возвращает

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

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

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

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

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

Возвращает

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

Источник
def intersect[B >: A](that: Seq[B]): Array[A]

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

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

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

Возвращает

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

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

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

Возвращает

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

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

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

Размер этого массива.

Возвращает

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

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

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

Возвращает

Последний элемент этого массива.

Исключение
NoSuchElementException

Если массив пуст.

Источник
def lastIndexOf(elem: A, end: Int): Int

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

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

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

end

индекс окончания.

Возвращает

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

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

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

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

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

Возвращает

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

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

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

Возвращает

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

Источник
def lazyZip[B](that: Iterable[B]): LazyZip2[A, B, Array[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)].

Источник
def lengthCompare(len: Int): Int

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

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

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

Возвращает

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

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

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

Метод, отображающий SeqOps.lengthIs для согласованности, за исключением того, что он возвращает Int, потому что length известно и сравнение выполняется за постоянное время.

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

this.lengthIs < len     // this.lengthCompare(len) < 0
this.lengthIs <= len    // this.lengthCompare(len) <= 0
this.lengthIs == len    // this.lengthCompare(len) == 0
this.lengthIs != len    // this.lengthCompare(len) != 0
this.lengthIs >= len    // this.lengthCompare(len) >= 0
this.lengthIs > len     // this.lengthCompare(len) > 0

Источник
def map[B](f: A => B)(implicit ct: ClassTag[B]): Array[B]

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

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

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

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

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

Возвращает

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

Источник
def mapInPlace(f: A => A): Array[A]

Source@inline
def nonEmpty: Boolean

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

Возвращает

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

Source
def padTo[B >: A : ClassTag](len: Int, elem: B): Array[B]

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

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

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

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

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

len

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

Возвращает

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

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

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

Source
def partitionMap[A1 : ClassTag, A2 : ClassTag](f: A => Either[A1, A2]): (Array[A1], Array[A2])

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

Пример:

val xs = Array(1, "one", 2, "two", 3, "three") partitionMap {
 case i: Int => Left(i)
 case s: String => Right(s)
}
// xs == (Array(1, 2, 3),
//        Array(one, two, three))
Параметры типа
A1

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

A2

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

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

функция 'разделения', отображающая элементы этого массива в scala.util.Either

Возвращает

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

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

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

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

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

other

Значения замены

replaced

Количество значений в исходном массиве, которые заменяются заменой.

Source
def permutations: Iterator[Array[A]]

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

Возвращает

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

Пример
Array("a", "b", "b").permutations == Iterator(Array(a, b, b), Array(b, a, b), Array(b, b, a))

Source
def prepended[B >: A : ClassTag](x: B): Array[B]

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

Source
def prependedAll[B >: A : ClassTag](prefix: IterableOnce[B]): Array[B]

Копия этого массива со всеми элементами коллекции в начале.

Source
def prependedAll[B >: A : ClassTag](prefix: Array[_ <: B]): Array[B]

Копия этого массива со всеми элементами массива в начале.

Source@inline
def reverse: Array[A]

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

Source
def reverseIterator: Iterator[A]

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

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

Возвращает

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

Source
def scan[B >: A : ClassTag](z: B)(op: (B, B) => B): Array[B]

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

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

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

тип элемента результирующего массива

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

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

z

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

Возвращает

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

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

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

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

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

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

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

z

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

Возвращает

массив с промежуточными значениями. Пример:

Array(1, 2, 3, 4).scanLeft(0)(_ + _) == Array(0, 1, 3, 6, 10)

Source
def scanRight[B : ClassTag](z: B)(op: (A, B) => B): Array[B]

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

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

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

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

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

z

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

Возвращает

массив с промежуточными значениями. Пример:

Array(4, 3, 2, 1).scanRight(0)(_ + _) == Array(10, 6, 3, 1, 0)

Source@inline
def size: Int

Размер этого массива.

Возвращает

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

Source
def sizeCompare(otherSize: Int): Int

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

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

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

Возвращает

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

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

Source
def sizeIs: Int

Метод, отражающий SeqOps.sizeIs для согласованности, за исключением того, что он возвращает Int потому что size известно и сравнение выполняется за константное время.

Эти операции эквивалентны 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

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

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

from <= indexOf(x) < until
Параметры значения
from

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

until

наименьший индекс для ИСКЛЮЧЕНИЯ из этого массива.

Возвращает

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

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

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

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

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

step

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

Возвращает

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

См. также

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

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

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

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

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

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

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

ord

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

Возвращает

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

См. также

scala.math.Ordering

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

Сортирует этот массив в соответствии с функцией сравнения.

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

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

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

Возвращает

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

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

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

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

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

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

Возвращает

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

См. также

scala.math.Ordering

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

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

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

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

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

Возвращает

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

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

Разделяет этот массив на два в заданной позиции. Примечание: c splitAt n эквивалентно (c take n, c drop n).

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

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

Возвращает

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

Source@inline
def startsWith[B >: A](that: Array[B]): Boolean

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

Source
def startsWith[B >: A](that: Array[B], offset: Int): Boolean

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

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

индекс, где ищется массив.

that

массив для проверки

Возвращает

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

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

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

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

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

that

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

Возвращает

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

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

Source
def tail: Array[A]

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

Source
def tails: Iterator[Array[A]]

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

Возвращает

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

Source
def take(n: Int): Array[A]

Массив, содержащий первые n элементы этого массива.

Source
def takeRight(n: Int): Array[A]

Массив, содержащий последние n элементов этого массива.

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

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

Параметры
p

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

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

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

Source
def toArray[B >: A : ClassTag]: Array[B]

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

Source
def toIndexedSeq: IndexedSeq[A]

Source@inline
final def toSeq: Seq[A]

Source
def transpose[B](implicit asArray: A => Array[B]): Array[Array[B]]

Транспонирует двумерный массив.

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

Тип элементов строки.

Параметры
asArray

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

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

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

Source
def unzip[A1, A2](implicit asPair: A => (A1, A2), ct1: ClassTag[A1], ct2: ClassTag[A2]): (Array[A1], Array[A2])

Преобразует массив пар в массив первых элементов и массив вторых элементов.

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

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

A2

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

Параметры
asPair

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

ct1

тэг класса для A1 параметра типа, необходимый для создания экземпляра Array[A1]

ct2

тэг класса для A2 параметра типа, необходимый для создания экземпляра Array[A2]

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

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

Source
def unzip3[A1, A2, A3](implicit asTriple: A => (A1, A2, A3), ct1: ClassTag[A1], ct2: ClassTag[A2], ct3: ClassTag[A3]): (Array[A1], Array[A2], Array[A3])

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

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

тип первого из трёх элементов тройки

A2

тип второго из трёх элементов тройки

A3

тип третьего из трёх элементов тройки

Параметры
asTriple

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

ct1

тэг класса для параметра типа T1, необходимый для создания экземпляра Array[T1]

ct2

тэг класса для параметра типа T2, необходимый для создания экземпляра Array[T2]

ct3

тэг класса для параметра типа T3, необходимый для создания экземпляра Array[T3]

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

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

Source
def updated[B >: A : ClassTag](index: Int, elem: B): Array[B]

Копия этого массива с заменённым элементом.

Параметры
elem

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

index

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

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

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

Исключения
IndexOutOfBoundsException

если index не удовлетворяет 0 <= index < length.

Source@inline
def view: IndexedSeqView[A]

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

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

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

Параметры
p

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

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

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

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

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

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

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

Параметры
that

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

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

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

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

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

Параметры
that

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

thatElem

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

thisElem

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

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

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

Source
def zipWithIndex: Array[(A, Int)]

Сжимает этот массив со своими индексами.

Возвращает

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

© 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/ArrayOps.html

Spec-Zone.ru

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