Spec-Zone.ru › Scala 3.2

Класс ArrayOps.ArrayOps

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

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

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

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

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

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

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

Надтипы
класс AnyVal
тракт Matchable
класс Any

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

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

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

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

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

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

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

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

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

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

END_OF_DOCUMENT_MARKER

Source
def appendedAll[B >: A : ClassTag](suffix: Array[_ <: B]): Array[B]

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

Source
def collect[B : ClassTag](pf: PartialFunction[A, B]): Array[B]

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

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

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

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

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

Возвращает

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

Source
def collectFirst[B](f: PartialFunction[A, B]): Option[B]

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

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

Source
final def concat[B >: A : ClassTag](suffix: IterableOnce[B]): Array[B]

Source
final def concat[B >: A : ClassTag](suffix: Array[_ <: B]): Array[B]

Source
def contains(elem: A): Boolean

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

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

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

Возвращает

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

Source
def copyToArray[B >: A](xs: Array[B]): Int

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

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

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

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

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

Source
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(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(p: A => Boolean): Option[A]

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

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

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

Возвращает

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

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

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

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

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

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

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

Возвращает

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

END_OF_DOCUMENT_MARKER

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

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

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

результат применения оператора fold 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(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, если элементы не делятся на 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, если такой элемент не найден.

Source
def indexWhere(p: A => Boolean, from: Int): Int

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

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

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

p

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

Возвращает

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

Source
def indices: Range

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

Возвращает

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

Source
def init: Array[A]

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

Source
def inits: Iterator[Array[A]]

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

Возвращает

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

Source
def intersect[B >: A](that: Seq[B]): Array[A]

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

Параметры
that

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

Возвращает

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

Source
def isEmpty: Boolean

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

Возвращает

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

Source
def iterator: Iterator[A]

Source
def knownSize: Int

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

Возвращает

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

Source
def last: A

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

Возвращает

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

Исключения
NoSuchElementException

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

Source
def lastIndexOf(elem: A, end: Int): Int

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

Параметры
elem

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

end

индекс конца.

Возвращает

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

Source
def lastIndexWhere(p: A => Boolean, end: Int): Int

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

Параметры
p

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

Возвращает

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

Source
def lastOption: Option[A]

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

Возвращает

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

Source
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)].

Source
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

Source
def lengthIs: Int

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

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

Source
def map[B](f: A => B)(implicit ct: ClassTag[B]): Array[B]

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

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

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

Параметры
f

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

Возвращает

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

Source
def mapInPlace(f: A => A): Array[A]

Source
def nonEmpty: Boolean

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

Возвращает

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

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

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

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

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

Параметры
elem

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

len

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

Возвращает

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

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

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

Источник
def partitionMap[A1 : ClassTag, A2 : ClassTag](f: A => Either[A1, A2]): (Массив[A1], Массив[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.

Источник
def patch[B >: A : ClassTag](from: Int, other: IterableOnce[B], replaced: Int): Массив[B]

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

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

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

other

Значения вставки

replaced

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

Источник
def permutations: Итератор[Массив[A]]

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

Возвращает

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

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

Источник
def prepended[B >: A : ClassTag](x: B): Массив[B]

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

Источник
def prependedAll[B >: A : ClassTag](prefix: IterableOnce[B]): Массив[B]

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

Источник
def prependedAll[B >: A : ClassTag](prefix: Массив[_ <: B]): Массив[B]

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

Источник
def reverse: Массив[A]

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

Источник
def reverseIterator: Итератор[A]

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

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

Возвращает

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

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

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

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

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

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

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

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

z

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

Возвращает

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

Источник
def scanLeft[B : ClassTag](z: B)(op: (B, A) => B): Массив[B]

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

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

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

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

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

z

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

Возвращает

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

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

Источник
def scanRight[B : ClassTag](z: B)(op: (A, B) => B): Массив[B]

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

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

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

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

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

z

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

Возвращает

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

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

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

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

Возвращает

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

Источник
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

Источник
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

Источник
def slice(from: Int, until: Int): Массив[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
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]

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

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

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

Источник
def transpose[B](implicit asArray: A => Массив[B]): Массив[Массив[B]]

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

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

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

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

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

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

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

Источник
def unzip[A1, A2](implicit asPair: A => (A1, A2), ct1: ClassTag[A1], ct2: ClassTag[A2]): (Массив[A1], Массив[A2])

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

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

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

A2

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

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

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

ct1

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

ct2

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

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

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

Источник
def unzip3[A1, A2, A3](implicit asTriple: A => (A1, A2, A3), ct1: ClassTag[A1], ct2: ClassTag[A2], ct3: ClassTag[A3]): (Массив[A1], Массив[A2], Массив[A3])

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

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

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

A2

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

A3

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

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

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

ct1

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

ct2

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

ct3

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

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

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

Источник
def updated[B >: A : ClassTag](index: Целое, elem: B): Массив[B]

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

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

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

index

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

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

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

Исключения
IndexOutOfBoundsException

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

Источник
def view: IndexedSeqView[A]

Источник
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.

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

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

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

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

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

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

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

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

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

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

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

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

thatElem

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

thisElem

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

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

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

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

Объединяет этот массив со своими индексами.

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

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

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

Spec-Zone.ru

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