ቁልፍ ልዩነት - HashMap vs TreeMap
በፕሮግራም አወጣጥ ላይ የተለያዩ መረጃዎችን ለመሰብሰብ ስልቶች አሉ። ስብስቦች ውሂብን ለማከማቸት አንዱ ዘዴ ነው። እንደ ጃቫ ያሉ የፕሮግራሚንግ ቋንቋዎች ስብስቦችን ይጠቀማሉ። የውሂብ አባሎችን ስብስብ ለማከማቸት እና ለማቀናበር ከክፍሎች እና መገናኛዎች ጋር ማዕቀፍ ነው። በመደበኛ ድርድር ውስጥ፣ ለማከማቸት የተወሰነ የንጥረ ነገሮች ብዛት አለ። ያ የድርድር ገደብ ነው። በምትኩ, ፕሮግራሚው ስብስቦችን መጠቀም ይችላል. ክምችቶችን በመጠቀም እንደ ማስገባት፣ መሰረዝ፣ መደርደር እና መፈለግ ያሉ ክዋኔዎች ሊከናወኑ ይችላሉ። በጃቫ የካርታ በይነገጽ የክምችቶች ነው። ካርታው በቁልፍ ፣ የእሴት ጥንዶች ውስጥ ያለውን ውሂብ ለመወከል ጥቅም ላይ ይውላል።ልዩ ቁልፎች ብቻ አሉ, እና እያንዳንዳቸው ተመጣጣኝ ዋጋ አላቸው. HashMap እና TreeMap የካርታ በይነገጽን የሚተገብሩ ክፍሎች ናቸው። HashMap በመረጃ አካላት ውስጥ የተወሰነ ቅደም ተከተል የሌላቸውን ቁልፍ እና እሴት ጥንዶች ለማከማቸት የሚያገለግል በካርታ ላይ የተመሰረተ የስብስብ ክፍል ነው። TreeMap በካርታ ላይ የተመሰረተ የመሰብሰቢያ ክፍል ሲሆን ይህም የውሂብ ክፍሎችን ወደ ላይ ከፍ የሚያደርጉ ቁልፍ እና እሴት ጥንዶችን ለማከማቸት የሚያገለግል ነው። በ HashMap እና TreeMap መካከል ያለው ቁልፍ ልዩነት HashMap በመረጃ አካላት ውስጥ የተወሰነ ቅደም ተከተል አለመያዙ ሲሆን TreeMap የውሂብ ክፍሎችን ወደ ላይ ከፍ ብሎ ሲይዝ ነው።
HashMap ምንድን ነው?
HashMap የካርታ በይነገጽን ተግባራዊ የሚያደርግ ክፍል ነው። የአብስትራክት ካርታ ክፍልን ያራዝመዋል እና የካርታ በይነገጽን ተግባራዊ ያደርጋል። HashMap ቁልፉን፣ የእሴት ጥንዶችን ይዟል። እያንዳንዱ ንጥረ ነገር ልዩ ነው። ቁልፉን በመጠቀም በ HashMap ውስጥ ያሉትን ንጥረ ነገሮች ማግኘት ቀላል ነው። HashMapን ማወጅ እንደሚከተለው ነው።
የህዝባዊ ክፍል HashMap የአብስትራክት ካርታን ይዘረጋል፣ ሊከለከል የሚችል፣ ተከታታይነት ያለው
K ቁልፉን ሲያመለክት V ደግሞ ከተወሰነ ቁልፍ ጋር የሚዛመደውን እሴት ያመለክታል። እያንዳንዱ ቁልፍ፣ የእሴት ጥንድ የ HashMap ግቤት ነው።
ሥዕል 01፡ የካርታ በይነገጽ
HaspMapን ለመረዳት የሚከተለውን ሁኔታ ግምት ውስጥ ያስገቡ። እዚያ ፕሮግራመር የተማሪ ስሞችን እና ተዛማጅ የመረጃ ጠቋሚ ቁጥሮችን ማከማቸት ከፈለገ HashMapን መጠቀም ይችላል። የተማሪዎቹ ስሞች የመረጃ ጠቋሚ ቁጥሮችን ለማግኘት ያገለግላሉ። ስለዚህ የተማሪ ስሞች ቁልፎቹ ሲሆኑ የመረጃ ጠቋሚ ቁጥሮች ደግሞ እሴቶቹ ናቸው።
ምስል 02፡ የሃሽማፕ ፕሮግራም ጃቫን በመጠቀም
ከላይ ባለው ፕሮግራም መሰረት የHashMap ነገር ተፈጥሯል።ከዚያም ፕሮግራመር ያንን ነገር በመጠቀም ንጥረ ነገሮችን መጨመር ይችላል. የተቀመጠ ዘዴን በመጠቀም እሴቶችን ማስገባት ይቻላል. እሴቶቹን ለማምጣት ፕሮግራመርተኛው የማግኛ ዘዴን ከቁልፍ ጋር መጠቀም አለበት። studentList.get ("150") ሲጠቀሙ; ተጓዳኝ ስሙን ወደዚያ ኢንዴክስ ያትማል። ፕሮግራም አድራጊው ሁሉንም እሴቶች ማግኘት ከፈለገ ሁሉንም ቁልፎችን እና እሴቶችን ለማተም Map. Entryን መጠቀም ይችላል። ውጤቱን በሚመለከቱበት ጊዜ, HashMap የተወሰነ ቅደም ተከተል እንደማይይዝ ማየት ይቻላል. በገባው ቅደም ተከተል ውስጥ ያሉትን ንጥረ ነገሮች አይታተምም. ንጥረ ነገሮቹ በዘፈቀደ ቅደም ተከተል ታትመዋል።
TreeMap ምንድን ነው?
TreeMap በጃቫ ውስጥ የካርታ በይነገጽን ተግባራዊ የሚያደርግ ክፍል ነው። ከ HashMap ጋር በሚመሳሰል መልኩ፣ ቁልፉን፣ የእሴት ጥንዶችን ነገር ግን በከፍታ ቅደም ተከተል ለማስቀመጥ ይጠቅማል። TreeMap NavigableMap እና NavigableMap የተደረደረ ካርታን ያራዝማል እና የተደረደረ ካርታን ያራዝመዋል። እያንዳንዱ ንጥረ ነገር ልዩ ነው። TreeMap ማወጅ እንደሚከተለው ነው።
የሕዝብ ክፍል TreeMap የአብስትራክት ካርታን ይዘረጋል NavigableMap፣ Cloneable፣ Serializable
K ቁልፉን ሲያመለክት V ደግሞ ከተወሰነ ቁልፍ ጋር የሚዛመደውን እሴት ያመለክታል። እያንዳንዱ ቁልፍ፣ የእሴት ጥንድ የTreeMap ግቤት ነው።
ምስል 03፡ የ TreeMap ፕሮግራም ጃቫን በመጠቀም
ከላይ ባለው ፕሮግራም መሰረት የTreeMap ነገር ተፈጥሯል። ከዚያም ፕሮግራመር ያንን ነገር በመጠቀም ንጥረ ነገሮችን መጨመር ይችላል. የተቀመጠ ዘዴን በመጠቀም እሴቶችን ማስገባት ይቻላል. እሴቶቹን ለማምጣት ፕሮግራመርተኛው የማግኛ ዘዴን ከቁልፍ ጋር መጠቀም አለበት። studentList.get ("150") ሲጠቀሙ; ተጓዳኝ ስሙን ወደዚያ ኢንዴክስ ያትማል። ፕሮግራም አድራጊው ሁሉንም እሴቶች ማግኘት ከፈለገ ሁሉንም ቁልፎችን እና እሴቶችን ለማተም Map. Entryን መጠቀም ይችላል። ውጤቱን በሚመለከቱበት ጊዜ, TreeMap የተወሰነ ቅደም ተከተል እንደሚይዝ ማየት ይቻላል. ንጥረ ነገሮቹ በከፍታ ቅደም ተከተል ታትመዋል።
በሃሽማፕ እና በትሬ ካርታ መካከል ያለው ተመሳሳይነት ምንድን ነው?
- ሁለቱም HashMap እና TreeMap የካርታ በይነገጽን ተግባራዊ ያደርጋሉ።
- ሁለቱም HashMap እና TreeMap ብዙ ክፍሎችን ማከማቸት እና ማቀናበር ይችላሉ።
- ሁለቱም HashMap እና TreeMap ቁልፍ፣ የእሴት ጥንድ ይዟል።
- ሁለቱም HashMap እና TreeMap ብዙ ዋጋ የሌላቸው እሴቶች ሊኖራቸው ይችላል።
- በሁለቱም HashMap እና TreeMap ውስጥ የሚቀመጡ የንጥረ ነገሮች ብዛት ምንም ገደብ የለም።
በ HashMap እና TreeMap መካከል ያለው ልዩነት ምንድን ነው?
HashMap vs TreeMap |
|
A HashMap በመረጃ ክፍሎች ውስጥ የተወሰነ ቅደም ተከተል የሌላቸውን ቁልፍ እና እሴት ጥንዶች ለማከማቸት የሚያገለግል በካርታ ላይ የተመሰረተ የስብስብ ክፍል ነው። | A TreeMap በካርታ ላይ የተመሰረተ የስብስብ ክፍል ሲሆን ይህም የውሂብ ክፍሎችን ወደ ላይ ከፍ ያለውን ቅደም ተከተል የሚጠብቅ ቁልፍ እና እሴት ጥንድ ለማከማቸት የሚያገለግል ነው። |
ትዕዛዝ | |
HashMap ትዕዛዙን አያስከብርም። | TreeMap ወደ ላይ የሚወጣውን ቅደም ተከተል ይጠብቃል። |
Null Key | |
HashMap አንድ ባዶ ቁልፍ ሊይዝ ይችላል። | TreeMap ባዶ ቁልፍ ሊኖረው አይችልም። |
አፈጻጸም | |
HashMap ከTreeMap የበለጠ ፈጣን ነው። | TreeMap ከ HashMap ቀርፋፋ ነው። |
ማጠቃለያ – HashMap vs TreeMap
እንደ ጃቫ ያሉ የፕሮግራም አወጣጥ ቋንቋዎች የስብስብ ማዕቀፉን ይይዛሉ። በድርድር ውስጥ፣ ቋሚ የንጥረ ነገሮች ብዛት ሊኖር ይችላል። ስለዚህ, የድርድር መጠኑ መጀመሪያ ላይ መጀመር አለበት. በክምችቶች ውስጥ, ፕሮግራመር እንደ አስፈላጊነቱ ብዙ ንጥረ ነገሮችን ማከማቸት ይችላል.ለማከማቸት የተለየ መጠን የለም. ካርታው የስብስብ ማዕቀፍ የሆነ በይነገጽ ነው። HashMap በመረጃ ክፍሎች ውስጥ የተወሰነ ቅደም ተከተል የሌላቸውን ቁልፍ እና እሴት ጥንዶችን ለማከማቸት የሚያገለግል በካርታ ላይ የተመሰረተ የስብስብ ክፍል ነው። TreeMap በካርታ ላይ የተመሰረተ የመሰብሰቢያ ክፍል ሲሆን ይህም የውሂብ ክፍሎችን ወደ ላይ ከፍ ያለውን ቅደም ተከተል የሚይዝ ቁልፍ እና እሴት ጥንዶችን ለማከማቸት የሚያገለግል ነው። ይህ መጣጥፍ በHashMap እና TreeMap መካከል ያለውን ልዩነት ተብራርቷል ይህም የካርታ በይነገጽን ተግባራዊ ያደርጋል። በ HashMap እና TreeMap መካከል ያለው ልዩነት HashMap በመረጃ አካላት ውስጥ የተወሰነ ቅደም ተከተል አለመያዙ ሲሆን TreeMap የውሂብ ክፍሎችን ወደ ላይ ከፍ ያለ ቅደም ተከተል ይይዛል።