সমস্যাগুলির মধ্যে একটি হ'ল অনেক ক্ষেত্রে, হ্যাশ টেবিলের কীটি একটি স্ট্রিং হবে। সুতরাং পদ্ধতির গ্রাহকদের হাতে আগে কী কী ব্যবহার করতে হবে তা ডেটা বের করার আগে জানতে হবে। এটি ডেটা অ্যাক্সেস করার সময় ভুল বানানের কারণে ত্রুটির সম্ভাবনা দেয়।
আর একটি অপূর্ণতা refactorability হয়। যদি আপনি পরে কোনও সদস্যের নাম পরিবর্তন করার সিদ্ধান্ত নেন তবে আপনার কাছে এমন একগুচ্ছ যাদু স্ট্রিং রয়েছে যা পরিবর্তন করতে হবে। বেশিরভাগ ভাল আইডিই দ্বারা সরবরাহিত রিফ্যাক্টরিং সরঞ্জাম ব্যবহার করে কোনও শ্রেণীর সদস্যের নামকরণ করা অনেক সহজ। একটি হ্যাশ টেবিলের সাহায্যে আপনি সম্ভবত সমস্ত উত্স ফাইল জুড়ে একটি অনুসন্ধান / প্রতিস্থাপন অপারেশন করতে হবে যা সমস্যাযুক্ত হতে পারে।
শেষ অবধি, আপনি সদস্যের অ্যাক্সেসের সংকলন সময়টি হারাবেন - নাম এবং প্রকার উভয় ক্ষেত্রেই। যদি আপনার হ্যাশ টেবিলটিতে কেবল এক প্রকার মান্যতা থাকে তবে তবে এটি কোনও সমস্যা নয় তবে এটিতে যদি অনেকগুলি থাকে (এমনকি একই শ্রেণিবদ্ধ চেইনেও থাকে) তবে আপনি সত্যিই আপনার ভাষার টাইপ সিস্টেমটি উপকার করতে চান এবং সেখানে পরীক্ষা করার সময় সংকলন করতে চান। বেশিরভাগ আইডিই-তে আপনার একধরণের ইন্টেলিজেন্স / স্ব-পরিপূর্ণ বৈশিষ্ট্য থাকবে - টাইপ সিস্টেমটি দেখে এটি কাজ করে তবে তারা হ্যাশ টেবিল কীগুলি আপনাকে সহায়তা করতে সক্ষম হবে না।
যেমনটি যখন হ্যাশ টেবিলটি ফেরত দেওয়া উপযুক্ত হবে (বা মূল মান জোড়ার অন্যান্য সংগ্রহ) তখন আপনি এটি ব্যবহার করবেন যখন সংকলনের সময় মান এবং কী উভয়ই জানা যায় না। উদাহরণস্বরূপ, যদি আপনার কাছে এমন কোনও পদ্ধতি থাকে যা কোয়েরি স্ট্রিংকে বিশ্লেষণ করে এবং কীগুলি এবং সংশ্লিষ্ট মানগুলি ফেরত দেয় তবে হ্যাশ টেবিলটি একটি ভাল পছন্দ হবে। এক্ষেত্রে আপনি কিছু প্রকারের অপরিবর্তনীয় বা পঠনযোগ্য হ্যাশ টেবিলটি ফেরত দেওয়ার বিষয়েও ভাবতে চান।
সম্পাদনা করুন - আপনি যখন গতিশীল ভাষার কথা বলছেন তখন এই উত্তরে উত্থাপিত বেশিরভাগ পয়েন্ট প্রয়োগ করা বন্ধ হয়ে যায় :)