คอลเลกชัน Scala - อาร์เรย์
Scala จัดเตรียมโครงสร้างข้อมูลไฟล์ arrayซึ่งเก็บคอลเลกชันตามลำดับขนาดคงที่ขององค์ประกอบประเภทเดียวกัน อาร์เรย์ใช้ในการจัดเก็บชุดข้อมูล แต่มักจะมีประโยชน์มากกว่าที่จะคิดว่าอาร์เรย์เป็นชุดของตัวแปรประเภทเดียวกัน
แทนที่จะประกาศตัวแปรเดี่ยวเช่น number0, number1, ... และ number99 คุณประกาศตัวแปรอาร์เรย์หนึ่งตัวเช่นตัวเลขและใช้ตัวเลข [0], ตัวเลข [1] และ ... , ตัวเลข [99] เพื่อแสดง ตัวแปรแต่ละตัว บทช่วยสอนนี้แนะนำวิธีการประกาศตัวแปรอาร์เรย์สร้างอาร์เรย์และประมวลผลอาร์เรย์โดยใช้ตัวแปรที่จัดทำดัชนี ดัชนีขององค์ประกอบแรกของอาร์เรย์คือตัวเลขศูนย์และดัชนีขององค์ประกอบสุดท้ายคือจำนวนองค์ประกอบทั้งหมดลบด้วยหนึ่ง
การประกาศตัวแปรอาร์เรย์
ในการใช้อาร์เรย์ในโปรแกรมคุณต้องประกาศตัวแปรเพื่ออ้างอิงอาร์เรย์และคุณต้องระบุประเภทของอาร์เรย์ที่ตัวแปรสามารถอ้างอิงได้
ต่อไปนี้เป็นไวยากรณ์สำหรับการประกาศตัวแปรอาร์เรย์
ไวยากรณ์
var z:Array[String] = new Array[String](3)
or
var z = new Array[String](3)
ในที่นี้ z ถูกประกาศว่าเป็นอาร์เรย์ของสตริงที่สามารถเก็บได้ถึงสามองค์ประกอบ สามารถกำหนดค่าให้กับแต่ละองค์ประกอบหรือเข้าถึงแต่ละองค์ประกอบได้โดยใช้คำสั่งต่อไปนี้ -
คำสั่ง
z(0) = "Zara"; z(1) = "Nuha"; z(4/2) = "Ayan"
ที่นี่ตัวอย่างสุดท้ายแสดงให้เห็นว่าโดยทั่วไปดัชนีสามารถเป็นนิพจน์ใดก็ได้ที่ให้ผลเป็นจำนวนเต็ม มีอีกวิธีหนึ่งในการกำหนดอาร์เรย์ -
var z = Array("Zara", "Nuha", "Ayan")
ภาพต่อไปนี้แสดงถึงอาร์เรย์ myList. ที่นี่myList มีค่าสองค่าสิบค่าและดัชนีอยู่ระหว่าง 0 ถึง 9
อาร์เรย์การประมวลผล
เมื่อประมวลผลองค์ประกอบอาร์เรย์เรามักจะใช้โครงสร้างการควบคุมแบบลูปเนื่องจากองค์ประกอบทั้งหมดในอาร์เรย์เป็นประเภทเดียวกันและทราบขนาดของอาร์เรย์
ด้านล่างนี้เป็นโปรแกรมตัวอย่างในการแสดงวิธีสร้างเริ่มต้นและประมวลผลอาร์เรย์ -
ตัวอย่าง
object Demo {
def main(args: Array[String]) {
var myList = Array(1.9, 2.9, 3.4, 3.5)
// Print all the array elements
for ( x <- myList ) {
println( x )
}
// Summing all elements
var total = 0.0;
for ( i <- 0 to (myList.length - 1)) {
total += myList(i);
}
println("Total is " + total);
// Finding the largest element
var max = myList(0);
for ( i <- 1 to (myList.length - 1) ) {
if (myList(i) > max) max = myList(i);
}
println("Max is " + max);
}
}
บันทึกโปรแกรมข้างต้นใน Demo.scala. คำสั่งต่อไปนี้ใช้เพื่อคอมไพล์และรันโปรแกรมนี้
คำสั่ง
\>scalac Demo.scala
\>scala Demo
เอาต์พุต
1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5
Scala ไม่สนับสนุนการดำเนินการอาร์เรย์ต่างๆโดยตรงและมีวิธีการต่างๆในการประมวลผลอาร์เรย์ในมิติใด ๆ หากคุณต้องการใช้วิธีการต่างๆจำเป็นต้องนำเข้าArray._ แพ็คเกจ