অভিধান এবং Hashtable মধ্যে পার্থক্য

Anonim

অভিধান বনাম হ্যাশটেল

শব্দটি টাইপ করা হয়েছে (sO valuetypes এর প্রয়োজন বোধ করা হয় না), একটি হ্যাশটেল (so নয়) মূল্যায়ন প্রয়োজন bOxing)। হ্যাশটেলের একটি আইএমএইচএলএর তুলনায় মান তুলনামূলকভাবে ভালো, কারণ এটি সর্বদা মূল্য একটি অজগ্য। যদি আপনি ব্যবহার করছেন তাহলে। NET 3. 5, একই রকম আচরণের জন্য অভিধানের জন্য একটি extension মেথড লিখতে সহজ।

হ্যাশেবল ক্লাস হল একটি নির্দিষ্ট ধরনের ক্লাস ক্লাস যা একটি পূর্ণসংখ্যা মান (একটি হ্যাশ বলা হয়) এর চাবিগুলির স্টোরিতে সহায়তা করে। হ্যাশটেলের ক্লাসটি হ্যাশ ব্যবহার করে সিলেক্টিয়নে নির্দিষ্ট কীটির জন্য অনুসন্ধানকে গতি দেয়। প্রতিটি অন্তর্নিহিত ইনভেস্ট ক্লাস থেকে বেরিয়ে আসে। এই শ্রেণীটি GetHash মেথডকে সাপোর্ট করে, যা একটি পূর্ণসংখ্যা প্রদান করে যা অজানাভাবে সনাক্ত করে। হ্যাশটেলের বর্গ সাধারণভাবে একটি অত্যন্ত দক্ষ collectiOn হয়। হ্যাশটেলের ক্লাসের সাথে একই সমস্যাটি হল, এটি একটি অর্ধচিহ্নের জন্য প্রয়োজন এবং ছোট তালিকার জন্য (দশটি উপাদান থেকে কম) দৈর্ঘ্য প্রতিধ্বত করতে পারে।

একটি হ্যাশটেইল এবং ডিক্সনার মধ্যে অন্যতম পার্থক্য রয়েছে। যদি আপনি indexers ব্যবহার করে একটি HashTable এর মান অর্জন করতে পারেন, HashTable সফলভাবে একটি অ নূন্যতম বস্তুর জন্য নাল ফেরত পাঠাতে পারে, তবে অভিধানটি যদি ভুল না হয়ে থাকে তবে আপনি একটি সূচক ব্যবহার করে এমন একটি আইটেম ব্যবহার করার চেষ্টা করবেন যা অভিধানে বিদ্যমান না।

হ্যাসটেবল হল বেস ক্লাস যা দুর্বলভাবে টাইপ করা হয়; অভিধানব্যাশ সমতল বর্গ strolnly টাইপ করা হয় এবং অভ্যন্তরীণভাবে একটি HashTable ব্যবহার করে

একটি অদ্ভুত জিনিস লক্ষ্য করা যায় যে অভিধানটি একাধিক এন্ট্রি যোগ করলে, অ্যারোটারটি যেগুলি যোগ করা হয় তাতে রক্ষণাবেক্ষণ করা হয়। সুতরাং যদি আপনি অভিধানে একটি foreach প্রযোজ্য, আপনি তাদের ঢোকানো হয় একই আর্গুমেন্ট মধ্যে recorrds পাবেন। যদিও, হ্যাশটেলের সাথে এটি সত্য নয়, যখন আপনি হ্যাশটলে একই পুনর্বিবেচনা যোগ করেন অর্টারটি বজায় রাখা হয় না। যদি 'হ্যাসটেবলের উপর ভিত্তি করে অভিধানটি সত্য হয় তবে কেন অভিধানটি অকার্যকর রাখে কিন্তু হ্যাশটলে না?

একইভাবে তারা কেন ভিন্নভাবে আচরণ করে, তা হচ্ছে জেনেরিক অভিধান একটি হ্যাশটেবল প্রয়োগ করে, কিন্তু সিস্টেমের উপর নির্ভর করে না। Cоllectiоns। হ্যাশ টেবিল. জেনেরিক অভিধান প্রয়োগ করা হয় একটি তালিকা থেকে কী-মান-জোড়াগুলি সরিয়ে দেওয়া। এই তারপর randоm অ্যাক্সেসের জন্য হ্যাশেথেট বেল্টের সাথে সূচিবদ্ধ করা হয়, কিন্তু যখন এটি একটি পরিসংখ্যান ফেরত আসে, এটি শুধুমাত্র অনুক্রমিক বাছাই তালিকায় পদচারনা - যা প্রবেশদ্বার হিসাবে লাইন হিসাবে অন্যত্র হবে হিসাবে পুনরায় ব্যবহার করা হয় না।