What you maybe already know:
Vector class is a powerful class introduced with flash player 10. It is fundamentally a special typed array into which all elements must be the same type and it is faster than a normal Array.
What you maybe don’t know:
It’s possible to initialize a Vector with an Array or another Vector as a source but you must use the Vector function not the class constructor. The class constructor in fact has the following signature:
1 | Vector(length:uint = 0, fixed:Boolean = false) |
Vector function instead has this:
1 | Vector(sourceArray:Object):Vector.<T> |
So, rather than using such approach:
1 2 3 4 5 | var vector:Vector.<String> = new Vector.<String>(); vector[0] = "value1"; vector[1] = "value2"; vector[2] = "value3"; // ...and so on |
We can do the following (Notice the absence of “this” keyword):
1 2 3 4 5 6 7 8 9 | // create a vector with an inline Array as source var vector:Vector.<String> = Vector.<String>(["v1", "v2", "v3"]); // create a vector with an inline Vector as source var vector2:Vector.<String> = Vector.<String>(vector); // Testing (both trace will print the same string) trace(vector[1]); trace(vector2[1]); |

