Коллекции Scala - Массив
Scala предоставляет структуру данных, array, который хранит последовательную коллекцию фиксированного размера элементов одного типа. Массив используется для хранения набора данных, но часто бывает полезнее думать о массиве как о коллекции переменных одного типа.
Вместо объявления отдельных переменных, таких как число0, число1, ... и число99, вы объявляете одну переменную массива, такую как числа, и используете числа [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._ пакет.