স্কালার তালিকা সংশোধন করার জন্য ডিজাইন করা হয়নি। আসলে, আপনি কোনও স্কেলে উপাদান যুক্ত করতে পারবেন না 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
জাভাতেও) তবে এটি কেবল অনুমান।