• AS3效率优化:使用Vector数据类型


    Vector 比数组更严格,内部的元素数据类型都一致。
    Vector内部访问会经过类型检查。
    所以比Array性能更快。 

     注意:Vector.<T>的值必须是连续的,就是说Vector不可以跨越赋值,例如:
    _vector[0] = xxx;
    _vector[2] = xxx;
    是不允许的,必须在两句之间插入_vector[1] = null;

    Vector.<T>可以固定长度。

    只要将fixed属性设为true即可。fixed后任何对超出length的赋值或者更改length的行为都会引发错误。

    Vector是密集型的数组,每一个索引必须有值(可以为null)
     由于这些特殊性,Vector便拥有以下几点优势:

    • 性能:使用 Vector 实例时的组元素的访问和迭代速度比使用 Array 时的要快很多。
    • 类型安全性:在严格模式下,编译器可以识别数据类型错误。
                         (但当使用 push() 方法或 unshift() 方法向 Vector 添加值时,编译器不会检查参数的数据类型,而是在运行时检查)
    • 可靠性:相对于 Array,运行时范围检查(或定长检查)极大地提高了可靠性。

     

    对于追求效率的RIA应用,使用Vector来提升效率是一种简单却行之有效的办法,

     

    1:Vector的长度应当固定。虽然默认是不固定的,可以改变长度。

    2:Vector存储基元数据类型,才能充分体现其优势

    使用Vector非常的简单,和使用数组非常相似。事实上,Vector类包含了数组里所有的方法。主要的不同之处在于你怎样去实例化它。 

    参数(长度,长度固定:Boolean=false ) 

    谨记,一旦fixed属性被设置为true,你就不能用Vector的其他方法来改变它的长度,比如pop(), push(), shift()等等。 

    1. //var VARIABLENAME:Vector.<vectortype> = new Vector.<vectortype>(size,fixed);  
    2. var vector:Vector.<int> = new Vector.<int>(); 
     

    指定长度

    1. var size:int = 7;  
    2. var vector:Vector.<int> = new Vector.<int>(size);   
  • 相关阅读:
    [LUOGU] 1364 医院设置
    [POJ] 3278 Catch That Cow
    [OpenJudge] 2727 仙岛寻药
    [POJ] 2386 Lake Counting
    [POJ]1118 Lining up
    [LUOGU]1141 01迷宫
    [POJ]1111 Image Perimeters
    python之路——初识函数
    python----------文件操作
    Python中的split()函数的用法
  • 原文地址:https://www.cnblogs.com/naiking/p/2332109.html
Copyright © 2020-2023  润新知