Processing:Справочник языка Processing/Array

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Проверка/Оформление/Редактирование: Мякишев Е.А.


Array [1]

Обозначение

Array

Описание

Массив - это список данных. Можно создать массив любых типов данных. Каждый фрагмент данных в массиве идентифицируется номером индекса, представляющим его позицию в массиве. Первый элемент в массиве - [0], второй - [1] и т.д. Массивы похожи на объекты, поэтому они должны быть созданы с ключевым словом new.

У каждого массива есть переменная length, которая представляет собой целочисленное значение общего количества элементов в массиве. Обратите внимание: поскольку нумерация индекса начинается с нуля (не 1), в массиве с length равным 5 ссылка на последнее значение будет array[4] (то есть length минус 1), а не array[5], что вызовет ошибку.

Другим распространенным источником путаницы является разница между использованием length, чтобы получить размер массива и length(), чтобы получить размер строки. Обратите внимание на наличие круглых скобок при работе со строками (array.length - это переменная, а String.length() - метод, специфичный для класса String).

Синтаксис

datatype[] var
var[element] = value
var.length

Параметры

datatype - любой примитивный или составной тип данных, включая пользовательские классы.
var      - любое допустимое имя переменной.
element  - тип int:не должно превышать длину массива минус 1.
value    - данные, присваиваемые элементу массива; должен иметь тот же тип данных, что и массив.

Пример

№1

int[] numbers = new int[3];
numbers[0] = 90;                  // Присваиваем значение первому элементу массива
numbers[1] = 150;                 // Присваиваем значение второму элементу массива
numbers[2] = 30;                  // Присваиваем значение третьему элементу массива
int a = numbers[0] + numbers[1];  // Присваиваем значение 240 переменной 'a'
int b = numbers[1] + numbers[2];  // Присваиваем значение 180 переменной 'a'

№2

int[] numbers = { 90, 150, 30 };  // Альтернативный синтаксис
int a = numbers[0] + numbers[1];  // Присваиваем значение 240 переменной 'a'
int b = numbers[1] + numbers[2];  // Присваиваем значение 180 переменной 'a'

№3

int degrees = 360;
float[] cos_vals = new float[degrees];
// Используйте цикл for() для быстрого
// перебора всех значений массива
for (int i=0; i < degrees; i++) {         
  cos_vals[i] = cos(TWO_PI/degrees * i);
}

№4

float[] randoms = new float[100];
for (int i = 0; i < randoms.length; i++) {
  randoms[i] = random(100);
}

// Можно также использовать расширенный цикл 
// для доступа к элементам массива
for (float val : randoms) {
  println(val);
}

// Это также работает с массивами объектов, 
// но не при первом создании массива
PVector[] vectors = new PVector[5];
for (int i = 0; i < vectors.length; i++) {
  vectors[i] = new PVector();
}

// Синтаксис применяется только при итерации 
// по существующему массиву 
for (PVector v : vectors) {
  point(v.x, v.y);
}

См.также

Внешние ссылки