List的的另一种实现方法的尝试
2017-06-05 21:33
204 查看
jdk里的ArrayList是用Object数组不断扩充长度实现的,这里尝试用内部类递归来实现下,没事写着玩,大神别见怪!!
输出结果:
5
美女5
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
相关文章推荐
- Android:阴影效果的另一种实现方法:layer-list
- Java中实现list显示的三种方法
- 实现同步登录的另一种方法
- SQL like子句的另一种实现方法,速度比like快
- 用委托实现对List的常用方法提取
- android list弹性滑动 2.3以下的实现 的两个方法 (备份)
- "好玩的放大镜效果" 的另一种实现方法
- 另一种实现 Fruit Ninja 里刀光效果的方法
- ASP.NET(c#) 日期选择控件的另一种实现方法
- java程序加密的另一种实现方法
- 使用JavaScript实现CheckBoxList单选两种方法
- [原创]数据库导入的另一种实现方法
- 实现DLL注入的另一种方法
- sharepoint匿名实现的另一种方法
- Java中实现list显示的三种方法
- 事件处理程序实现的另一种方法:浏览器的事件监听机制实现“1事件对应n事件处理程序”(Javascript)
- SQL like子句的另一种实现方法,速度比like快
- Silverlight datagrid 全选的另一种实现方法
- Oracle ADF 一个页面实现 维护区域Form和查看区域Table 方法 另一种方法(推荐)
- 20元实现随处wlan小教程(更新pc上操作M8文件的“另一种”方法)