คอลเลกชัน Scala - ArrayBuffer
Scala จัดเตรียมโครงสร้างข้อมูลไฟล์ ArrayBufferซึ่งสามารถเปลี่ยนขนาดได้เมื่อขนาดเริ่มต้นสั้นลง เนื่องจากอาร์เรย์มีขนาดฟิกซ์และไม่สามารถใช้องค์ประกอบอื่น ๆ ในอาร์เรย์ได้ ArrayBuffer จึงเป็นอีกทางเลือกหนึ่งของอาร์เรย์ที่ขนาดมีความยืดหยุ่น
ArrayBuffer ภายในจะรักษาอาร์เรย์ของขนาดปัจจุบันเพื่อจัดเก็บองค์ประกอบ เมื่อมีการเพิ่มองค์ประกอบใหม่ขนาดจะถูกตรวจสอบ ในกรณีที่อาร์เรย์พื้นฐานเต็มแล้วจะมีการสร้างอาร์เรย์ขนาดใหญ่ขึ้นใหม่และองค์ประกอบทั้งหมดจะถูกคัดลอกไปยังอาร์เรย์ที่มีขนาดใหญ่ขึ้น
การประกาศตัวแปร ArrayBuffer
ต่อไปนี้เป็นไวยากรณ์สำหรับการประกาศตัวแปร ArrayBuffer
ไวยากรณ์
var z = ArrayBuffer[String]()
ที่นี่ z ถูกประกาศว่าเป็นอาร์เรย์บัฟเฟอร์ของ Strings ซึ่งในตอนแรกว่างเปล่า สามารถเพิ่มค่าได้โดยใช้คำสั่งดังต่อไปนี้ -
คำสั่ง
z += "Zara";
z += "Nuha";
z += "Ayan";
กำลังประมวลผล ArrayBuffer
ด้านล่างนี้เป็นโปรแกรมตัวอย่างในการแสดงวิธีสร้างเริ่มต้นและประมวลผล ArrayBuffer -
ตัวอย่าง
import scala.collection.mutable.ArrayBuffer
object Demo {
def main(args: Array[String]) = {
var myList = ArrayBuffer("Zara","Nuha","Ayan")
println(myList);
// Add an element
myList += "Welcome";
// Add two element
myList += ("To", "Tutorialspoint");
println(myList);
// Remove an element
myList -= "Welcome";
// print second element
println(myList(1));
}
}
บันทึกโปรแกรมข้างต้นใน Demo.scala. คำสั่งต่อไปนี้ใช้เพื่อคอมไพล์และรันโปรแกรมนี้
คำสั่ง
\>scalac Demo.scala
\>scala Demo
เอาต์พุต
ArrayBuffer(Zara, Nuha, Ayan)
ArrayBuffer(Zara, Nuha, Ayan, Welcome, To, Tutorialspoint)
Nuha