List的的另一种实现方法的尝试
来源:互联网 发布:淘宝vr眼镜宣传视频 编辑:程序博客网 时间:2024/05/29 16:51
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) innerlist=new InnerList(); innerlist.cycleadd(t2, index); } } }}
输出结果:
5
美女5
阅读全文
0 0
- List的的另一种实现方法的尝试
- Android:阴影效果的另一种实现方法:layer-list
- 尝试新思路——CError的另一种实现方式
- 尝试新思路——Select模型的另一种实现
- 尝试实现list的iterator部分源码
- 实现DLL注入的另一种方法
- 实现同步登录的另一种方法
- 实现DLL注入的另一种方法
- 实现DLL注入的另一种方法
- Silverlight datagrid 全选的另一种实现方法
- java程序加密的另一种实现方法
- 单例模式的另一种实现方法
- Sticky Header的另一种实现方法
- 环境变量的另一种实现
- 安卓刮刮卡的另一种实现
- list 方法的实现
- list 方法的实现
- list 方法的实现
- 截取
- [分治 + 最短路] BZOJ4456: [Zjoi2016]旅行者
- 布隆过滤器(Bloom Filter)的原理和实现
- Java--this,static,final,const用法
- MySQL入门——修改数据表4:添加主键约束、显示表结构、添加唯一约束、添加外键约束
- List的的另一种实现方法的尝试
- 计蒜之道 第六场
- bzoj4753 最佳团体 树形背包
- 单轴转台的速率与位置测试
- mac下的exlipse启动tomcat访问8080端口报404错
- Spring-HelloWorld实例
- RAMN恢复数据库的过程+数据库非归档恢复+数据库非归档恢复案例+数据库归档恢复案例
- Npgsql 官方NET入门(一)【开始】
- 欢迎使用CSDN-markdown编辑器