জাভাতে সমান এবং হ্যাশকোডের মধ্যে পার্থক্য

সুচিপত্র:

জাভাতে সমান এবং হ্যাশকোডের মধ্যে পার্থক্য
জাভাতে সমান এবং হ্যাশকোডের মধ্যে পার্থক্য

ভিডিও: জাভাতে সমান এবং হ্যাশকোডের মধ্যে পার্থক্য

ভিডিও: জাভাতে সমান এবং হ্যাশকোডের মধ্যে পার্থক্য
ভিডিও: জাভাতে সমান এবং হ্যাশকোড চুক্তি [গুরুত্বপূর্ণ জাভা ইন্টারভিউ প্রশ্ন] | কোড ডিকোড 2024, জুলাই
Anonim

কী পার্থক্য – জাভাতে হ্যাশকোড বনাম সমান

The equals==অপারেটরের অনুরূপ, যা বস্তুর সমতার পরিবর্তে বস্তুর পরিচয় পরীক্ষা করতে হয়। হ্যাশকোড হল এমন একটি পদ্ধতি যার মাধ্যমে একটি ক্লাস অন্তর্নিহিতভাবে বা স্পষ্টভাবে ক্লাসের একটি উদাহরণে সংরক্ষিত ডেটাকে একটি একক হ্যাশ মান, যা একটি 32 বিট স্বাক্ষরিত পূর্ণসংখ্যাতে বিভক্ত করে। জাভাতে সমান এবং হ্যাশকোডের মধ্যে মূল পার্থক্য হল দুটি বস্তুর তুলনা করার জন্য সমান ব্যবহার করা হয় যখন হ্যাশকোডটি হ্যাশিং-এ ব্যবহার করা হয় কোন বস্তুকে কোন গ্রুপে শ্রেণীবদ্ধ করা হবে তা নির্ধারণ করতে।

জাভাতে সমান কি?

দুটি বস্তুর তুলনা করতে সমান পদ্ধতি ব্যবহার করা হয়।ডিফল্ট সমান পদ্ধতি অবজেক্ট ক্লাসে সংজ্ঞায়িত করা হয়। যে বাস্তবায়ন==অপারেটর অনুরূপ. দুটি বস্তুর রেফারেন্স সমান হয় শুধুমাত্র যদি তারা একই বস্তুর দিকে নির্দেশ করে। সমান পদ্ধতি ওভাররাইড করা সম্ভব।

জাভাতে সমান এবং হ্যাশকোডের মধ্যে পার্থক্য
জাভাতে সমান এবং হ্যাশকোডের মধ্যে পার্থক্য

চিত্র 01: সমান সহ জাভা প্রোগ্রাম

Statement.out.println(s1.equals(s2)) উত্তরটি মিথ্যা দেবে কারণ s1 এবং s2 দুটি ভিন্ন বস্তুকে নির্দেশ করছে। এটি বিবৃতিটির অনুরূপ ছিল, System.out.println(s1==s2);

System.out.println(s1.equals(s3)) বিবৃতিটি সত্য উত্তর দেবে কারণ s1 এবং s3 একই বস্তুকে নির্দেশ করছে। এটি বিবৃতিটির অনুরূপ ছিল, System.out.println(s1==s3);

ছাত্র শ্রেণীতে কোন সমান পদ্ধতি নেই। অতএব, অবজেক্ট ক্লাসে সমান বলা হয়। বস্তুর রেফারেন্স একই বস্তুর দিকে নির্দেশ করলেই সত্য প্রদর্শিত হয়৷

Java_Figure 02-এ সমান এবং হ্যাশকোডের মধ্যে পার্থক্য
Java_Figure 02-এ সমান এবং হ্যাশকোডের মধ্যে পার্থক্য

চিত্র 02: ওভাররাইড করা সমান সহ জাভা প্রোগ্রাম

