Java Arrays: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 29: Line 29:


=Array Types=
=Array Types=
An array type is a kind of a [[Java_Language#Reference_Types|reference type]]. If the [[#Component_Type|component type]] of an array is <code>T</code>, then the type of the array itself is written <code>T[]</code>.
An array type is a kind of a [[Java_Language#Reference_Types|reference type]].  
 
If the [[#Component_Type|component type]] of an array is <code>T</code>, then the type of the array itself is written as the name of its component type followed by an empty pair of square brackets <code>T[]</code>. In case of multidimensional arrays, if the [[#Element_Type|element type]] of the array is <code>T</code>, then the type of the array is written as the name of the element type followed by a number of empty pairs of square brackets. The number of square brackets pair gives the dimensionality of the array, which is the depth of array nesting.


=Array Variables=
=Array Variables=

Revision as of 01:30, 2 November 2021

External

Internal

Overview

Array instances are objects. They are dynamically created, they can be assigned to a variable of type Object and all methods of class Object may be invoked on an array. More details about array creation are available in the Array Creation section below.

An array instance contains a number of variables, called array components. The array components have no names, and they are referenced by array access expressions that use non-negative integer indices. The number of components of an array is fixed, once the array instance is created, the number of components cannot change. If the number of components of an array is zero, the array is said to be empty. If the array has n components, then it is said that the array has the length n. In this case, its components are referenced with zero-based indices from 0 to n-1. More details about accessing array components and elements are available in the Array Access section below.

The components can be of primitive types or reference types. All components of an array have the same type, called the component type of the array. Multidimensional arrays are a special case where all components have array types, recursively.

For unidimensional arrays, the array components are also array elements. For multidimensional arrays, if starting from the top-level instance, one considers its component type, which is an array type, and then the component type of that type, and so on, eventually one must reach a component type that is NOT an array type. That is called the element type of the original array and the components at that lowest level of the data structure are called the elements of the original array.

int[] a; // a unidimensional array whose components are 
         // ints and whose elements are also ints.
String[] s; // a unidimensional array whose components are 
            // Strings and whose elements are also Strings.
int[][] b; // a bi-dimensional array. b's components are int[], 
           // and the components of those components are ints
float[][][] c; // a tri-dimensional array. c's components are float[][], 
               // their components are float[] and their components are floats.

Array Types

An array type is a kind of a reference type.

If the component type of an array is T, then the type of the array itself is written as the name of its component type followed by an empty pair of square brackets T[]. In case of multidimensional arrays, if the element type of the array is T, then the type of the array is written as the name of the element type followed by a number of empty pairs of square brackets. The number of square brackets pair gives the dimensionality of the array, which is the depth of array nesting.

Array Variables

Array Creation

Array Creation with an Expression

Array Creation with an Array Initializer

Array Access

Multidimensional Arrays

The components of a multidimensional array are themselves of the same array type, and they contain references to subarrays.


Bidimensional Arrays

Tridimensional Arrays