您的位置:首页 > 其它

List的的另一种实现方法的尝试

2017-06-05 21:33 204 查看
jdk里的ArrayList是用Object数组不断扩充长度实现的,这里尝试用内部类递归来实现下,没事写着玩,大神别见怪!!

package javas.lang.reflect.create;

public class List<T> {

private InnerList innerlist ;
public List(){
innerlist=new InnerList();
}
private  static  int index=-1;

public int size(){
return index+1 ;
}
public void add(T t){
innerlist.cycleadd(t,++index);
}
public T get(int i) throws Exception{
if (i>index) {
throw new Exception("没有这个元素!");
}
return innerlist.get(i);
}
public static void main(String[] args) throws Exception {
List<String> list=new List<String>();
list.add("美女1 ");
list.add("美女2 ");
list.add("美女3 ");
list.add("美女4 ");
list.add("美女5 ");
System.out.println(list.size());
System.out.println(list.get(3));
}

class InnerList{
int i=0;
private T t;
private InnerList innerlist=null;

public InnerList(){

}
public T get(int i2) {
if (i2==i) {
return t;
}else{
return innerlist.get(i2);
}
}
public void cycleadd(T t2,int index) {
// TODO Auto-generated method stub
if (i==0) {
this.t=t2;
i=index;
}else{
if (innerlist==null)
4000
innerlist=new InnerList();
innerlist.cycleadd(t2, index);
}
}

}
}


输出结果:

5

美女5
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: