在我的应用程序中,我希望有一个字典,其中键是整数。
由于它是一个整数,我使用普通Array
:
var arr : Array = [];
arr[5] = anObject;
arr[82] = anOtherObject;
当我使用for each
进行迭代时没问题,它会迭代这两个对象。问题是arr.length
返回83 ...所以我必须创建一个变量,在我修改数组时计算数字。
问题1:是否有最佳实践(IE:以int作为键的关联数组)?我犹豫要使用Dictionnary。
问题2:flash是否为数组中未使用的桶分配内存?
答案 0 :(得分:3)
flash中的数组是稀疏的(与Vector不同),因此不会分配空条目。如果你需要知道长度,你可能需要手动跟踪它(也许做一个包装类)。
Adobe说:
数组是稀疏数组,意味着索引0处可能有一个元素,索引5处可能存在另一个元素,但这两个元素之间的索引位置没有任何内容。在这种情况下,位置1到4中的元素是未定义的,这表示没有元素,不一定存在值未定义的元素。