Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Android

कोटलिन में हैशमैप पर पुनरावृति कैसे करें?

<घंटा/>

नक्शा एक संग्रह है जहां डेटा को कुंजी-मूल्य जोड़ी के रूप में संग्रहीत किया जाता है और संबंधित कुंजी अद्वितीय होनी चाहिए। एक हैश मैप MutableMap इंटरफ़ेस पर आधारित एक संग्रह वर्ग है और यह हैशटेबल के MutableMapinterface को लागू करके करता है। कोटलिन हैश मैप को परिभाषित करने और उसमें हेरफेर करने के लिए चार प्रकार के कंस्ट्रक्टर प्रदान करता है।

  • हैश मैप () - यह डिफॉल्ट कंस्ट्रक्टर है जो हमें खाली हैश मैप बनाने में मदद करता है।

  • HashMap (आरंभिक क्षमता:Int, loadFactor:Float =0f) - यह हमें प्रारंभिक क्षमता का उपयोग करके हैश मैप बनाने में मदद करता है; यदि यह प्रदान नहीं किया जाता है, तो इसे अनदेखा कर दिया जाएगा और यह डिफ़ॉल्ट हैश मैप () के रूप में कार्य करेगा।

  • हैश मैप (आरंभिक क्षमता:इंट) - यह हमें दी गई क्षमता के साथ हैश मैप बनाने में मदद करता है।

  • HashMap (मूल:मानचित्र <आउट K, V>) - यह मानचित्र में निर्दिष्ट हैश मैप का एक उदाहरण बनाता है।

यहां, हम HashMap() . का उपयोग करेंगे हैश मैप बनाने के लिए कंस्ट्रक्टर और उससे संबंधित Put() कुछ कुंजी-मूल्य डेटा के साथ इसे पॉप्युलेट करने के लिए। इस उदाहरण में, हम "विषय" का एक संग्रह बनाएंगे जिसमें विषय का नाम और हमारी व्यक्तिगत वरीयता संख्या होगी। हम कोटलिन लाइब्रेरी में उपलब्ध विभिन्न विकल्पों का उपयोग करके इस हैश मैप के माध्यम से पुनरावृति करेंगे।

के लिए () लूप का उपयोग करके पुनरावृति करें

पारंपरिक प्रोग्रामिंग भाषाओं में, हमारे पास for() . है किसी भी संग्रह के माध्यम से पार करने के लिए लूप। निम्नलिखित उदाहरण में, हम for() . का उपयोग करके मानचित्र को पार करेंगे लूप।

