- 浏览: 211526 次
- 性别:
- 来自: 北京
文章分类
AbstractList中为了实现顺序访问AbstractList中的元素,而又隐含AbstractList内部结构使用了Iterator的模式。
实现如下:
首先AbstractList类提供了
public Iterator<E> iterator() {
return new Itr();
}访问方法。
然后Iterator的实现类是用一个内部类实现。
private class Itr implements Iterator<E> {
int cursor = 0;
*
*
.......
}
这样内部类就可以直接访问外部类AbstractList的成员变量,而无需要像其他类实现Iterator模式需要把集合类注入到Iterator实现类中。因为该内部类只是希望内部使用,因此将内部类定义成private的。
在iterator()方法中只需要直接创建内部Iterator接口的实现类即可。
实现如下:
首先AbstractList类提供了
public Iterator<E> iterator() {
return new Itr();
}访问方法。
然后Iterator的实现类是用一个内部类实现。
private class Itr implements Iterator<E> {
int cursor = 0;
*
*
.......
}
这样内部类就可以直接访问外部类AbstractList的成员变量,而无需要像其他类实现Iterator模式需要把集合类注入到Iterator实现类中。因为该内部类只是希望内部使用,因此将内部类定义成private的。
在iterator()方法中只需要直接创建内部Iterator接口的实现类即可。
发表评论
-
多种单例模式的分析
2012-03-28 18:06 0blog.csdn.net/derpvailzhangfan/ ... -
JDK中的设计模式
2012-03-14 22:56 01.Abstract Factory •java.util.C ... -
简单工厂模式使用心得(使用场景)
2012-02-23 18:24 11481在实际项目中,简单工厂模式是我们使用的最多的设计模式之一,简单 ... -
适合使用命令模式的情景
2012-01-13 11:31 884情景1.当借个类都拥有 ... -
Iterator模式
2012-01-13 10:57 855我个人常叫它游标模式,该模式的主要目的就是,顺序访问集合中的各 ... -
使用工厂设计模式的场景
2012-01-12 15:43 2728创建类对象虽然可以使用new(底层也是通过反射创建对象的),但 ... -
JDK中使用的设计模式
2012-01-13 10:04 14151.抽象工厂模式 实 ... -
JDK中使用的设计模式代码实例
2012-01-05 17:38 0http://stackoverflow.com/questi ... -
享元模式
2011-12-23 10:22 1001通常情况下,我们会需 ... -
策略模式
2011-12-22 17:07 836所谓策略模式就是定义了多种算法,而让不同算法之间的切换不会影响 ... -
合成设计模式
2011-12-22 16:28 942如果要将对象组织到树中,使用树来表示对象之间的关系,请考虑使用 ... -
责任链模式
2011-12-20 18:35 800此文转正于http://wenku.baidu.com/vie ... -
桥梁设计模式
2011-12-19 18:19 802如果有很多对象要处理,而又有很多操作要做。这时可以考虑使用桥梁 ... -
多线程设计模式(Thread-Specific storage)
2011-12-12 15:29 5817引用自http://www.riabook.cn/doc/de ... -
代理模式
2011-11-30 15:26 903代理模式实际上是对对象的一种代理,以控制对象的访问。 有些情况 ... -
观察者模式
2011-11-16 14:48 1367声明转载的,简单易懂,呵呵 观察者模式的构造 l 抽 ... -
命令模式
2011-11-16 14:11 1220今天想学学命令模式,看见了一个文章讲的就是命令模式,感觉实例比 ... -
建造模式
2011-11-14 12:03 879建造模式是将负责对象 ... -
设计模式之适配器模式
2011-11-09 18:24 931适配器模式:主要是为了解决,老的对象在新的环境中不兼容的现象。 ... -
设计模式之模版方法
2011-11-09 16:31 781模版方法是一种非常简单的设计模式:简单的理解就是将关键的业务方 ...
相关推荐
下面我们先简单讨论一个根接口Collection,然后分析一个抽象类AbstractList和它的对应Iterator接口,并仔细研究迭代子模式的实现原理。 本文讨论的源代码版本是JDK 1.4.2,因为JDK 1.5在java.util中使用了很多泛型...
用泛型表示类 用泛型表示接口泛型方法 泛型通配符 反射 Class 类Field 类Method 类ClassLoader 类 枚举 枚举特性 枚举和普通类-样枚举神秘之处 枚举类 I/O File 类 基础 IO 类和相关方法InputStream ...
本文首先对Java集合类框架做了简单说明,之后对主要类和为API做了介绍:Collection、List、Set、AbstractCollection、AbstractList、AbstractSet、Iterator、ListIterator。
- Iterator Iterable ListIterator - Map 和 Collection 接口 - Map 集合体系详解 - HashMap - LinkedHashMap - TreeMap - WeakHashMap - Hashtable - Collection 集合体系详解 - Set 接口 - AbstractSet...
抽象类、AbstractList 抽象类和具体的ArrayList 的实现纵向研究了Java Collections Framework 中的Fail Fast 机制,通常的编程错误以及这些接口和类之间的关系,以有助于大家对Java Collections Framework 源代码的...
ArrayList就是动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了动态的增加和减少元素,实现了Collection和List接口,可以灵活的设置数组的大小。要注意的是ArrayList并不是线程安全的,因此一般建议在单...
LinkedList<T> 運用實例中,我曾假設 Stroke, Rect, Circle皆繼承自 Shape。如果我們希望這些 classes有足夠的彈性,讓用戶得以在運用這些 classes 時才指定其內部數據(長、寬、半徑等等)的型別,那就得用上...
public class Vector extends AbstractList implements List , Cloneable , Serializable{…} 类JTable: JTable组件是Swing组件中比较复杂的小件,隶属于javax.swing包,它能以二维表的形式显示数据。类Jtable:...
它继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable的方法,我们从它的源码中可以清楚的看到 //默认的初始化容量为10 private static final int DEFAULT_CAPACITY = 10; //用于...
ArrayList集成AbstractList抽象类,实现了List、RandomAccess、Cloneable、java.io.Serializable这四个接口,其中我们可以看到,实现了Cloneable和Serializable接口就代表着ArrayList是支持克隆和序列化的,这里有个...
AbstractList 实现 List接口 ArrayList 是一个数组队列,相当于 动态数组。与Java中的数组相比,它的容量能动态增长。不是线程安全的。ArrayList包含了两个重要的对象:elementData(Object[]类型的数组) 和 size ...
Java中的集合是用来存放对象的容器 集合可以存放不同类型,不限数量的数据 分为两块:Collection和Map,也称之为集合接口 集合类都存放在java.util包中 Collection Collection分别被List和Set继承 List List被...
下载后 是一个Java工程,使用的开发工具为IDEA,Eclips开发者可将src目录下Java 文件进行拷贝即可,lib依赖相应导入,点击已实现功能的Main.java 类直接运行即可实现图片中文字识别 【注】:识别所需的语言包需使用和src...
ArrayList 继承了 AbstractList ,并实现了 List 接口。 ArrayList 类位于 java.util 包中,使用前需要引入它,语法格式如下: import java.util.ArrayList; // 引入 ArrayList 类 ArrayList objectName =new ...
ArrayList ArrayList 类是一个可以动态修改...ArrayList 继承了 AbstractList ,并实现了 List 接口。 添加元素 访问元素 修改元素 删除元素 计算大小 迭代数组列表 其他的引用类型 ArrayList 排序 Java ArrayList 方法
打开ArrayList的源码我们能看到ArrayList实现了List接口,扩展至AbstractList,其本质是一个可变长度的数组。 Java8中ArrayList包含注释一起一共1468行代码,算是一个比较复杂的类,所以这当中一定有值得我们研究的...
java jdk源码学习 JavaSourceLearn 版本号 版本 corretto-1.8.0_275 方式 ...AbstractList 1 AbstractMap 1 AbstractSet 1 ArrayList 1 LinkedList 1 HashMap 1 Hashtable 1 HashSet 1 LinkedHashMa
1、本资源已经对源码NPM工程打包为sql-formatter.min.js 文件可直接引入使用 2、具体说明可见下载后压缩包中的 说明.text 文件 3、相关博客文章 https://blog.csdn.net/guzuoi/article/details/111151290
将一个 .sql文件中的表转换为对应的Java实体类
安卓使用WindowManager.addView()简单实现悬浮窗口播放视频