मैं एक मानचित्र ("ए", "बी", "सी") को मानचित्र में कैसे बदलूं ("ए" -> 1, "बी" -> 2, "सी" -> 3)? मुझे लगता है कि इसे टोमैप के साथ काम करना चाहिए।स्कैला कनवर्ट करें मानचित्र पर सेट करें
उत्तर
zipWithIndex
शायद आप जो खोज रहे हैं वह शायद है। यह आपके संग्रह पत्रों को संग्रहित करेगा और संग्रह में स्थिति के साथ मिलान मूल्य, टुपल्स का एक नया संग्रह करेगा। आप एक अतिरिक्त आवश्यकता हालांकि है - ऐसा लगता है कि अपने पदों 0 के बजाय, 1 के साथ शुरू, ताकि आप उन tuples को बदलने के लिए की आवश्यकता होगी:
Set("a","b","c")
.zipWithIndex //(a,0), (b,1), (c,2)
.map{case(v,i) => (v, i+1)} //increment each of those indexes
.toMap //toMap does work for a collection of Tuples
एक अतिरिक्त विचार - सेट स्थिति को बनाए रखने नहीं है। अगर आप ऊपर की स्थिति को लगातार काम करना चाहते हैं तो सूची जैसे संरचना का उपयोग करने पर विचार करें। एक और समाधान 1 से शुरू सभी प्राकृतिक संख्या का एक Stream
का उपयोग करता है अपने Set
साथ ज़िप किया जा करने के लिए
यही वही था जो मैं चाहता था। धन्यवाद। –
टोपैप केवल तभी काम करता है जब सेट एंटीज कुंजी/वैल्यू जोड़े (जैसे सेट (("ए", 1), ("बी", 2), ("सी", 3))। आप क्या चाहते हैं पाने के लिए, zipWithIndex का उपयोग करें:
scala> Set("a","b","c") zipWithIndex
res5: scala.collection.immutable.Set[(java.lang.String, Int)] = Set((a,0), (b,1), (c,2))
संपादित करें: या (यदि आप मूल प्रश्न में के रूप में :))
scala> Set("a","b","c") zip (1 to 3) toMap
EDIT2: ओह, मुझे अंत में toMap भूल गया!
यहाँ है:
scala> Set("a", "b", "c") zip Stream.from(1) toMap
Map((a,1), (b,2), (c,3))
+1, यह सबसे अच्छा जवाब है। – missingfaktor
यह भी होगा काम:
(('a' to 'c') zip (1 to 3)).toMap
- 1. स्कैला मानचित्र कैसे पुनरारंभ करें?
- 2. स्कैला में दिनांक टाइमस्टैम्प में कनवर्ट करें
- 3. जावा मानचित्र को जावास्क्रिप्ट मानचित्र में कनवर्ट करें
- 4. स्कैला में JSON पर एक मानचित्र को क्रमबद्ध कैसे करें?
- 5. एक स्कैला मानचित्र को एक सूची में कनवर्ट करना
- 6. java.util.Map से एक स्कैला मानचित्र में कनवर्ट करने के लिए कैसे करें
- 7. नेटबीन के लिए स्कैला सेट करें - त्रुटि
- 8. Google मानचित्र API v3 में मानचित्र आकार कैसे सेट करें?
- 9. स्कैला TreeMap से कुंजी कैसे सेट करें और प्राप्त करें?
- 10. स्कैला: org.w3c.dom कनवर्ट करें। Scala.xml को दस्तावेज़। नोडसेक
- 11. स्कैला कस्टम मानचित्र
- 12. आईफोन एमकेमैप व्यू: मानचित्र पर सभी पिन दिखाने के लिए मानचित्र क्षेत्र सेट करें
- 13. स्कैला मानचित्र -> ऑपरेटर
- 14. IENumerable <dynamic> पर कनवर्ट करें?
- 15. अप्रत्याशित स्कैला मानचित्र प्रकार
- 16. केवल स्कैला मानचित्र में मूल्य से न्यूनतम कैसे प्राप्त करें
- 17. Google मानचित्र सर्कल कैसे करें मानचित्र को फिट करें
- 18. स्कैला मानचित्र विधि वाक्यविन्यास
- 19. Google मानचित्र एपीआई: नक्शा का सेट केंद्र ऑफसेट पर पिक्सल में सेट करें?
- 20. कनवर्ट करें 'System.Dynamic.DynamicObject System.Collections.IEnumerable
- 21. एंड्रॉइड मानचित्र: मानचित्र पर लंबे समय तक कैसे क्लिक करें?
- 22. document.ready DOMContentLoaded पर सेट करें?
- 23. Math.random पर सेट करें बीज()
- 24. परिवर्तनीय मानचित्र में परिवर्तनीय कनवर्ट करना
- 25. ओएसएम मानचित्र पर उपयोगकर्ता स्थान निर्धारित करें
- 26. मानचित्र दृश्य पर विजेट प्रदर्शित करें
- 27. स्कैला ऐरे मानचित्र रिटर्न ArraySeq
- 28. java.util.HashMap को scala.collection.immutable में कनवर्ट करें। जावा
- 29. Google मानचित्र में ज़ूम स्तर कैसे सेट करें
- 30. हैडऑप 0.20 में मानचित्र कार्यों की संख्या कैसे सेट करें?
आप ख चाहते मैप करने के लिए करते हैं 2 तक क्योंकि यह सेट में दूसरा है? या क्योंकि यह वर्णमाला में दूसरा अक्षर है? सेट्स का आदेश नहीं दिया जाता है, क्योंकि अन्य पोस्टर ने इंगित किया है, इसलिए पहला काम नहीं करेगा। –