ArrayList底层使用数组实现的,长度是可变的,理解了这个后,我就做了简单的ArrayList。
package com.sxt;
public class MyArayList<T> {
int i=10;
int j=0;
T[]date =(T[])new Object[i];;
public void add(T t) { //添加数组
if(j==i) //判断长度
{ i+=10;
T[]ndate =(T[])new Object[i];
System.arraycopy(date, 0, ndate, 0, date.length);
date=ndate;
}
date[j]=t;
j++;
}
public int size() { //判断长度
return i;
}
public T get(int index){ //获取内容
return date[index];
}
public static void main(String[] args) {
MyArayList<String> m=new MyArayList<String>();
for(int i=0;i<100;i++) {
m.add((i+""));
//System.out.println((i+""));
}
for(int i=0;i<m.size();i++) {
System.out.println(m.get(i));
}
System.out.println();
}
}