Array

object Array

Utility methods for operating on arrays. For example:

val a = Array(1, 2) val b = Array.ofDim[Int](2) val c = Array.concat(a, b)

where the array objects a, b and c have respectively the values Array(1, 2), Array(0, 0) and Array(1, 2, 0, 0).

Companion
class
Source
Array.scala
class Object
trait Matchable
class Any

Type members

Classlikes

final class UnapplySeqWrapper[T](a: Array[T]) extends AnyVal

Value members

Concrete methods

def apply[T](xs: T*)(`evidence$5`: ClassTag[T]): Array[T]

Creates an array with given elements.

Value Params
xs

the elements to put in the array

Returns

an array containing all elements from xs.

Source
Array.scala
def apply(x: Boolean, xs: Boolean*): Array[Boolean]

Creates an array of Boolean objects

def apply(x: Byte, xs: Byte*): Array[Byte]

Creates an array of Byte objects

def apply(x: Short, xs: Short*): Array[Short]

Creates an array of Short objects

def apply(x: Char, xs: Char*): Array[Char]

Creates an array of Char objects

def apply(x: Int, xs: Int*): Array[Int]

Creates an array of Int objects

def apply(x: Long, xs: Long*): Array[Long]

Creates an array of Long objects

def apply(x: Float, xs: Float*): Array[Float]

Creates an array of Float objects

def apply(x: Double, xs: Double*): Array[Double]

Creates an array of Double objects

def apply(x: Unit, xs: Unit*): Array[Unit]

Creates an array of Unit objects

def concat[T](xss: Array[T]*)(`evidence$11`: ClassTag[T]): Array[T]

Concatenates all arrays into a single array.

Value Params
xss

the given arrays

Returns

the array created from concatenating xss

Source
Array.scala
def copy(src: AnyRef, srcPos: Int, dest: AnyRef, destPos: Int, length: Int): Unit

Copy one array to another. Equivalent to Java's System.arraycopy(src, srcPos, dest, destPos, length), except that this also works for polymorphic and boxed arrays.

Note that the passed-in dest array will be modified by this call.

Value Params
dest

destination array.

destPos

starting position in the destination array.

length

the number of array elements to be copied.

src

the source array.

srcPos

starting position in the source array.

See also

java.lang.System#arraycopy

Source
Array.scala
def copyAs[A](original: Array[_], newLength: Int)(ct: ClassTag[A]): Array[A]

Copy one array to another, truncating or padding with default values (if necessary) so the copy has the specified length. The new array can have a different type than the original one as long as the values are assignment-compatible. When copying between primitive and object arrays, boxing and unboxing are supported.

Equivalent to Java's java.util.Arrays.copyOf(original, newLength, newType), except that this works for all combinations of primitive and object arrays in a single method.

See also

java.util.Arrays#copyOf

Source
Array.scala
def copyOf[A](original: Array[A], newLength: Int): Array[A]

Copy one array to another, truncating or padding with default values (if necessary) so the copy has the specified length.

Equivalent to Java's java.util.Arrays.copyOf(original, newLength), except that this works for primitive and object arrays in a single method.

See also

java.util.Arrays#copyOf

Source
Array.scala
def empty[T](`evidence$4`: ClassTag[T]): Array[T]

Returns an array of length 0

def equals(xs: Array[AnyRef], ys: Array[AnyRef]): Boolean

Compare two arrays per element.

A more efficient version of xs.sameElements(ys).

Note that arrays are invariant in Scala, but it may be sound to cast an array of arbitrary reference type to Array[AnyRef]. Arrays on the JVM are covariant in their element type.

Array.equals(xs.asInstanceOf[Array[AnyRef]], ys.asInstanceOf[Array[AnyRef]])

Value Params
xs

an array of AnyRef

ys

an array of AnyRef

Returns

true if corresponding elements are equal

Source
Array.scala
def fill[T](n: Int)(elem: => T)(`evidence$12`: ClassTag[T]): Array[T]

Returns an array that contains the results of some element computation a number of times.

Note that this means that elem is computed a total of n times:

scala> Array.fill(3){ math.random } res3: Array[Double] = Array(0.365461167592537, 1.550395944913685E-4, 0.7907242137333306)
Value Params
elem

the element computation

n

the number of elements desired

Returns

an Array of size n, where each element contains the result of computing elem.

Source
Array.scala
def fill[T](n1: Int, n2: Int)(elem: => T)(`evidence$13`: ClassTag[T]): Array[Array[T]]

Returns a two-dimensional array that contains the results of some element computation a number of times.

Value Params
elem

the element computation

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

Source
Array.scala
def fill[T](n1: Int, n2: Int, n3: Int)(elem: => T)(`evidence$14`: ClassTag[T]): Array[Array[Array[T]]]

Returns a three-dimensional array that contains the results of some element computation a number of times.

Value Params
elem

the element computation

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

n3

the number of elements in the 3rd dimension

Source
Array.scala
def fill[T](n1: Int, n2: Int, n3: Int, n4: Int)(elem: => T)(`evidence$15`: ClassTag[T]): Array[Array[Array[Array[T]]]]

Returns a four-dimensional array that contains the results of some element computation a number of times.

Value Params
elem

the element computation

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

n3

the number of elements in the 3rd dimension

n4

the number of elements in the 4th dimension

