import java.util.Arrays; public class Collection_4_23_01 { public static void main(String[] args) { /* * 容器 * */ ArrayList_py ArrayList_py1 = new ArrayList_py(); ArrayList_py1.add("ppyy"); ArrayList_py1.add("ooii"); ArrayList_py1.add("xxqq"); ArrayList_py1.add("qqxx"); ArrayList_py1.add("qqxx"); ArrayList_py1.add("qqxx"); ArrayList_py1.add("qqxx"); ArrayList_py1.add("qqxx"); ArrayList_py1.add("qqxx"); ArrayList_py1.add("qqxx"); ArrayList_py1.add("qqxx"); ArrayList_py1.add("qqxx"); ArrayList_py1.add("qqxx"); ArrayList_py1.add("qqxx"); ArrayList_py1.add("qqxx"); ArrayList_py1.showIt(); System.out.println("数组的长度是 "+ArrayList_py1.getSize()); System.out.println("第二个元素是 "+ArrayList_py1.getElement(1)); } } interface List { //增加元素 void add (Object element); //删除元素 void remove (int idx); //获取长度 int getSize (); //获取元素 Object getElement(int idx); } class ArrayList_py implements List { private Object[] datas; //存储数据的数组 private int arrLength; //数组长度 private int size; //元素个数 { datas = new Object[10]; arrLength = 10; size = 0; } public void add (Object element) { this.datas[size] = element; //将数据放入数组中 this.size++; //元素个数加一 if (this.size >= this.arrLength) { Object[] datas2 = new Object[arrLength+10]; System.arraycopy(datas, 0, datas2, 0, datas.length); this.datas = datas2; //地址替换 } } public void remove (int idx) { System.arraycopy(this.datas,idx+1,this.datas,idx,this.datas.length-(idx+1)); this.size--; } public int getSize () { return this.size; } public Object getElement(int idx) { if (idx < 0 || idx > this.size-1) { throw new ArrayIndexOutOfBoundsException("传入位置有问题,无法找到元素"); } return this.datas[idx]; } public void showIt () { for (int i = 0; i < this.size; i++) { if (this.datas[i] != null) { System.out.print("[ "+this.datas[i]+" ] "); } } System.out.println(""); } }
Java容器对List的实现
原创
©著作权归作者所有:来自51CTO博客作者影魔登场的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:Java之面向对象(一)
下一篇:Java之多态
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
JAVA list基础操作
list基本操作
System List Test -
Java list顺序打乱
Java list顺序打乱
List System i++ -
STL容器list的模拟实现
C++STL容器中list的简单分析和模拟实现。
STL容器 list list的模拟实现 编程 C++