⬅ Previous Next ➡

Arrays in Java

Arrays in Java: 1D, 2D, Multidimensional, Iteration, Operations & Arrays Utility Class
  • Array is a fixed-size collection of elements of the same data type.
  • Arrays store data in continuous memory and are accessed using index (starts from 0).
  • Types: 1D array, 2D array (matrix/table), multidimensional (3D+).

1) One-Dimensional (1D) Array

  • Stores a list of values in a single row.
  • Declaration: type[] name or type name[]
class Array1D {
    public static void main(String[] args) {

        int[] marks = {78, 85, 69, 92};

        System.out.println("First mark: " + marks[0]);
        System.out.println("Total subjects: " + marks.length);
    }
}

2) Iterating (Traversing) an Array

  • Using for loop with index.
  • Using enhanced for (for-each) loop.
class ArrayIteration {
    public static void main(String[] args) {

        int[] marks = {78, 85, 69, 92};

        // Using for loop
        for (int i = 0; i < marks.length; i++) {
            System.out.println("Index " + i + ": " + marks[i]);
        }

        // Using enhanced for loop
        for (int m : marks) {
            System.out.println("Mark: " + m);
        }
    }
}

3) Common Array Operations (Sum, Max, Min, Search)

  • Sum: add all elements.
  • Max/Min: find largest/smallest element.
  • Search: check if an element exists.
class ArrayOperations {
    public static void main(String[] args) {

        int[] marks = {78, 85, 69, 92};
        int sum = 0;

        int max = marks[0];
        int min = marks[0];

        for (int m : marks) {
            sum += m;

            if (m > max) max = m;
            if (m < min) min = m;
        }

        System.out.println("Sum: " + sum);
        System.out.println("Average: " + (sum / (double) marks.length));
        System.out.println("Max: " + max);
        System.out.println("Min: " + min);

        // Search
        int target = 85;
        boolean found = false;

        for (int m : marks) {
            if (m == target) {
                found = true;
                break;
            }
        }

        System.out.println("Found " + target + "? " + found);
    }
}

4) Two-Dimensional (2D) Array

  • Looks like a table (rows × columns).
  • Access: arr[row][col]
class Array2D {
    public static void main(String[] args) {

        int[][] matrix = {
            {1, 2, 3},
            {4, 5, 6}
        };

        System.out.println("matrix[0][1] = " + matrix[0][1]); // 2

        // Iteration using nested loops
        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < matrix[i].length; j++) {
                System.out.print(matrix[i][j] + " ");
            }
            System.out.println();
        }
    }
}

5) Multidimensional Array (3D Example)

  • Used when data is stored in layers (e.g., class → student → marks).
  • Access: arr[layer][row][col]
class Array3D {
    public static void main(String[] args) {

        int[][][] data = {
            { {10, 20}, {30, 40} },   // Layer 0
            { {50, 60}, {70, 80} }    // Layer 1
        };

        System.out.println("data[1][0][1] = " + data[1][0][1]); // 60

        for (int layer = 0; layer < data.length; layer++) {
            for (int row = 0; row < data[layer].length; row++) {
                for (int col = 0; col < data[layer][row].length; col++) {
                    System.out.print(data[layer][row][col] + " ");
                }
                System.out.println();
            }
            System.out.println("---");
        }
    }
}

6) Arrays Utility Class (java.util.Arrays)

  • Arrays class provides useful static methods to work with arrays.
  • Common methods: sort(), toString(), binarySearch(), equals(), copyOf()
import java.util.Arrays;

class ArraysUtilityDemo {
    public static void main(String[] args) {

        int[] marks = {78, 85, 69, 92};

        // Print array
        System.out.println("Original: " + Arrays.toString(marks));

        // Sort
        Arrays.sort(marks);
        System.out.println("Sorted: " + Arrays.toString(marks));

        // Binary Search (array must be sorted)
        int index = Arrays.binarySearch(marks, 85);
        System.out.println("Index of 85: " + index);

        // Copy array
        int[] copy = Arrays.copyOf(marks, marks.length);
        System.out.println("Copy: " + Arrays.toString(copy));

        // Compare arrays
        System.out.println("Equal? " + Arrays.equals(marks, copy));
    }
}

7) Quick Notes

  • length is a property for arrays (e.g., arr.length).
  • String length uses method: str.length()
  • Use Arrays.sort() for ascending sort of primitive arrays.
  • Use Arrays.binarySearch() only on sorted arrays.
⬅ Previous Next ➡