Lesson ৭ মিনিট পড়া

অ্যারে (Arrays)

আপনার ডেটাগুলোকে নম্বর দিয়ে সুন্দর করে সাজিয়ে রাখুন

অ্যারে কী? (What's an Array?)

অ্যারেকে (Array) আপনি কোনো অ্যাপার্টমেন্ট ভবনের একসারি মেইলবক্সের (mailboxes) সাথে তুলনা করতে পারেন। প্রতিটি মেইলবক্সে একটি নম্বর থাকে (০ থেকে শুরু), এবং প্রতিটিতে ঠিক একটি জিনিসই রাখা যায়। যখন আপনি একটি অ্যারে তৈরি করেন, তখন আপনাকে দুটি জিনিস ঠিক করতে হয়: বাক্সগুলোতে কী ধরনের জিনিস রাখা হবে, এবং আপনার কতগুলো বাক্স দরকার।

একবার সাইজ বা আকার ঠিক করে ফেললে, তা লক বা নির্দিষ্ট হয়ে যায়। আপনি চাইলেও পরে আর নতুন মেইলবক্স যোগ করতে পারবেন না — এই কাজটি মূলত ArrayList এর (আমরা সামনেই এটি সম্পর্কে জানব)। তবে অ্যারে বেশ দ্রুতগামী, সহজ এবং জাভাতে এর ব্যবহার সর্বত্র দেখা যায়।

অ্যারে তৈরি এবং ব্যবহার করা (Creating & Using Arrays)

public class Main {
public static void main(String[] args) {
// Way 1: Declare size, fill later
int[] scores = new int[5];
scores[0] = 95;
scores[1] = 87;
scores[2] = 92;
scores[3] = 78;
scores[4] = 88;
// Way 2: Declare and fill at once
String[] colors = {"Red", "Green", "Blue", "Yellow"};
// Access by index
System.out.println("First score: " + scores[0]);
System.out.println("Last color: " + colors[colors.length - 1]);
System.out.println("Number of colors: " + colors.length);
// Loop through with for-each
System.out.print("All scores: ");
for (int s : scores) {
System.out.print(s + " ");
}
System.out.println();
// Modify an element
colors[1] = "Lime";
System.out.println("Changed: " + colors[1]);
}
}
Output
First score: 95
Last color: Yellow
Number of colors: 4
All scores: 95 87 92 78 88 
Changed: Lime

অ্যারের কাজে আসার মতো কিছু কৌশল (Useful Array Tricks)

জাভার Arrays ইউটিলিটি ক্লাসটি (যেটি java.util.Arrays এর ভেতর থাকে) আপনাকে কিছু চমৎকার শর্টকাট (shortcut) দেয়:

  • Arrays.toString() — অ্যারেকে অদ্ভুত কোনো মেমরি ঠিকানার বদলে সুন্দরভাবে প্রিন্ট করে দেখায়।
  • Arrays.sort() — অ্যারেটিকে ছোট থেকে বড় (ascending order), এই ক্রমে সরাসরি সাজিয়ে দেয়।
  • Arrays.fill() — প্রতিটি বাক্স বা স্লট একই মান দিয়ে পূরণ করে।
  • Arrays.copyOf() — অ্যারেটির একটি হুবহু কপি তৈরি করে (আপনি চাইলে এর আকারও পরিবর্তন করতে পারবেন)।

অ্যারে ইউটিলিটি (Arrays Utility) মেথডগুলো

import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] nums = {42, 17, 8, 95, 3, 61};
// toString — pretty print
System.out.println("Original: " + Arrays.toString(nums));
// sort — arranges in order
Arrays.sort(nums);
System.out.println("Sorted: " + Arrays.toString(nums));
// fill — set everything to the same value
int[] zeros = new int[5];
Arrays.fill(zeros, 7);
System.out.println("Filled: " + Arrays.toString(zeros));
// copyOf — make a copy
int[] copy = Arrays.copyOf(nums, nums.length);
copy[0] = 999;
System.out.println("Copy: " + Arrays.toString(copy));
System.out.println("Original unchanged: " + Arrays.toString(nums));
}
}
Output
Original: [42, 17, 8, 95, 3, 61]
Sorted: [3, 8, 17, 42, 61, 95]
Filled: [7, 7, 7, 7, 7]
Copy: [999, 8, 17, 42, 61, 95]
Original unchanged: [3, 8, 17, 42, 61, 95]

মাল্টিডাইমেনশনাল অ্যারে — গ্রিড এবং টেবিল (Multidimensional Arrays — Grids & Tables)

public class Main {
public static void main(String[] args) {
// 2D array — like a chessboard or spreadsheet
int[][] grid = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
// Access: grid[row][column]
System.out.println("Center: " + grid[1][1]); // 5
System.out.println("Bottom-right: " + grid[2][2]); // 9
// Print the whole grid
System.out.println("Full grid:");
for (int row = 0; row < grid.length; row++) {
for (int col = 0; col < grid[row].length; col++) {
System.out.print(grid[row][col] + " ");
}
System.out.println();
}
System.out.println("Rows: " + grid.length);
System.out.println("Cols: " + grid[0].length);
}
}
Output
Center: 5
Bottom-right: 9
Full grid:
1 2 3 
4 5 6 
7 8 9 
Rows: 3
Cols: 3
Note: অ্যারের ইনডেক্স শুরু হয় ০ (0) থেকে, ১ থেকে নয়। ৫ আকারের একটি অ্যারেতে ইনডেক্স থাকবে ০ থেকে ৪ পর্যন্ত। আপনি যদি ৫ নম্বর ইনডেক্স খোঁজার চেষ্টা করেন, তাহলে আপনি ArrayIndexOutOfBoundsException নামক এরর বা ভুল দেখতে পাবেন — জাভার ভাষায় এর মানে হলো "এই মেইলবক্সেরই কোনো অস্তিত্ব নেই!" অ্যারে নিয়ে কাজ করার সময় এটিই সবচেয়ে পরিচিত বাগ বা ভুল।
চ্যালেঞ্জ

ছোট কুইজ

১০ আকারের (size 10) একটি অ্যারেতে সর্বশেষ উপাদানের ইনডেক্স (index) কত হবে?

পড়া চালিয়ে যান

LoopsMethods