Array is a linear data structure consisting of a collection of elements which are stored in contiguous physical memory locations and can be identified by an index

Typically, we may encounter 2 types of array, divided by dimension: one-dimensional and two-dimensional array

## One dimensional (1D) array

Given A as a one-dimensional array which has 4 elements like the below image

Each element in the array can be accessed directly by A, A, A, and A with the corresponding value 9, 2, 6 and 8

## Traverse all elements in a 1D array

We can use one for-loop or while-loop to traverse all elements in a 1D array

``````public class Array1D {
void traversal(int[] A) {
for (int i = 0; i < A.length; i++) {
System.out.println(A[i]);
}
}

public static void main(String[] args) {
int[] A = {9, 2, 6, 8};
new Array1D().traversal(A);
}
}
``````

Output

``````9
2
6
8
``````

Complexity

• Time complexity: O(n) where n is the array size

• Space complexity: O(1)

## Two-dimensional (2D) array

Given A as a two-dimensional array which has 8 elements like the below image

Each element in the array can be accessed directly by A, A, A, A, A, A, A and A with the corresponding value 9, 2, 6, 8, 5, 7, 1 and 3

A 2D array can be seen as a table with rows and columns. The above array has 4 columns and 2 rows

## Traverse all elements in a 2D array

To traverse all elements in a 2D array, we have to use two for-loop or while-loop

``````public class Array2D {
void traversal(int[][] A) {
for (int i = 0; i < A.length; i++) {
for (int j = 0; j < A.length; j++) {
System.out.println(A[i][j]);
}
}
}

public static void main(String[] args) {
int[][] A = {{9, 2, 6, 8}, {5, 7, 1, 3}};
new Array2D().traversal(A);
}
}
``````

Output

``````9
2
6
8
5
7
1
3
``````

Complexity

• Time complexity: O(n*m) where n is the number of columns and m is the number of rows

• Space complexity: O(1)