Iterator(1)-ArrayList
来源:互联网 发布:淘宝秒杀不用刷新 编辑:程序博客网 时间:2024/06/01 20:12
Iterator是设计模式中的一种,下面我们用一些jdk中的容器来诠释这种设计模式。
今天聊的是ArrayList类的实现。
代码如下:
ArrayList.java:
public class ArrayList {Object[] objects = new Object[10]; //加入初始的基础容器为10,不过没关系可以自动扩展int index = 0;public void add(Object o) { //这里的object可以指向任何对象if(index == objects.length) {
//如果array中的10数装满了,我们再增长容器,这里是变为原来的2倍,但是jdk中实际的算法不是这样的Object[] newObjects = new Object[objects.length * 2];
</pre><pre name="code" class="java"> //将数据拷贝到新的数组中System.arraycopy(objects, 0, newObjects, 0, objects.length); objects = newObjects; //旧的ArrayList指向新的ArrayList}objects[index] = o; //将对象放入容器中index ++; //容器索引递增}public int size() {return index;}}
Cat.java:public class Cat {public Cat(int id) {super();this.id = id;}private int id;}
Test.java:public class Test {public static void main(String[] args) {ArrayList al = new ArrayList(); //ArrayListfor(int i=0; i<15; i++) {al.add(new Cat(i)); //add the object}System.out.println(al.size()); //show the Arraylist size}}
ok,arrylist模仿到这。
0 0
- Iterator(1)-ArrayList
- Java ArrayList + Iterator笔记
- Java iterator 、ArrayList排序
- arrayList,迭代器Iterator
- ArrayList,Iterator,try-catch
- 黑马程序员_集合1(ArrayList,LinkedList,Vector,Iterator,ListIterator)
- ArrayList、Iterator的remove方法
- ArrayList的iterator()方法剖析
- arraylist结合iterator使用实例
- 黑马程序员_集合1_(ArrayList、LinkedList、Vector、Iterator、ListIterator)
- Java.集合类.Collection.ArrayList.Iterator
- ArrayList Iterator remove java.lang.UnsupportedOperationException
- 通过Iterator提高ArrayList的遍历效率
- ArrayList和Iterator的初步使用(二)
- ArrayList和Iterator的初步使用(一)
- Iterator使用及ArrayList遍历注意事项
- 数据结构复习3.ArrayList/LinkedList + iterator
- 黑马程序员面试题集合1(ArrayList,LinkedList,Vector,Iterator,ListIterator,HashSet,TreeSet,JDK1.5新特性泛型)
- 丈夫的出轨短信竟错发给我
- MySQL中TIMESTAMP类型可设置默认值为CURRENT_TIMESTAMP
- 企业级Hadoop 2.x入门系列之八HDFS和YARN的启动方式
- Java监控文件夹变化
- boundingRectWithSize:options:attributes:context:
- Iterator(1)-ArrayList
- MyEclipse8.5反编译插件安装
- Android下BroadcastReceiver应用详解
- 解决DNS污染导致Onedrive在贵国大陆地区不能访问的问题
- Arbitrage - UVa 104 Floyd变形
- Python网络爬虫(六)-----HTTPBasicAuthHandler认证
- Python命名规范(转)
- 第七章 查找技术
- Java高效监控文件目录