package Study.Collection;
/**
* <p>Description: </p>
* 最简单的ArrayList,并实现add()方法,重写toString()
* @author zhangyan
* @date 2018/12/19 10:32
*/
public class YanArrayList {
//定义数组
private Object[] elementData;
//定义容量
private int size;
//定义常量
private static final int DEFALT_CAPACITY = 10 ;
/**
* 无参构造函数,定义默认长度为10
*/
public YanArrayList(){
elementData = new Object[DEFALT_CAPACITY];
}
/**
* 定义有参构造函数
* @param capacity
*/
public YanArrayList(int capacity) {
elementData = new Object[capacity];
}
/**
* 最简单的add()方法
* @param element
*/
public void add(Object element){
elementData[size++] = element;
}
/**
* 重写toString()方法
*/
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("[");
for(int i=0; i<size ;i++){
sb.append(elementData[i]+",");
}
sb.setCharAt(sb.length()-1, ']'); //替换最后一个,为]
return sb.toString();
}
// 测试
public static void main(String[] args) {
YanArrayList s1 = new YanArrayList(20);
s1.add("aa");
s1.add("bb");
System.out.println(s1);
}
}
解析:按照jdk源码ArrayList的思想,我们来自己重写了一下ArrayList,取名为YanArrayList 。
然后实现了一下add()方法,很简单有没有(≖‿≖)