当前位置: 首页 > news >正文

纯静态 网站app模板素材下载免费

纯静态 网站,app模板素材下载免费,win10 网站建设软件,人工智能培训心得体会集合 一、 迭代器模式(Iterator Pattern)二、 工厂模式(Factory Pattern)三、 装饰器模式(Decorator Pattern)四、 适配器模式(Adapter Pattern)五、 组合模式(Composite Pattern) Java 集合框架中的 List、Set、Map 以及其实现类都使用了多种经典的设计模式 一、 迭代器模式(I… 集合 一、 迭代器模式(Iterator Pattern)二、 工厂模式(Factory Pattern)三、 装饰器模式(Decorator Pattern)四、 适配器模式(Adapter Pattern)五、 组合模式(Composite Pattern) Java 集合框架中的 List、Set、Map 以及其实现类都使用了多种经典的设计模式 一、 迭代器模式(Iterator Pattern) 所有的集合接口(Collection、List、Set、Queue)和 Map 接口都定义了获取迭代器(Iterator)的方法,如 iterator()、listIterator()等。每个具体的集合实现类都提供了自己的迭代器实现,如 ArrayList 有 Itr、LinkedList 有 ListItr、HashMap 有 KeyIterator 和 ValueIterator 等。这些迭代器实现了 Iterator 接口,并对应集合的遍历算法。 以 ArrayList 为例,它的迭代器 Itr 实现如下: private class Itr implements IteratorE {int cursor; // 下一个要访问的元素索引int lastRet -1; // 最后一次返回的元素索引,方便删除操作// ... }二、 工厂模式(Factory Pattern) Collections 工具类中的静态工厂方法(如 nCopies、singletonList、unmodifiableList 等)可以创建各种不同的集合实例。为了方便创建Map.Entry实例Map接口提供了两个静态工厂方法SimpleEntry和SimpleImmutableEntry。这两个方法分别用来创建可变和不可变的Map.Entry实例。 public static T ListT singletonList(T o) {return new ImmutableCollections.SetNT(o); }三、 装饰器模式(Decorator Pattern) Collections 提供了一些修饰方法,用于对集合进行包装,如 synchronizedCollection、unmodifiableCollection 等。这些方法使用了装饰器模式,在原有集合上添加了同步或只读等额外功能。 public static T ListT synchronizedList(ListT list) {return (list instanceof RandomAccess ?new SynchronizedRandomAccessList(list) :new SynchronizedList(list)); }static class SynchronizedListE extends SynchronizedCollectionE implements ListE {// ... }四、 适配器模式(Adapter Pattern) Arrays.asList 方法可以将数组转换为 List 集合,使用了适配器模式。EnumerationIterator 和 IteratorEnumeration 则用于在旧集合 Enumeration 和新集合 Iterator 之间进行适配。 public static T ListT asList(T... a) {return new ArrayList(a); }五、 组合模式(Composite Pattern) 在Map接口中每个Map.Entry对象表示了一个键值对key-value pair包含了一个键和一个值。通过这种组合结构Map可以存储多个键值对并提供了方便的方式来操作这些数据。在Map接口的实现类如HashMap、TreeMap中每个键值对被表示为一个Map.Entry对象通过Map的方法可以进行各种操作。组合模式允许将对象组合成树形结构表示“部分-整体”的关系在Map.Entry接口中键和值构成了一个整体即键值对的Entry使得操作键值对变得简单方便。 Map抽象接口内部定义了一个Entry接口表示键值对。Entry接口包含了获取键、获取值、设置值、判断相等和获取哈希码等方法。 public interface MapK, V {// ...其他方法// 内部接口表示键值对interface EntryK, V {K getKey(); // 获取键V getValue(); // 获取值V setValue(V value); // 设置值返回旧的值boolean equals(Object o); // 判断是否相等int hashCode(); // 获取哈希码}// ...其他方法 } 具体的Map实现类如HashMap的 Node 内部类就是一个 Entry 的实现Node类实现了Map.Entry接口表示了键值对信息。它包含了键、值和下一个节点的引用等信息 static class NodeK,V implements Map.EntryK,V {final int hash;final K key;V value;//下一个节点的引用等信息NodeK,V next; // ... }在Java JDK 1.8中AbstractMap 和 AbstractSet 等抽象类使用了组合模式。AbstractMap 是一个抽象类它提供了Map接口的基本实现并使用了组合模式来包装具体的 Map 实现。在 AbstractMap 中最重要的部分是 entrySet() 方法该方法返回一个SetEntryK,V类型的集合表示 Map 的键值对集合。 public abstract class AbstractMapK,V implements MapK,V {// 返回一个包含所有 key-value 映射关系的 Set 集合public abstract SetEntryK,V entrySet();// 其他实现代码public static class SimpleEntryK,V implements EntryK,V, java.io.Serializable{private static final long serialVersionUID -8499721149061103585L;private final K key;private V value;// 构造函数// 实现 equals()、hashCode() 等方法} }在 AbstractMap 中entrySet() 方法返回的是一个 SetEntryK,V类型的集合。这里直接使用了 Java 中的 Entry 接口作为键值对的表示而实际上 Entry 是一个内部接口定义了对映射项key-value 对的操作。 AbstractMap 在内部使用了一个具体的实现类SimpleEntry来表示键值对但是对外部调用者来说只需要知道 entrySet() 方法返回的是一个 SetEntryK,V 集合而不需要关心具体的实现细节。 通过组合模式的设计AbstractMap 实现了 Map 接口的基本功能同时将具体的键值对信息封装在内部类中加强了封装性和灵活性
http://www.pierceye.com/news/255745/

相关文章:

  • 传媒大学附近网站建设公司天津市工程建设公众信息网官网
  • 关于网站建设与维护的参考文献家装设计费用多少钱一平方
  • 网站建设与管理专业概述网站建设报价费用是多少
  • asp医院网站源码破解版北京企业做网站报价
  • 个人做电商网站赚钱吗门业网站模板
  • 企业产品微网站收费吗wordpress移服务器改域名
  • 原创文章网站网站建设团队介绍
  • WordPress建站详细过程安康建设网站
  • 仿视频网站开发wordpress下载文件
  • 专业的个人网站建设哪家建筑施工企业专职安全生产管理员
  • 企业网站模板php全球网站排名前100
  • 1688网站可以做全屏吗有哪些网站是织梦做的
  • vue2.0网站开发做网站没有成本的方法
  • 手机网站和app有什么区别流量对网站排名的影响因素
  • 北京全网营销推广公司网站建设以及seo
  • 免费html网站代码骨科医院网站模板
  • 华强方特网站开发辽宁工程技术大学电子信息网
  • 信誉好的网站建设案例微网站后台录入
  • 网站ui界面设计模板WordPress能连接支付端口吗
  • 网站建设与维护ppt模板下载昆明 网站搭建
  • 手机网站建设浩森宇特摄影作品投稿平台
  • 网站类网站开发犯罪吗肇东网站建设云聚达
  • 云南通耀建设工程有限公司网站少儿编程老师需要具备什么条件
  • 陕西交通建设集团蓝商分公司网站wordpress增加模板
  • 创建网站目录权限建网站域名注册后需要
  • 现在还有企业做网站的吗浏览器登录入口
  • 如何进行目的地网站建设阳江网站建设推广
  • 移动网站搭建如何做高并发网站的架构设计
  • 网站特效网网站制作出租
  • 公司商标设计logo图案优化专业的公司