Bộ sưu tập Scala - Mảng

Scala cung cấp một cấu trúc dữ liệu, array, nơi lưu trữ một tập hợp tuần tự có kích thước cố định của các phần tử cùng loại. Mảng được sử dụng để lưu trữ một tập hợp dữ liệu, nhưng thường hữu ích hơn nếu coi một mảng là một tập hợp các biến cùng kiểu.

Thay vì khai báo các biến riêng lẻ, chẳng hạn như number0, number1, ... và number99, bạn khai báo một biến mảng chẳng hạn như số và sử dụng số [0], số [1] và ..., số [99] để biểu diễn các biến riêng lẻ. Hướng dẫn này giới thiệu cách khai báo biến mảng, tạo mảng và xử lý mảng bằng cách sử dụng các biến được lập chỉ mục. Chỉ số của phần tử đầu tiên của mảng là số 0 và chỉ số của phần tử cuối cùng là tổng số phần tử trừ đi một.

Khai báo biến mảng

Để sử dụng mảng trong chương trình, bạn phải khai báo một biến để tham chiếu đến mảng và bạn phải chỉ định kiểu mảng mà biến có thể tham chiếu.

Sau đây là cú pháp khai báo một biến mảng.

Cú pháp

var z:Array[String] = new Array[String](3)

or

var z = new Array[String](3)

Ở đây, z được khai báo là một mảng Chuỗi có thể chứa tối đa ba phần tử. Giá trị có thể được gán cho các phần tử riêng lẻ hoặc có quyền truy cập vào các phần tử riêng lẻ, nó có thể được thực hiện bằng cách sử dụng các lệnh như sau:

Chỉ huy

z(0) = "Zara"; z(1) = "Nuha"; z(4/2) = "Ayan"

Ở đây, ví dụ cuối cùng cho thấy rằng nói chung chỉ mục có thể là bất kỳ biểu thức nào mang lại một số nguyên. Có một cách khác để xác định một mảng -

var z = Array("Zara", "Nuha", "Ayan")

Hình ảnh sau đại diện cho một mảng myList. Đây,myList giữ mười giá trị kép và các chỉ số từ 0 đến 9.

Mảng xử lý

Khi xử lý các phần tử của mảng, chúng ta thường sử dụng các cấu trúc liên tục lặp vì tất cả các phần tử trong một mảng đều có cùng kiểu và kích thước của mảng đã biết trước.

Dưới đây là một chương trình ví dụ về cách tạo, khởi tạo và xử lý mảng -

Thí dụ

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);
   }
}

Lưu chương trình trên vào Demo.scala. Các lệnh sau được sử dụng để biên dịch và thực thi chương trình này.

Chỉ huy

\>scalac Demo.scala
\>scala Demo

Đầu ra

1.9
2.9
3.4
3.5
Total is 11.7
Max is 3.5

Scala không hỗ trợ trực tiếp các hoạt động mảng khác nhau và cung cấp các phương pháp khác nhau để xử lý mảng theo bất kỳ chiều nào. Nếu bạn muốn sử dụng các phương pháp khác nhau thì bắt buộc phải nhậpArray._ gói hàng.