คอลเลกชัน 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._ แพ็คเกจ