Source
Array.scala
def fill[T](n1: Int, n2: Int, n3: Int, n4: Int, n5: Int)(elem: => T)(`evidence$16`: ClassTag[T]): Array[Array[Array[Array[Array[T]]]]]

Returns a five-dimensional array that contains the results of some element computation a number of times.

Value Params
elem

the element computation

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

n3

the number of elements in the 3rd dimension

n4

the number of elements in the 4th dimension

n5

the number of elements in the 5th dimension

Source
Array.scala
def from[A](it: IterableOnce[A])(`evidence$3`: ClassTag[A]): Array[A]

Build an array from the iterable collection.

scala> val a = Array.from(Seq(1, 5)) val a: Array[Int] = Array(1, 5) scala> val b = Array.from(Range(1, 5)) val b: Array[Int] = Array(1, 2, 3, 4)
Value Params
it

the iterable collection

Returns

an array consisting of elements of the iterable collection

Source
Array.scala
def iterate[T](start: T, len: Int)(f: T => T)(`evidence$22`: ClassTag[T]): Array[T]

Returns an array containing repeated applications of a function to a start value.

Value Params
f

the function that is repeatedly applied

len

the number of elements returned by the array

start

the start value of the array

Returns

the array returning len values in the sequence start, f(start), f(f(start)), ...

Source
Array.scala
def ofDim[T](n1: Int)(`evidence$6`: ClassTag[T]): Array[T]

Creates array with given dimensions

def ofDim[T](n1: Int, n2: Int)(`evidence$7`: ClassTag[T]): Array[Array[T]]

Creates a 2-dimensional array

def ofDim[T](n1: Int, n2: Int, n3: Int)(`evidence$8`: ClassTag[T]): Array[Array[Array[T]]]

Creates a 3-dimensional array

def ofDim[T](n1: Int, n2: Int, n3: Int, n4: Int)(`evidence$9`: ClassTag[T]): Array[Array[Array[Array[T]]]]

Creates a 4-dimensional array

def ofDim[T](n1: Int, n2: Int, n3: Int, n4: Int, n5: Int)(`evidence$10`: ClassTag[T]): Array[Array[Array[Array[Array[T]]]]]

Creates a 5-dimensional array

def range(start: Int, end: Int): Array[Int]

Returns an array containing a sequence of increasing integers in a range.

Value Params
end

the end value of the array, exclusive (in other words, this is the first value not returned)

start

the start value of the array

Returns

the array with values in range start, start + 1, ..., end - 1 up to, but excluding, end.

Source
Array.scala
def range(start: Int, end: Int, step: Int): Array[Int]

Returns an array containing equally spaced values in some integer interval.

Value Params
end

the end value of the array, exclusive (in other words, this is the first value not returned)

start

the start value of the array

step

the increment value of the array (may not be zero)

Returns

the array with values in start, start + step, ... up to, but excluding end

Source
Array.scala
def tabulate[T](n: Int)(f: Int => T)(`evidence$17`: ClassTag[T]): Array[T]

Returns an array containing values of a given function over a range of integer values starting from 0.

Value Params
f

The function computing element values

n

The number of elements in the array

Returns

A traversable consisting of elements f(0),f(1), ..., f(n - 1)

Source
Array.scala
def tabulate[T](n1: Int, n2: Int)(f: (Int, Int) => T)(`evidence$18`: ClassTag[T]): Array[Array[T]]

Returns a two-dimensional array containing values of a given function over ranges of integer values starting from 0.

Value Params
f

The function computing element values

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

Source
Array.scala
def tabulate[T](n1: Int, n2: Int, n3: Int)(f: (Int, Int, Int) => T)(`evidence$19`: ClassTag[T]): Array[Array[Array[T]]]

Returns a three-dimensional array containing values of a given function over ranges of integer values starting from 0.

Value Params
f

The function computing element values

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

n3

the number of elements in the 3rd dimension

Source
Array.scala
def tabulate[T](n1: Int, n2: Int, n3: Int, n4: Int)(f: (Int, Int, Int, Int) => T)(`evidence$20`: ClassTag[T]): Array[Array[Array[Array[T]]]]

Returns a four-dimensional array containing values of a given function over ranges of integer values starting from 0.

Value Params
f

The function computing element values

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

n3

the number of elements in the 3rd dimension

n4

the number of elements in the 4th dimension

Source
Array.scala
def tabulate[T](n1: Int, n2: Int, n3: Int, n4: Int, n5: Int)(f: (Int, Int, Int, Int, Int) => T)(`evidence$21`: ClassTag[T]): Array[Array[Array[Array[Array[T]]]]]

Returns a five-dimensional array containing values of a given function over ranges of integer values starting from 0.

Value Params
f

The function computing element values

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

n3

the number of elements in the 3rd dimension

n4

the number of elements in the 4th dimension

n5

the number of elements in the 5th dimension

Source
Array.scala

Called in a pattern match like { case Array(x,y,z) => println('3 elements')}.

Value Params
x

the selector value

Returns

sequence wrapped in a scala.Some, if x is an Array, otherwise None

Source
Array.scala

Implicits

Implicits

implicit def toFactory[A](dummy: Array)(`evidence$1`: ClassTag[A]): Factory[A, Array[A]]

Provides an implicit conversion from the Array object to a collection Factory