Каковы преимущества и недостатки использования Vector.<>
вместо array
?
Вектор. <> Vs array
Ответ 1
На странице документации adobe:
В результате своих ограничений вектор имеет два основных преимущества над экземпляром Array, элементами которого являются все экземпляры одного класса:
- Производительность: доступ к элементу массива и итерация намного быстрее при использовании экземпляра Vector, чем при использовании массива.
- Тип безопасности: в строгом режиме компилятор может идентифицировать ошибки типа данных, такие как присвоение значения неправильного типа данных Вектору или ожидание неправильного типа данных при чтении значения из вектора. Обратите внимание, однако, что при использовании метода push() или unshift() для добавления значений в вектор, типы данных аргументов не проверяются во время компиляции, а проверяются во время выполнения.
Ответ 2
Pro: вектор быстрее, чем массив. см. это: Более быстрое кодирование JPEG с помощью Flash Player 10
Contra: Vector требует FP10, и согласно http://riastats.com/ около 20% пользователей все еще используют FP9
Ответ 3
Векторы быстрее. Хотя для последовательной итерации самая быстрая вещь кажется связанным-списком.
Векторы также могут быть полезны для растровых операций (проверьте BitmapData.setVector, также BitmapData.lock и разблокируйте).
Ответ 4
Пример связанного списка, упомянутый ранее в комментариях, неправильно написан, хотя он пропускает нечетные узлы и из-за этого только выполняет итерацию половины суммы одних и тех же данных. Неудивительно, что он получает такие отличные результаты, может быть быстрее с правильным кодом, но не с той же разницей в%. Цикл устанавливает current = current.next один раз слишком много (как в цикле, так и в качестве условия цикла) каждая итерация, которая вызывает это поведение.
Ответ 5
Согласно веб-сайту проникновения плеера, он немного выше. Около 85%