একটি অ্যারে হলো একটি ডেটা স্ট্রাকচার/কন্টেইনার/অবজেক্ট যা একই টাইপের এলিমেন্টের একটি ফিক্সড-সাইজ সিকোয়েনশিয়াল কালেকশন সংরক্ষণ করে। অ্যারੇর সাইজ/দৈর্ঘ্য তৈরির সময় নির্ধারিত হয়।
অ্যারেতে এলিমেন্টের পজিশনকে ইনডেক্স বা সাবস্ক্রিপ্ট বলা হয়। অ্যারেতে প্রথম এলিমেন্ট ইনডেক্স ০-এ সংরক্ষিত হয় এবং দ্বিতীয় এলিমেন্ট ইনডেক্স ১-এ এবং ইত্যাদি।

অ্যারেতে প্রতিটি এলিমেন্ট এক্সেস করা হয় একটি এক্সপ্রেশন ব্যবহার করে যেটিতে অ্যারের নাম থাকে এবং স্কোয়ার ব্র্যাকেটে প্রয়োজনীয় এলিমেন্টের ইনডেক্স থাকে।
System.out.println(myArray[3]); //prints 1457
সাধারণত, একটি অ্যারে ফিক্সড সাইজের হয় এবং প্রতিটি এলিমেন্ট ইনডেক্স ব্যবহার করে এক্সেস করা হয়। উদাহরণস্বরূপ, আমরা সাইজ ৭-এর একটি অ্যারে তৈরি করি। তাহলে এই অ্যারেতে এলিমেন্ট এক্সেস করার বৈধ এক্সপ্রেশন হবে a[0] থেকে a[6] (length-1)।
যখনই আপনি একটি নেগেটিভ মান বা, অ্যারে সাইজের চেয়ে বড় বা সমান মান ব্যবহার করেন, তবে ArrayIndexOutOfBoundsException থ্রো হয়।
উদাহরণস্বরূপ, যদি আপনি নিচের কোড এক্সিকিউট করেন, তবে এটি অ্যারেতে এলিমেন্টগুলো দেখাবে এবং আপনাকে একটি এলিমেন্ট সিলেক্ট করার জন্য ইনডেক্স দিতে বলবে। যেহেতু অ্যারের সাইজ ৭, বৈধ ইনডেক্স হবে ০ থেকে ৬।
উদাহরণ
import java.util.Arrays;
import java.util.Scanner;
public class AIOBSample {
public static void main(String args[]){
int[] myArray = {1254, 1458, 5687, 1457, 4554, 5445, 7524};
System.out.println("Elements in the array are: ");
System.out.println(Arrays.toString(myArray));
Scanner sc = new Scanner(System.in);
System.out.println("Enter the index of the required element: ");
int element = sc.nextInt();
System.out.println("Element in the given index is :: " + myArray[element]);
}
}
কিন্তু আপনি যদি নিচের আউটপুট পর্যবেক্ষণ করেন, আমরা ইনডেক্স ৯-এ এলিমেন্ট অনুরোধ করেছি যেহেতু এটি একটি অবৈধ ইনডেক্স, ArrayIndexOutOfBoundsException উত্থাপিত হয় এবং এক্সিকিউশন টার্মিনেট হয়।
আউটপুট
রান টাইম এক্সসেপশন −
Elements in the array are: [1254, 1458, 5687, 1457, 4554, 5445, 7524]
Enter the index of the required element: 7
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
at AIOBSample.main(AIOBSample.java:12)