আপনাকে প্রথমে জানতে হবে এটি হ'ল HashSetএকটি এর মতো কাজ করে Setযার অর্থ আপনি আপনার অবজেক্টকে সরাসরি যুক্ত করেন HashSetএবং এতে নকল থাকতে পারে না। আপনি কেবল নিজের মানটি সরাসরি এতে যুক্ত করুন HashSet।
তবে HashMapএটি এক Mapপ্রকারের। এর অর্থ প্রতিবার আপনি যখন একটি এন্ট্রি যুক্ত করবেন আপনি একটি কী-মান জুটি যুক্ত করবেন।
এতে HashMapআপনার সদৃশ মান থাকতে পারে তবে কী নকল নয়। ইন HashMapনতুন এন্ট্রি পুরানো এক প্রতিস্থাপন করবে। সবচেয়ে সাম্প্রতিক এন্ট্রি হবে HashMap।
হ্যাশম্যাপ এবং হ্যাশসেটের মধ্যে বোঝার লিঙ্ক:
মনে রাখবেন, HashMapসদৃশ কী থাকতে পারে না। দৃশ্যের পিছনে HashSetক HashMap।
আপনি যখন কোনও বস্তুকে একটিতে যুক্ত করার চেষ্টা করেন HashSet, এই প্রবেশটি আসলে একটি কী হিসাবে সংরক্ষণ করা হয় HashMap- যা একই HashMapদৃশ্যের পিছনে ব্যবহৃত হয় HashSet। যেহেতু এই অন্তর্নিহিতটির HashMapএকটি মূল-মান জুড়ি প্রয়োজন, তাই আমাদের জন্য একটি ডামি মান তৈরি করা হয়।
এখন যখন আপনি HashSetএটির মধ্যে অন্য সদৃশ বস্তুটি সন্নিবেশ করানোর চেষ্টা করবেন তখন এটি আবার HashMapনীচে থাকা কোনও কী হিসাবে এটি sertোকানোর চেষ্টা করবে। তবে HashMapসদৃশ সমর্থন করে না। সুতরাং, HashSetএখনও সেই ধরণের একমাত্র মান থাকার ফলস্বরূপ। পার্শ্ব নোট হিসাবে, প্রতিটি ডুপ্লিকেট কী জন্য, যেহেতু হ্যাশসেটে আমাদের প্রবেশের জন্য উত্পন্ন মানটি কিছু এলোমেলো / ডামি মান, তাই কীটি মোটেই প্রতিস্থাপন করা হয়নি। কীটি সরিয়ে ফেলা এবং একই কীটি (ডামি মান একই) যুক্ত করার ফলে এটিকে মোটেই বোঝা যাবে না।
সারসংক্ষেপ:
HashMapসদৃশ অনুমতি দেয় values, কিন্তু না keys।
HashSetসদৃশ থাকতে পারে না
বা না একটি বস্তুর উপরন্তু সফলভাবে সম্পূর্ণ হয় কিনা সঙ্গে খেলা করার জন্য, আপনাকে পরীক্ষা করতে পারবেন booleanফিরে আপনি কল যখন মান .add() এবং দেখুন এটি ফেরৎ trueবা false। যদি এটি ফিরে আসে তবে এটি serted trueোকানো হত।
HashMapকিনা তা দেখতেkeyইতিমধ্যে কল করার আগে বিদ্যমানputব্যাকিং উপরmap?