उदाहरण

 फन मेन (तर्क:ऐरे <स्ट्रिंग>) {// हैश मैप वर विषय घोषित करें:हैश मैप <स्ट्रिंग, इंट> =हैश मैप <स्ट्रिंग, इंट> (); // हैश मैप विषय को मान असाइन करना। पुट ("जावा", 1); विषय.पुट ("कोटलिन", 2); विषय.पुट ("पायथन", 3); विषय.पुट ("सी ++", 4); विषय.पुट ("एसक्यूएल", 5); // लूप के लिए प्रिंट के माध्यम से पुनरावृति ("----------- लूप के लिए पुनरावृति -------------\ n") के लिए ((k, v) विषय में) { println ("विषय का नाम -> $k और इसकी वरीयता -> $v") } println("\n\n")}

आउटपुट

एक बार जब आप कोड निष्पादित करते हैं, तो यह निम्न आउटपुट उत्पन्न करेगा -

$kotlinc -nowarn main.kt -include-runtime -d main.jar$java -Xmx128M -Xms16M -jar main.jar-------- लूप के लिए उपयोग करके पुनरावृति करें------ ----- विषय का नाम -> जावा और इसकी वरीयता -> 1 विषय का नाम -> सी ++ और इसकी वरीयता -> 4 विषय का नाम -> कोटलिन और इसकी वरीयता -> 2 विषय का नाम -> पायथन और इसकी वरीयता -> 3 विषय का नाम -> एसक्यूएल और इसकी वरीयता -> 5

ForEach() लूप का उपयोग करके पुनरावृति करें

for() लूप के अलावा, हम एक संग्रह के माध्यम से प्रचार करने के लिए ForEach() का भी उपयोग कर सकते हैं। निम्नलिखित उदाहरण में, हम forEach() लूप का उपयोग करके मानचित्र को पार करेंगे।

उदाहरण

 फन मेन (तर्क:ऐरे <स्ट्रिंग>) {// हैश मैप वर विषय घोषित करें:हैश मैप <स्ट्रिंग, इंट> =हैश मैप <स्ट्रिंग, इंट> (); // हैश मैप विषय को मान असाइन करना। पुट ("जावा", 1); विषय.पुट ("कोटलिन", 2); विषय.पुट ("पायथन", 3); विषय.पुट ("सी ++", 4); विषय.पुट ("एसक्यूएल", 5); // प्रत्येक प्रिंट के लिए उपयोग करके पुनरावृति करें ("------ प्रत्येक विधि के लिए पुनरावृति का उपयोग करें -------------\ n") विषय। प्रत्येक के लिए {(k, v) -> println ("विषय का नाम -> $ k और इसकी वरीयता -> $v") } println("\n\n")}

आउटपुट

एक बार जब आप कोड निष्पादित करते हैं, तो यह निम्न आउटपुट उत्पन्न करेगा -

$kotlinc -nowarn main.kt -include-runtime -d main.jar$java -Xmx128M -Xms16M -jar main.jar------ प्रत्येक विधि के लिए पुनरावृति का उपयोग करना -------- विषय नाम -> जावा और इसकी वरीयता -> 1 विषय का नाम -> सी ++ और इसकी वरीयता -> 4 विषय का नाम -> कोटलिन और इसकी वरीयता -> 2 विषय का नाम -> पायथन और इसकी वरीयता -> 3 विषय का नाम -> एसक्यूएल और इसकी वरीयता -> 5 

iterator() विधि का उपयोग करना

संग्रह को पार करने के उपरोक्त पारंपरिक तरीकों के अलावा, कोटलिन मानक पुस्तकालय iterator() नामक एक फ़ंक्शन भी प्रदान करता है। जिसका उपयोग हम किसी संग्रह में वस्तुओं के मूल्य को उजागर किए बिना एक्सेस करने के लिए कर सकते हैं। यह संग्रह के सभी मूल्यों तक पहुँचने का सबसे कारगर तरीका है। निम्नलिखित उदाहरण में, हम iterator() . का उपयोग करके हैशमैप को पार करेंगे विधि।

उदाहरण

 फन मेन (तर्क:ऐरे <स्ट्रिंग>) {// हैश मैप वर विषय घोषित करें:हैश मैप <स्ट्रिंग, इंट> =हैश मैप <स्ट्रिंग, इंट> (); // हैश मैप विषय को मान असाइन करना। पुट ("जावा", 1); विषय.पुट ("कोटलिन", 2); विषय.पुट ("पायथन", 3); विषय.पुट ("सी ++", 4); विषय.पुट ("एसक्यूएल", 5); // iterator () विधि का उपयोग करना println ("----------- iterator का उपयोग करना () विधि -----------\n") वैल i =topic.keys.iterator( ) जबकि (i.hasNext ()) {वैल कुंजी =i.next () वैल वैल्यू =विषय [कुंजी] प्रिंट्लन ("विषय का नाम -> $ {कुंजी} और इसकी वरीयता -> $ मूल्य")}}  

आउटपुट

एक बार जब आप कोड निष्पादित करते हैं, तो यह निम्न आउटपुट उत्पन्न करेगा -

$kotlinc -nowarn main.kt -include-runtime -d main.jar$java -Xmx128M -Xms16M -jar main.jar----------- iterator() विधि का उपयोग करना ---- ------- विषय का नाम -> जावा और इसकी वरीयता -> 1 विषय का नाम -> सी ++ और इसकी वरीयता -> 4 विषय का नाम -> कोटलिन और इसकी वरीयता -> 2 विषय का नाम -> पायथन और इसकी वरीयता -> 3 विषय का नाम -> SQL और उसकी प्राथमिकता -> 5

  1. कैसे सरणी में वस्तुओं पर पुनरावृति और जावास्क्रिप्ट में एक संपत्ति योग करने के लिए?

    मान लीजिए कि हमारे पास इस तरह की वस्तुओं की एक सरणी है - const arr = [    {       duration: 10,       any: 'fields'    }, {       duration: 20,       any: 'other fields'    }, {     &n

  1. एंड्रॉइड में सिंगलटन में हैशमैप कैसे स्टोर करें?

    एक उदाहरण में जाने से पहले, हमें पता होना चाहिए कि सिंगलटन डिज़ाइन पैटर्न क्या है। सिंगलटन एक डिज़ाइन पैटर्न है जो किसी वर्ग की तात्कालिकता को केवल एक उदाहरण तक सीमित करता है। उल्लेखनीय उपयोगों में संगामिति को नियंत्रित करना और किसी एप्लिकेशन के डेटा स्टोर तक पहुंचने के लिए एक केंद्रीय पहुंच बिंदु ब

  1. एंड्रॉइड में JSON ऐरे को कैसे पुन:सक्रिय करें?

    यह उदाहरण दर्शाता है कि मैं एंड्रॉइड में JSON ऐरे को कैसे पुन:सक्रिय करूं। चरण 1 - एंड्रॉइड स्टूडियो में एक नया प्रोजेक्ट बनाएं, फाइल ⇒ न्यू प्रोजेक्ट पर जाएं और एक नया प्रोजेक्ट बनाने के लिए सभी आवश्यक विवरण भरें। चरण 2 - निम्न कोड को res/layout/activity_main.xml में जोड़ें। चरण 3 - निम्न कोड