Класс Vector в ActionScript 3.0

Что это?

Класс Vector появился в языке ActionScript 3.0 с версиями Flash Player 10 и AIR 1.5.

Vector - это индексированный массив, все элементы которого принадлежат к одному (базовому) типу данных (элементы обычного массива могут относится к разным типам данных). Попытка записать в один объект Vector элементы, относящиеся к разным типам данных, приведёт к генерации ошибки. При этом в качестве базового типа данных для массива Vector может выступать любой встроенный или пользовательский тип данных (класс).

Создание массива Vector:

Код ActionScript 3.0

var имя_переменной:Vector.<базовый_тип_данных> = new Vector.<базовый_тип_данных>();

Примеры:

Код ActionScript 3.0

var arr:Vector.<int> = new Vector.<int>(); var arr:Vector.<uint> = new Vector.<uint>(); var arr:Vector.<Number> = new Vector.<Number>(); var arr:Vector.<String> = new Vector.<String>(); var arr:Vector.<Sprite> = new Vector.<Sprite>();

При создании данного типа массива можно указать параметры:

var имя_переменной:Vector.<базовый_тип_данных> = new Vector.<базовый_тип_данных>(длина_массива, fixed);

где:

fixed - принимает значение true или false в зависимости от того, является ли данный массив массивом с фиксированной длиной или нет. Если массив имеет фиксированную длину (fixed = true), то длина такого массива является постоянной величиной и её изменять нельзя.

Пример:

Код ActionScript 3.0

var arr:Vector.<String> = new Vector.<String>(10, true);

Также существует аналогичное свойство fixed:

Код ActionScript 3.0

var arr:Vector.<String> = new Vector.<String>(10); arr.fixed = true;

Использование

Vector используется также, как и Array, но:

- все элементы в массиве Vector должны быть заполнены (для Array таких ограничений нет);

То есть следующий код будет работать корректно:

Код ActionScript 3.0

var arr:Vector.<int> = new Vector.<int>(); arr[0] = 0; arr[1] = 1; arr[2] = 2;

Но если мы не заполним индекс 1 в данном массиве, то это спровоцирует ошибку:

Код ActionScript 3.0

var arr:Vector.<int> = new Vector.<int>(); arr[0] = 0; arr[2] = 2;

- если для массива Vector явно указана его длина, то это ограничение уже нельзя обойти;

- сортировка массива Vector отличается от сортировки обычного массива.

Плюсы и минусы использования Vector

Плюсы:

- прирост производительности (в каждом конкретном случае этот выигрыш в производительности будет разным; увеличению производительности также способствует явное задание длинны массива при его создании);

- легче отследить ошибки, допущенные при работе с массивами.

Минусы:

- данный класс поддерживается Flash Player-ом только начиная с 10-й версии.

Литература

1.) Оф. документация по ActionScript 3.0

2.) H. Paul Robertson, Programming with the Vector class

3.) Использование класса Vector в ActionScript 3 и Flash Player 10

Автор: admin

Дата добавления: 2012-01-25

Просмотров: 2708

Рейтинг поста: +3-

Правила перепечатки

Социальные закладки:
Комментарии:
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2012-10-23
На момент написания ссылка работала, но интернет не стоит на месте :-)

Используется Vector почти также, как и обычные массивы, но считается, что использование Vector-а может дать прирост производительности. Тормозит приложение при работе с Array - пробуем Vector. Иногда помогает...
Комментатор
Комментарий добавил(а): taraa
Дата добавления: 2012-10-23
это конечно неплохой материал, но хотелось бы на примере увидеть возможность использования вектора, бо мало кто включая меня не может понять для чего он нужен, и сылка 3 неработает((
Добавить комментарий:







[ + ] помощь по форматирование текста

Идиот-тест

Если все обязательные поля (отмечены * ) заполнены необходимой информацией, то нажимаем кнопку Добавить комментарий.

Меню
Подписка
Рубрики
Метки
Последние комментарии
Рейтинг постов
Реклама
Друзья
География гостей
Статистика
Яндекс.Метрика