Java তে এক মাত্রা (One-Dimensional) এবং একাধিক মাত্রার (Multi-Dimensional) অ্যারে ডেটা সংরক্ষণ ও অ্যাক্সেসের ক্ষেত্রে ভিন্ন ভিন্ন প্রয়োজন পূরণ করে। সাধারণত, একমাত্রিক অ্যারে একটি সরল তালিকা বা লাইন আকারে ডেটা ধারণ করে, যেখানে একাধিক মাত্রার অ্যারে একটি গ্রিড বা ম্যাট্রিক্স আকারে ডেটা সংরক্ষণ করে।
এক মাত্রার অ্যারে (One-Dimensional Array)
এক মাত্রার অ্যারে একটি সরল রেখার মতো ডেটা ধারণ করে এবং ইনডেক্সের মাধ্যমে প্রতিটি উপাদান অ্যাক্সেস করা যায়। এটি একটি তালিকার মতো কাজ করে।
ডিক্লেয়ারেশন এবং ইনিশিয়ালাইজেশন
একটি একমাত্রিক অ্যারে ডিক্লেয়ার করার সময় ডেটা টাইপের পরে [] চিহ্ন ব্যবহার করা হয়।
উদাহরণ:
int[] numbers = {10, 20, 30, 40, 50};
অ্যারে অ্যাক্সেস এবং পরিবর্তন
ইনডেক্স ব্যবহার করে প্রতিটি উপাদান অ্যাক্সেস বা পরিবর্তন করা যায়।
উদাহরণ:
System.out.println("First element: " + numbers[0]); // Output: 10
numbers[2] = 35;
System.out.println("Updated third element: " + numbers[2]); // Output: 35
লুপিং
for এবং for-each লুপ ব্যবহার করে একমাত্রিক অ্যারের উপর লুপিং করা যায়।
উদাহরণ:
for (int num : numbers) {
System.out.println("Element: " + num);
}
একাধিক মাত্রার অ্যারে (Multi-Dimensional Array)
একাধিক মাত্রার অ্যারে, সাধারণত ২ মাত্রার অ্যারে একটি ম্যাট্রিক্স বা গ্রিড আকারে ডেটা ধারণ করে, যেখানে প্রতিটি উপাদানের জন্য দুইটি ইনডেক্স থাকে।
ডিক্লেয়ারেশন এবং ইনিশিয়ালাইজেশন
২ মাত্রার অ্যারে ডিক্লেয়ার করতে [][] ব্যবহার করা হয়।
উদাহরণ:
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
অ্যারে অ্যাক্সেস এবং পরিবর্তন
প্রথম ইনডেক্স সারি (row) এবং দ্বিতীয় ইনডেক্স কলাম (column) নির্দেশ করে।
উদাহরণ:
System.out.println("Element at [0][1]: " + matrix[0][1]); // Output: 2
matrix[1][2] = 10;
System.out.println("Updated element at [1][2]: " + matrix[1][2]); // Output: 10
লুপিং
for লুপ ব্যবহার করে প্রতিটি সারি এবং কলামের উপর লুপিং করা যায়।
উদাহরণ:
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();
}
আউটপুট:
1 2 3
4 5 10
7 8 9
একাধিক মাত্রার অ্যারের আরো উদাহরণ
একাধিক মাত্রার অ্যারে শুধু দুই মাত্রায় সীমাবদ্ধ নয়; তিন বা ততোধিক মাত্রার অ্যারে তৈরি করা সম্ভব, তবে ব্যবহার এবং অ্যাক্সেসের জন্য এটি জটিল হয়ে যায়।
তিন মাত্রার অ্যারে উদাহরণ:
int[][][] threeDArray = {
{
{1, 2, 3},
{4, 5, 6}
},
{
{7, 8, 9},
{10, 11, 12}
}
};
System.out.println("Element at [1][0][2]: " + threeDArray[1][0][2]); // Output: 9
পার্থক্য: একমাত্রিক বনাম একাধিক মাত্রার অ্যারে
| বৈশিষ্ট্য | এক মাত্রার অ্যারে | একাধিক মাত্রার অ্যারে |
|---|---|---|
| স্ট্রাকচার | সরল তালিকা বা একক সারি | ম্যাট্রিক্স বা গ্রিড আকারে |
| ইনডেক্সের সংখ্যা | এক ইনডেক্স যথেষ্ট | প্রতিটি উপাদানের জন্য একাধিক ইনডেক্স প্রয়োজন |
| ব্যবহার | তালিকা, সিম্পল ডেটা লিস্ট | টেবিল বা গ্রিড আকারে ডেটা সংরক্ষণ করতে |
| লুপিং | সাধারণ for বা for-each লুপ | nested লুপ (একটি লুপের ভিতরে আরেকটি লুপ) |
সারসংক্ষেপ
Java তে একমাত্রিক অ্যারে একটি সরল ডেটা তালিকা সংরক্ষণ করে, যেখানে একাধিক মাত্রার অ্যারে একটি ম্যাট্রিক্স বা গ্রিড আকারে ডেটা সংরক্ষণ করে। একমাত্রিক অ্যারে ইনডেক্স ব্যবহার করে সরাসরি অ্যাক্সেসযোগ্য এবং সহজ, তবে একাধিক মাত্রার অ্যারে আরো জটিল ডেটা গঠন তৈরি করতে সহায়ক।
Read more