是否提倡使用ArrayList?这要看你的应用,如果能够直接用数组,那么就不用,如果不能,就用。使用ArrayList来存储PointF的对象数组,在效率上和自己编写的数组有多少的区别?
ArrayList al=new ArrayList();这个语句在是怎样分配内存的?ArrayList内部封装了一个object数组,初始化如果不指定长度,会以一个默认长度构造(目前是16),然后它会维护一个当前的对象数量,如果执行Add方法的时候超过了长度,那么它会将该数组的长度翻倍,所以使用前估算Capacity是提高ArrayList效率的重要手段。另外,特定类型的数组比ArrayList有更高的效率,因为ArrayList 的元素属于 Object 类型,所以在存储或检索值类型时通常发生装箱和取消装箱的操作。另外,可以通过调用 TrimToSize 或通过显式设置 Capacity 属性来减少容量。