Java Arrays - Advanced Concepts

Advanced Single Dimensional Arrays

Java me arrays fixed size ke hote hain, lekin aap dynamic operations ke liye alag approach use kar sakte hain. Dekhiye kuch advanced points:

Example:

int[] numbers = new int[3];
numbers[0] = 10;
numbers[1] = 20;
numbers[2] = 30;

// Copy reference
int[] another = numbers;
another[0] = 100;

System.out.println(numbers[0]);  // Output: 100 (same array referenced)

Array of Objects

Java array me aap custom objects bhi store kar sakte hain. Pehle object banakar, phir array ke elements ko assign karte hain.

class Student {
    String name;
    int rollNo;
    Student(String name, int rollNo) {
        this.name = name;
        this.rollNo = rollNo;
    }
}

public class ObjArrayExample {
    public static void main(String[] args) {
        Student[] students = new Student[3];
        students[0] = new Student("Alice", 1);
        students[1] = new Student("Bob", 2);
        students[2] = new Student("Charlie", 3);
        for (Student s : students) {
            System.out.println(s.rollNo + ": " + s.name);
        }
    }
}

Jagged Arrays (Ragged Arrays)

Multidimensional arrays me har row ki length alag hoti hai to ise jagged ya ragged array kehte hain.

int[][] jagged = new int[3][];
jagged[0] = new int[2]; // first row length 2
jagged[1] = new int[4]; // second row length 4
jagged[2] = new int[3]; // third row length 3

jagged[0][0] = 1;
jagged[1][3] = 5;

Common Operations on Arrays

Comparison Summary

Feature Single Dimensional Array Multidimensional / Jagged Array
Structure Linear list of elements 2D or more dimensions, possibly non-uniform lengths
Declaration int[] arr = new int[size]; int[][] arr = new int[rows][];
Memory Contiguous block Array of references to arrays
Flexibility Fixed size Jagged arrays allow variable row sizes
Use Cases Simple storage and iteration Tables, grids, matrices, sparse data