scala.List
अपरिवर्तनीय है, जिसका अर्थ है कि आप इसे स्थान पर अपडेट नहीं कर सकते हैं। आप अपनी सूची की एक प्रति जो अद्यतन मानचित्रण शामिल बनाना चाहते हैं, तो आप निम्न कर सकते हैं:
val updated = l2.updated(2, 55)
वहाँ अस्थायी आदेश दिया अनुक्रम प्रकार ऐसे भी हैं, scala.collection.mutable
में, इस तरह के रूप Buffer
प्रकार जो और अधिक लग रहे हैं आप क्या चाहते हैं की तरह।
scala> import scala.collection._
import scala.collection._
scala> val b = mutable.Buffer(1,2,3)
b: scala.collection.mutable.Buffer[Int] = ArrayBuffer(1, 2, 3)
scala> b(2) = 55
scala> b
res1: scala.collection.mutable.Buffer[Int] = ArrayBuffer(1, 2, 55)
संपादित करें:: आप निम्नलिखित की कोशिश यदि आप अधिक सफलता मिलनी चाहिए बस ध्यान दें कि कुछ अन्य उत्तर उल्लेख किया है कि आप एक "अस्थायी सूची प्रकार" का उपयोग करना चाहिए - यह सच है, लेकिन "सूची" स्काला में सिर्फ एकल-लिंक्ड सूची को संदर्भित करता है, जबकि जावा में यह आमतौर पर किसी भी आदेशित, यादृच्छिक-अभिगम संग्रह के लिए उपयोग किया जाता है। वहाँ भी एक DoubleLinkedList
जो अधिक एक जावा LinkedList
, और एक MutableList
है, जो एक प्रकार कुछ अन्य प्रकार के आंतरिक भागों के लिए इस्तेमाल किया है की तरह है, है।
सामान्यतया क्या आप शायद स्काला में चाहते हैं इस काम के लिए एक Buffer
है; खासकर जब से डिफ़ॉल्ट कार्यान्वयन ArrayBuffer
है, जो जावा में अधिकांश लोगों के डिफ़ॉल्ट, ArrayList
के समान होने के करीब है।
यदि आप कभी भी यह जानना चाहते हैं कि स्कैला दुनिया में जावा संग्रह इंटरफ़ेस का सबसे नज़दीकी "मैपिंग" क्या है, तो सबसे आसान काम यह है कि शायद JavaConversions करता है। इस मामले में आप देख सकते हैं मानचित्रण Buffer
के लिए है:
scala.collection.mutable.Buffer <=> java.util.List
यह करेगा, धन्यवाद वैल अपडेट = l2।अपडेट किया गया (2, 55) – Ska