2010-10-17 9 views
6

स्ट्रिंग्स के जोड़े को पकड़ने के लिए एक साफ तरीका क्या है जो एक छोटे से संग्रह के लिए महत्वपूर्ण मूल्यों (डुप्लिकेट कुंजी हो सकती है) नहीं हैं? सूची [सूची [स्ट्रिंग]] स्पष्ट रूप से काम करता है लेकिन गंदे लग रहा है।स्कैला: स्ट्रिंग्स के जोड़े रखने के लिए अच्छा तरीका

चीयर्स
परसा

उत्तर

11

tuples जोड़े का प्रतिनिधित्व करने के लिए आदर्श डेटा संरचना है।

तो (String, String) टुपल्स की एक सूची का उपयोग करें।

14

List[(String,String)] मानक समाधान है:

scala> List(("foo","bar"), ("foo","baz")) 
res1: List[(java.lang.String, java.lang.String)] = List((foo,bar), (foo,baz)) 
+3

बिल्कुल! Tuples के बारे में अच्छी बात यह है कि समानता, पैटर्न मिलान, आदि काम करता है जैसा कि एक उम्मीद होगी। '(" foo "," bar ") == (" foo "," bar ") उदाहरण के लिए' सत्य 'देता है। – soc

+3

आपको जोड़े की लेक्सिकोग्राफिक ऑर्डरिंग भी मिलती है, जो एक बेहद अच्छी फ्रीबी है। –

+2

मैं कल इस अच्छी टुपल चाल में आया: http://goo.gl/MT6J। यह इस तथ्य का एक अच्छा उपयोग करता है कि सभी ट्यूपल वर्गों में उनके लिए परिभाषित 'ऑर्डरिंग' विशेषता के उदाहरण होते हैं। – missingfaktor

संबंधित मुद्दे