容器就是能装各种类型的数据的,可以把它想象成生活中的篮子,可以往里面放香蕉,也可以往里面放桔子等等。
实现一个容器类很自然的想法就是要有一个往里放东西的方法,即add()方法,添加什么东西呢?用一个Object对象作为add方法的参数。
代码如下:
package cn.edu.ustc.dp.iterater;
/*
* 实现了一个简单的容器ArrayList
* 底层实现是数组,但是与数组相比的优点是长度可以动态扩展!
*
*/
public class ArrayList {
public int index = 0;
Object[] objects = new Object[10];
public void add(Object o){
//当index超出最初定义数组的长度时,自动扩容
if(index == objects.length){
Object[] newObjects = new Object[objects.length * 2];
objects = newObjects;
}
objects[index] = o;
index++;
}
public int size(){
return index;
}
}
这样我们就实现了一个简单的ArrayList容器,在上面的程序中我们只实现了一个往“篮子”里放东西的add方法,和一个查看“篮子”里装了多少东西的size方法。