Skip to main content

Arrays

Arraysโ€‹

  • Allows you to store a sequence of values, all the same type
  • Are 0 indexed
  • If we try to access an index that is out of range, Java will give us an ArrayIndexOutOfBoundsException

Declaring an Arrayโ€‹

Array Variable Declaration
int[] integerArray;
String[] nameList;
String courseList[];

Instantiating an Arrayโ€‹

Array Creation
int[] integerArray = new int[10];
int[] firstFivePositives = new int[] {1,2,3,4,5}
int[] firstFivePositives = {1,2,3,4,5}

What is an array, really?โ€‹

  • An array is a special class in Java
  • It's still a class
  • The array, like all other classes, ultimately inherits from java.lang.Object
note

When you don't use an array initializer statement, all array elements get initialized to the default value for that type

java.util.Arraysโ€‹

  • Java's array type is very basic, it comes with very little built-in functionality
  • Java provides a helper class named java.util.Arrays, providing common functionality, for many array operations

Reference Types vs Value Typesโ€‹

  • When we assign an object to a variable, the variable becomes a reference to that object
  • This is true of arrays, but the array has yet another level of indirection, if it's an array of objects
  • This means every array element is also a reference

Varargsโ€‹

public static void main(String... args) {

}
  • There can be only one variable argument in a method
  • The variable argument must be the last argument

Two-Dimensional Arrayโ€‹

A two-dimensional array can be thought of, as a table or matrix of values, with rows and columns

int[][] array = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
indexesj = 0j = 1j = 2
i = 0123
i = 1456
i = 2789

i is usually represented in the outer for and j in the inner

note

A 2-dimensional array doesn't have to be a uniform matrix though

Multi Dimensional Arrayโ€‹

int[][][] array = {{{1}, {2}, {3}}, {{4}, {5}, {6}}, {{7}, {8}, {9}}};

The visual representation would look like a 3x3x1 cube