আপনাকে প্রথমে জানতে হবে এটি হ'ল 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
?