স্কালার তালিকা সংশোধন করার জন্য ডিজাইন করা হয়নি। আসলে, আপনি কোনও স্কেলে উপাদান যুক্ত করতে পারবেন না List; এটি জাভা স্ট্রিংয়ের মতো একটি অপরিবর্তনীয় ডেটা কাঠামো । আপনি যখন স্কেলে "তালিকার সাথে একটি উপাদান যুক্ত করেন" আসলে আপনি যা করেন তা হ'ল বিদ্যমান তালিকা থেকে একটি নতুন তালিকা তৈরি করা । (উৎস)
এই জাতীয় ব্যবহারের ক্ষেত্রে তালিকাগুলি ব্যবহার করার পরিবর্তে, আমি হয় একটি ArrayBufferবা একটি ব্যবহার করার পরামর্শ দিই ListBuffer। এই ডেটাস্ট্রাকচারগুলি নতুন উপাদান যুক্ত করার জন্য ডিজাইন করা হয়েছে।
অবশেষে, আপনার সমস্ত ক্রিয়াকলাপ শেষ হওয়ার পরে, বাফারটিকে পরে তালিকায় রূপান্তর করা যায়। নিম্নলিখিত REPL উদাহরণ দেখুন:
scala> import scala.collection.mutable.ListBuffer
import scala.collection.mutable.ListBuffer
scala> var fruits = new ListBuffer[String]()
fruits: scala.collection.mutable.ListBuffer[String] = ListBuffer()
scala> fruits += "Apple"
res0: scala.collection.mutable.ListBuffer[String] = ListBuffer(Apple)
scala> fruits += "Banana"
res1: scala.collection.mutable.ListBuffer[String] = ListBuffer(Apple, Banana)
scala> fruits += "Orange"
res2: scala.collection.mutable.ListBuffer[String] = ListBuffer(Apple, Banana, Orange)
scala> val fruitsList = fruits.toList
fruitsList: List[String] = List(Apple, Banana, Orange)
Listএটি একটিতে রূপান্তরিত হয়েছেListBuffer, উপাদানটি সংযোজন করা হয়েছে এবংListBufferফিরে রূপান্তরিত হয়েছে (বেশ কিছুটা পছন্দ মতোStringএবংStringBuilderজাভাতেও) তবে এটি কেবল অনুমান।