এ্যাসোসিয়েটিভ এ্যারে(Associative Array):


ধরো প্রাচীর সমস্ত ইনফরমেশন আমরা একটি এ্যারেতে রেখে দেব। Prachi, Muniat, 18, 4.85, 10.02.1995, Babul Hossain, Meghla Hasan, Bogra এই ইনফরমেশনগুলো। তাহলে আমরা তো এইভাবে রেখে দিতেই পারি।




অথবা আমরা তো এভাবেও রাখতে পারি:




কোন সমস্যা নেই আমরা এভাবে রেখে দিতেই পারি। কিন্তু একটু সমস্যা যখন আমরা কোন একটি ডাটাকে পেতে যাবো। প্রাচীর জন্ম তারিখ পেতে গেলে আমাদের এভাবে কাজ করতে হবে তাই না?




এর অর্থ হলো প্রাচীর জন্ম তারিখ পেতে গেলে আমাদের মনে রাখতে হবে প্রাচীর জন্ম তারিখ কত নাম্বার ইনডেক্সে আছে।

কিন্তু আমরা যদি প্রত্যেকটা ডাটার জন্য এই 0,1,2 এরকম ইনডেক্স না রেখে নিজেদের মত ইনডেক্সিং করতে পারতাম। যেমন এরকম:




তাহলে ডাটাটি পেতে আমাদের অনেক সুবিধা হতো। ইনডেক্স নাম্বার মুখস্থ করে রাখতে হতো না।

এই যে নিজের মত করে এ্যারের ইনডেক্স সেট করে এ্যারেতে ডাটা রাখা, এটাকেই মূলত এ্যাসোসিয়েটিভ এ্যারে(Associative Array) বলে। কিন্তু সমস্যাটা হলো জাভা আসলে এ্যাসোসিয়েটিভ এ্যারে সাপোর্ট করে না। যার কারণেই দেখো উপরের কোড এররে একদম ভরে গেছে।

তাহলে উপায়? আমাদের তো নিজের মত ইনডেক্স করে ডাটা রাখতে হবে।

এর জন্য আমরা অন্য উপায় অবলম্বন করবো।




একদম প্রথম লাইনটা এই মুহূর্তে বোঝার দরকার নেই। আপাতত মুখস্থ করে রাখো। শুধু মনে রাখো মাঝখানের prachiDetails এটি তোমার এ্যারের নাম। এখানে তুমি প্রয়োজন মতো নাম বসাবে।

আর তার পরের লাইনগুলোতে দেখো। এ্যারের নাম এর পরে ডট(.) দিয়ে put লিখেছি। এবং ব্রাকেটের মধ্যে প্রথমে থাকবে ইনডেক্স(ডাবল কোটেশনের মধ্যে) তারপর কমা দিয়ে আবার ডাবল কোটেশনের মধ্যে ডাটা।

আর আরেকটা কাজ করতে হবে। ক্লাশের নামের(Class Name) এর পূর্বে import java.util.*; এইটুকু বসিয়ে দিতে হবে।




এবং কোন একটা ভ্যালু পেতে গেলে এভাবে কাজ করতে হবে।




আউটপুট: