Java Arrays are special reference types that store similarly typed data iteratively. A pair of brackets define an array of some data type, and can be written anywhere after the type:
// One-Dimensional Arrays
int[] arrayOne;
int []arrayTwo;
int arrayThree[];
// Two-Dimensional Arrays
int[][] 2DArrayOne;
int 2DArrayTwo[][];
int []2DArrayThree[];
While Java does not allow direct memory access to its arrays like other languages, they are still of fixed size once defined by the new keyword or by an array literal.
// One-Dimensional Arrays
int[] instancedArray = new int[3];
int[] literalArray = {1, 2, 3};
// Two-Dimensional Arrays
int[][] instanced2DArray = new int[3][4];
int[][] literal2DArray = { { 1, 2 }, { 3, 4 }, { 5, 6 } };
Java for loops can iterate through arrays like most other languages:
// One-Dimensional Arrays
for (int i = 0; i < arrayOne.length; i++) {
System.out.print(arrayOne[i]);
}
// Two-Dimensional Arrays
for (int i = 0; i < 2DArrayOne.length; i++) {
for (int j =0; j < 2DArrayOne[i].length; j++) {
System.out.print(2DArrayOne[i][j]);
}
}
// Foreach loops
for (int i : arrayOne) {
System.out.print(i);
}
The java.util.Arrays class provides various methods for manipulating arrays.
int[] messyArray = {234, 5346, 3, 64};
Arrays.sort(messyArray);
System.out.println(Arrays.toString(messyArray));
Varargs is a special parameter that can accept multiple arguments of the same type into a dynamically constructed array, and denoted by an ellipsis (…) instead of brackets. A varargs parameter must be the last or only parameter in a method signature.
varArgMethod("m", 1, 2, 5, 35, 346, 345, 4634);
...
public static void varArgDemo(String m, int... intArgs) {
for (int i : intArgs) {
System.out.print(i);
}
}