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:
- Array ka size fix hota hai create karte waqt, badal nahi sakte.
- Arrays can hold primitive types or objects.
- Elements default values se initialize hote hain (0, false, null).
- Aap ek array ka reference doosri variable me assign kar sakte hain.
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
- Length check karne ke liye
array.length
property ka upyog hota hai. - Traversal ke liye for loop ya enhanced for loop (for-each) use karte hain.
- Array ko copy karne ke liye
System.arraycopy()
,Arrays.copyOf()
methods available hain. - Sorting aur searching ke liye java.util.Arrays class ka use hota hai.
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 |