JDK源码解析-Collection.iterator方法
对上面的代码大家应该很熟,使用迭代器遍历集合,获取集合中的元素。
而单列集合获取迭代器的方法就使用到了工厂方法模式。
我们看通过类图看看结构:
Collection接口是抽象工厂类,ArrayList是具体的工厂类;
Iterator接口是抽象商品类,ArrayList类中的Iter内部类是具体的商品类。
在具体的工厂类中iterator()方法创建具体的商品类的对象。
另:
1,DateForamt类中的getInstance()方法使用的是工厂模式;
2,Calendar类中的getInstance()方法使用的是工厂模式;
JDK源码解析-Collection.iterator方法相关推荐
- JDK源码解析 Runable是一个典型命令模式,Runnable担当命令的角色,Thread充当的是调用者,start方法就是其执行方法
JDK源码解析 Runnable是一个典型命令模式, Runnable担当命令的角色,Thread充当的是调用者,start方法就是其执行方法 /命令接口(抽象命令角色) public interfa ...
- JDK源码解析——Object的hashCode方法
目录 前言 说明 一.源码目录结构 (1).JDK目录 (2).hotspot目录 二.基础知识 (1).Object Header(对象头) (2).Lock(锁) 1. 无锁 => 偏向锁 ...
- JDK源码解析 迭代器模式在JAVA的很多集合类中被广泛应用,接下来看看JAVA源码中是如何使用迭代器模式的。
JDK源码解析 迭代器模式在JAVA的很多集合类中被广泛应用,接下来看看JAVA源码中是如何使用迭代器模式的. 看完这段代码是不是很熟悉,与我们上面代码基本类似.单列集合都使用到了迭代器,我们以Arr ...
- JDK源码解析 Comparator 中的策略模式
JDK源码解析 Comparator 中的策略模式.在Arrays类中有一个 sort() 方法,如下: public class Arrays{public static <T> voi ...
- JDK源码解析 InputStream类就使用了模板方法模式
JDK源码解析 InputStream类就使用了模板方法模式. 在InputStream类中定义了多个 read() 方法,如下: public abstract class InputStream ...
- JDK源码解析 Integer类使用了享元模式
JDK源码解析 Integer类使用了享元模式. 我们先看下面的例子: public class Demo {public static void main(String[] args) {Integ ...
- JDK源码解析 —— IO流中的包装类使用到了装饰者模式
JDK源码解析 IO流中的包装类使用到了装饰者模式. BufferedInputStream, BufferedOutputStream, BufferedReader, BufferedWriter ...
- JDK源码解析之Java.util.Collection
Collection是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素,JDK 不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现 一.源码解析 1 ...
- JDK源码解析之Java.util.Collections
java.util.Collections 是一个包装类.它包含有各种有关集合操作的静态多态方法.此类不能实例化,就像一个工具类,服务于Java的Collection框架. 一.源码解析 1.不可实例 ...
最新文章
- 设计模式 — 创建型模式 — 建造者模式
- workerman events.php,workerman安装event扩展的方法介绍
- 从ReadImage到ML- 一个不错的博客
- (转)oracle表分区详解
- vant部署_记录mpvue+vant-weapp的使用(一):安装配置使用,引入vant-weapp
- android blowfish加密算法,BlowFish加密算法研究
- c语言如何输出结构体数组,怎么才能把结构体里面的二维数组打印出来?
- xmlDocument是什么?(转)
- sklearn逻辑回归参数详解,及用逻辑回归制作评分卡
- 手机wifi显示连接到服务器地址,手机连接路由器wifi上网总是提示正在获取IP地址怎么办...
- CAN波特率与负载率
- 《Excel效率手册:早做完,不加班》
- Redis的多路复用机制
- trunc和round区别
- Matlab实现遗传算法(附上完整仿真源码)
- 区块链(bitcoin)学习
- [PAT乙级]1025 反转链表 (思路+精简代码)
- 红楼梦java_《红楼梦》最经典的12首诗词,读懂了才是人生
- 尽量用pass-by-reference-to-const(const引用)替换pass-by-value(传值)
- 5G NR - 38.101-1协议笔记(一)