Array 也是一个容器,与其它泛型容器(Map,Set,List)不同的是它不但可以存放对像(其实是对像的Reference),还可以存放基本型别。
Array是个极简单的线性序列,其中的元素能够被快速访问,所以在java中,它是存储及随即访问一连串的对像的各种做法,最有效率的一种。
但是Array 的缺点是一旦生成后,容量是固定的。于是有了ArrayList ArrayList先产生某个固定容量的Array,空间不够时再产生一个新Array,并将旧Array中的Reference 全部搬到新Array中,所以ArrayList的效率明显比Array差。
第二点,List,Map,Set 这些泛型容器不会以特定型别看待它们持有的对像,而Array持有的是特定型别的对像,在编译期进行型别检查,这样就防止了用户将不正确的信息置入Array,虽然泛型容器也会有措施(我还不知道什么措施L)来防止不正确的型别置入,但能够在编译期指出问题的所在,程序的执行速度总是会快些。
 
 再来介绍一个东东:System. arraycopy(Object src, int srcPos,Object dest,iint destPos, int length),参数含义分别为:(源Array,源复制起点,目的Array,目的端接收起点,复制个数), 基本型别数组和对像数组都可以被复制,但是复制对像数组时仅有Reference会被复制,对像本身不会被复制,这就是所谓的浅层拷贝(shallow copy)。
 Thinking in java》的“持有你的对像”这一章,一年前看过,现在重看时,感觉又有新的收获。