两者间的区别: Array 的容量是固定的,ArrayList 的容量是根据需求自动扩展 ArrayList 提供了 添加、插入或移除 某一范围元素的方法 而
Array 中,只能一次获取或设置一个元素值
用Synchronized方法可以很容易地创建ArrayList的同步版本 而 Array 将一直保持它知道用户实现同步为止
array 数组的用法     type [] name = new type [size]; 注意:size不能省略,type前后要一致
缺点:在数据间插入数据是
ArrayList 动态数组的用法     是 Array 的复杂版本     动态的增加和减少元素,实现 ICollection 和 IList
接口灵活的设置数组大小 ArrayList name = new ArrayList(); for( int i = 0; i<3; i++ ){
name.Add(i); Response.Write( name[i].ToString()+"<br>" ); }
Response.Write(name.Count + "<br>"); foreach(int obj in name){
Response.Write(obj+"<br>"); }
两者间的相互转换 ArrayList List = new ArrayList(); List Add(1); List Add(2); List
Add(3); Int32[] values = ( int32[] ) List.ToArray ( typeof( Int32 ) );
//Int32[] values = new Int32[List.Count]; //List.CopyTo( values );
影响 ArrayList 效率的几个因素     1,由于Object类型的影响,在添加和修改元素时需要拆箱和装箱,会影响一部分效率    
2,数组扩容也是对ArrayList效率影响较大的一个因素        
 当执行Add,AddRange,Insert,InsertRange等添加方法时,都会检查数组容量        
 如果不够,它会以当前容量的两倍重构一个数组,将旧的元素Copy到新数组     3,频繁使用 IndexOf,Contains 等方法也会引起效率的损失  
        实际上也是执行简单的循环来寻找元素,建议使用Hashtable 或SotedList 等键值对的集合

技术
©2019-2020 Toolsou All rights reserved,
java四大函数式接口(重点,简单)html写樱花树,写樱花树的作文HashMap详解某东14薪变16薪,是诚意还是套路?浏览器内核(理解)让人意想不到的Python之樱花树(turtle库的华丽样式)os模块的简单使用