উপরের প্রোগ্রাম অনুসারে, সমান পদ্ধতিটি ওভাররাইড করা হয়েছে। পদ্ধতিতে একটি বস্তু পাস করা হয়, এবং এটি শিক্ষার্থীর কাছে টাইপ করা হয়। তারপর, আইডি মান চেক করা হয়. যদি আইডি মানগুলি একই রকম হয় তবে এটি সত্যে ফিরে আসবে। যদি না হয়, এটা মিথ্যা ফিরে আসবে. s1 এবং s2 এর id একই রকম। সুতরাং, এটা সত্য মুদ্রণ হবে. s1 এবং s3 এর আইডিও একই রকম, তাই এটি সত্য প্রিন্ট করবে।

জাভাতে হ্যাশকোড কী?

হ্যাশকোডটি হ্যাশিং-এ ব্যবহার করা হয় কোন বস্তুকে কোন গ্রুপে শ্রেণীবদ্ধ করা হবে তা নির্ধারণ করতে। বস্তুর একটি গ্রুপ একই হ্যাশকোড শেয়ার করতে পারে। একটি সঠিক হ্যাশিং ফাংশন সমানভাবে বিভিন্ন গ্রুপে বস্তু বিতরণ করতে পারে৷

একটি সঠিক হ্যাশকোডের নিম্নরূপ বৈশিষ্ট্য থাকতে পারে।অনুমান করুন যে obj1 এবং obj2 হিসাবে দুটি বস্তু আছে। যদি obj1.equals(obj2) সত্য হয়, তাহলে obj1.hashCode() হল obj2.hashCode() এর সমান। যদি obj1.equals(obj2) মিথ্যা হয়, তাহলে obj1.hashCode() obj2.hashCode() এর সমান না হওয়া আবশ্যক নয়। দুটি অসম বস্তুর একই হ্যাশকোড থাকতে পারে।

Java_Figure 03-এ সমান এবং হ্যাশকোডের মধ্যে পার্থক্য
Java_Figure 03-এ সমান এবং হ্যাশকোডের মধ্যে পার্থক্য

চিত্র 03: সমান এবং হ্যাশকোড সহ ছাত্র শ্রেণী

জাভাতে সমান এবং হ্যাশকোডের মধ্যে মূল পার্থক্য
জাভাতে সমান এবং হ্যাশকোডের মধ্যে মূল পার্থক্য

চিত্র 04: প্রধান প্রোগ্রাম

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

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

জাভাতে সমান এবং হ্যাশকোডের মধ্যে পার্থক্য কী?

জাভাতে হ্যাশকোড বনাম সমান

equals হল জাভাতে একটি পদ্ধতি যা==অপারেটরের মতো কাজ করে, যা বস্তুর সমতার পরিবর্তে বস্তুর পরিচয় পরীক্ষা করা হয়। হ্যাশকোড এমন একটি পদ্ধতি যার মাধ্যমে একটি ক্লাস অন্তর্নিহিত বা স্পষ্টভাবে ক্লাসের একটি উদাহরণে সংরক্ষিত ডেটাকে একটি একক হ্যাশ মানের মধ্যে ভেঙে দেয়।
ব্যবহার
পদ্ধতি সমান দুটি বস্তুর তুলনা করতে ব্যবহৃত হয়। পদ্ধতিটি হ্যাশিং-এ ব্যবহার করা হয় কোন বস্তুকে কোন গ্রুপে রাখা হবে তা নির্ধারণ করতে।

সারাংশ – জাভাতে হ্যাশকোড বনাম সমান

জাভাতে সমান এবং হ্যাশকোডের পার্থক্য হল যে সমান দুটি বস্তুর তুলনা করার জন্য ব্যবহার করা হয় যখন হ্যাশকোডটি হ্যাশিং-এ ব্যবহার করা হয় কোন বস্তুকে কোন গ্রুপে শ্রেণীবদ্ধ করা হবে তা নির্ধারণ করতে।

প্রস্তাবিত: