首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

行列(动态数组)的创建与测试

2012-10-06 
队列(动态数组)的创建与测试优化后的版本:(1)队列接口ListInterface?public class ListTest {/** * @param

队列(动态数组)的创建与测试

优化后的版本:

(1)队列接口ListInterface

?

public class ListTest {/** * @param args */public static void main(String[] args) {ListImp<String> list=new ListImp<String>(5,10);//为队列插入4个元素(<5)for(int i=0;i<4;i++){list.add("元素"+i);}//为队列插入10个元素(>5)//for(int i=0;i<10;i++){//list.add("元素"+i);//}//为下标为-1的位置插入元素list.insert("新插入的元素0", -1);//为下标为10的位置插入元素(>=4)        list.insert("新插入的元素1", 4);        //为下标为2的位置插入元素(<4)        list.insert("新插入的元素2", 2);        //修改下标为-1的元素        list.modify("修改后的元素0", -1);        //修改下标为4的元素(>=4)list.modify("修改后的元素1", 4);//修改下标为2的元素(<4)list.modify("修改后的元素2", 2);//同上测试delete(int index)方法list.delete(-1);list.delete(4);list.delete(2);//测试deleteAll()方法list.deleteAll();//将队列中的所有元素输出for(int i=0;i<list.size();i++){System.out.println(list.get(i));}}}

?优化的地方:

1、泛型的运用:将队列存储元素的范围扩大为所有类对象(除基本数据类型)

2、为队列中的存储元素数组src设置初始大小initNum和大小的增长率num,这样可以通过判断数组的存储满否情况来创建新的存储数组,而勿需每次操作都创建一次新数组,提高了程序运行速率(减少相同的操作)

3、运用System.arraycopy(Object.src,int srcpos,Object dest,int destpos,int length);方法替代for循环语句,提高了程序运行速率(学会运用已有的类方法)

4、重载ListImp类的构造方法,让用户自己为属性initNum和num赋值,从而增加程序的用户交互性

5、考虑到index的各种取值,故需要if条件判断语句,从而增加程序的完整性

易错的地方(需要注意的地方):

1、添加泛型后,各种形参、返回值、均变为泛型;同时定义数组时不能使用泛型(故使用Object),因此get(int index)函数的返回值必须进行强制转换

2、deleteAll()方法中直接令src=new Object[0]即可

3、两个方法不能相互调用,否则会形成死循环

4、测试ListImp类时要测试各个方法的所有情况

?

热点排行