কম্পিউটার টিউটোরিয়াল

জাভাতে HashMap এবং TreeMap-এর পার্থক্য

এই পোস্টে আমরা জাভাতে HashMap এবং TreeMap-এর পার্থক্য বুঝব।

HashMap

  • এটি জাভাতে একটি হ্যাশ টেবিল (hash table)।
  • এটি 'map' ইন্টারফেসের ইমপ্লিমেন্টেশন पर ভিত্তি করে।
  • এটি 'Map', 'Cloneable', এবং 'Serializable' ইন্টারফেস ইমপ্লিমেন্ট করে।
  • এটি একটি সিঙ্গেল নাল কি (null key) অনুমতি দেয়।
  • এটি একাধিক নাল ভ্যালু (null values) অনুমতি দেয়।
  • TreeMap-এর চেয়ে দ্রুত।
  • কারণ 'get' এবং 'put' এর মতো অপারেশনের জন্য কনস্ট্যান্ট-টাইম পারফরম্যান্স, অর্থাৎ O(1) দেয়।
  • কি (keys) উপরে সর্টিং করে না।
  • সুতরাং HashMap-এ হেটেরোজিনাস (heterogeneous) এলিমেন্ট অনুমোদিত।
  • এলিমেন্টের ক্রম মেইনটেইন করে না।
  • এটি তখন ব্যবহার করা উচিত যখন সর্টেড অর্ডারে কি-ভ্যালু পেয়ার দরকার নয়।
  • কি তুলনা করার জন্য Object ক্লাসের 'equals' মেথড ব্যবহার করে।
  • Map ক্লাসের 'equals' মেথড এটি ওভাররাইড করে।
  • শুধু বেসিক মেথড থাকেন: 'KeySet', 'get', 'put'।

TreeMap

  • এটি জাভাতে ব্যবহৃত একটি ট্রি স্ট্রাকচার।
  • এটি 'map' ইন্টারফেসের ইমপ্লিমেন্টেশন पर ভিত্তি করে।
  • এটি 'NavigableMap', 'Cloneable', এবং 'Serializable' ইন্টারফেস ইমপ্লিমেন্ট করে।
  • এটি নাল কি (null keys) অনুমতি দেয় না।
  • এটি একাধিক নাল ভ্যালু অনুমতি দেয়।
  • সর্টেড হওয়ায় কি হিসেবে হোমোজিনাস (homogeneous) ভ্যালু অনুমতি দেয়।
  • HashMap-এর চেয়ে ধীর কারণ অধিকাংশ অপারেশনের জন্য O(log(n)) কমপ্লেক্সিটি দেয়, যেমন add(), remove(), contains()।
  • আন্তরিকভাবে রেড-ব্ল্যাক ট্রি (Red-Black tree) ব্যবহার করে।
  • রেড-ব্ল্যাক ট্রি হল একটি সেলফ-ব্যালেন্সিং বাইনারি সার্চ ট্রি।
  • কি তুলনা করার জন্য compareTo() মেথড ব্যবহার করা হয়।
  • অনেক ফাংশনালিটি আছে: tailMap(), firstKey(), lastKey(), pollFirstEntry(), pollLastEntry()।
  • এলিমেন্টগুলো অ্যাসেন্ডিং অর্ডারে (ascending order), যাকে ন্যাচারাল অর্ডারও বলা হয়, সর্টেড থাকে।
  • যখন কি-ভ্যালু পেয়ার সর্টেড অর্ডারে দরকার, তখন এটি ব্যবহার করা হয়।
  1. জাভাতে Serialization এবং Externalization-এর পার্থক্য

  2. জাভাতে ConcurrentHashMap এবং Synchronized HashMap-এর পার্থক্য

  3. জাভাতে Iterator এবং Enumeration-এর পার্থক্য

  4. জাভাতে ArrayList এবং HashSet-এর পার্থক্য