स्काला कलेक्शंस - टपल
स्काला टपल एक निश्चित संख्या में वस्तुओं को एक साथ जोड़ती है ताकि उन्हें एक पूरे के रूप में पास किया जा सके। एक सरणी या सूची के विपरीत, एक ट्यूल अलग-अलग प्रकार की वस्तुओं को पकड़ सकता है लेकिन वे अपरिवर्तनीय भी हैं।
निम्नलिखित एक पूर्णांक, एक स्ट्रिंग, और कंसोल को पकड़े हुए टपल का एक उदाहरण है।
val t = (1, "hello", Console)
निम्नलिखित के लिए वाक्यगत शर्करा कौन सी है (शॉर्ट कट) -
val t = new Tuple3(1, "hello", Console)
टपल का वास्तविक प्रकार उन तत्वों की संख्या और तत्वों पर निर्भर करता है, जो उन तत्वों के प्रकार हैं। इस प्रकार, का प्रकार (99, "लुफ्टबॉल") टपल 2 [इंट, स्ट्रिंग] है। का प्रकार ('u', 'r', "the, 1, 4," me ") Tuple6 [चार, चार, स्ट्रिंग, इंट, इंट, स्ट्रिंग] है।
Tuples टाइप Tuple1, Tuple2, Tuple3 और इसी तरह के हैं। वर्तमान में स्केल में 22 की ऊपरी सीमा है यदि आपको अधिक की आवश्यकता है, तो आप एक संग्रह का उपयोग कर सकते हैं, न कि एक टपल। प्रत्येक TupleN प्रकार के लिए, जहाँ 1 <= N <= 22, Scala कई तत्व-अभिगम विधियों को परिभाषित करता है। निम्नलिखित परिभाषा को देखते हुए -
val t = (4,3,2,1)
एक tuple t के तत्वों को एक्सेस करने के लिए, आप पहले तत्व को एक्सेस करने के लिए t._1 मेथड का उपयोग कर सकते हैं, दूसरे पर पहुंचने के लिए t._2, और इसी तरह। उदाहरण के लिए, निम्नलिखित अभिव्यक्ति टी के सभी तत्वों के योग की गणना करती है।
val sum = t._1 + t._2 + t._3 + t._4
आप एक विधि लिखने के लिए Tuple का उपयोग कर सकते हैं, जो एक सूची [Double] लेता है और गिनती, योग, और तीन-तत्व Tuple, Tuple3 [Int, Double, Double] में लौटाए गए वर्गों का योग देता है। वे समवर्ती प्रोग्रामिंग में अभिनेताओं के बीच संदेशों के रूप में डेटा मूल्यों की एक सूची को पारित करने के लिए भी उपयोगी हैं।
निम्नलिखित उदाहरण कार्यक्रम का प्रयास करें। यह दिखाता है कि टपल का उपयोग कैसे किया जाता है।
उदाहरण
object Demo {
def main(args: Array[String]) {
val t = (4,3,2,1)
val sum = t._1 + t._2 + t._3 + t._4
println( "Sum of elements: " + sum )
}
}
में उपरोक्त कार्यक्रम सहेजें Demo.scala। इस प्रोग्राम को संकलित करने और निष्पादित करने के लिए निम्न कमांड का उपयोग किया जाता है।
आदेश
\>scalac Demo.scala
\>scala Demo
उत्पादन
Sum of elements: 10
टुपले पर Iterate
आप उपयोग कर सकते हैं Tuple.productIterator() एक ट्यूपल के सभी तत्वों पर पुनरावृति करने की विधि।
टुपल्स पर पुनरावृति करने के लिए निम्न उदाहरण कार्यक्रम का प्रयास करें।
उदाहरण
object Demo {
def main(args: Array[String]) {
val t = (4,3,2,1)
t.productIterator.foreach{ i =>println("Value = " + i )}
}
}
में उपरोक्त कार्यक्रम सहेजें Demo.scala। इस प्रोग्राम को संकलित करने और निष्पादित करने के लिए निम्न कमांड का उपयोग किया जाता है।
आदेश
\>scalac Demo.scala
\>scala Demo
उत्पादन
Value = 4
Value = 3
Value = 2
Value = 1
स्ट्रिंग में परिवर्तित हो रहा है
आप उपयोग कर सकते हैं Tuple.toString()टपल के सभी तत्वों को एक स्ट्रिंग में समेटने की विधि। स्ट्रिंग में कनवर्ट करने के लिए निम्न उदाहरण प्रोग्राम का प्रयास करें।
उदाहरण
object Demo {
def main(args: Array[String]) {
val t = new Tuple3(1, "hello", Console)
println("Concatenated String: " + t.toString() )
}
}
में उपरोक्त कार्यक्रम सहेजें Demo.scala। इस प्रोग्राम को संकलित करने और निष्पादित करने के लिए निम्न कमांड का उपयोग किया जाता है।
आदेश
\>scalac Demo.scala
\>scala Demo
उत्पादन
Concatenated String: (1,hello,scala.Console$@281acd47)
तत्वों को स्वैप करें
आप उपयोग कर सकते हैं Tuple.swap Tuple2 के तत्वों को स्वैप करने की विधि।
तत्वों की अदला-बदली के लिए निम्न उदाहरण कार्यक्रम का प्रयास करें।
उदाहरण
object Demo {
def main(args: Array[String]) {
val t = new Tuple2("Scala", "hello")
println("Swapped Tuple: " + t.swap )
}
}
में उपरोक्त कार्यक्रम सहेजें Demo.scala। इस प्रोग्राम को संकलित करने और निष्पादित करने के लिए निम्न कमांड का उपयोग किया जाता है।
आदेश
\>scalac Demo.scala
\>scala Demo
उत्पादन
Swapped tuple: (hello,Scala)