摘要: 构建器(Builder) 将一个复杂对象的构建与其表示相分离,使得同样的构建过程(稳定)可以创建不同的表示(变化) 在软件系统中,有时候面临着“一个复杂对象”的创建工作,期通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将他们组合在一起的算法却 阅读全文
posted @ 2022-09-27 15:25 鐡道 阅读(339) 评论(0) 推荐(0)
摘要: 原型模式(Prototype) 使用原型实例指定创建对象的种类,然后通过拷贝这些原型来创建新的对象。 在软件系统中,经常面临着“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但是他们却拥有着比较稳定一直的接口。 假设将工厂模式中的ISplitter和SplitterF 阅读全文
posted @ 2022-09-27 15:23 鐡道 阅读(51) 评论(0) 推荐(0)
摘要: TreeMap源码分析 数据结构 TreeMap使用红黑树来存储数据,红黑树是一种平衡二叉查找树,它是一种高效的搜索算法,它的算法时间复杂度是O(lgn) 增删改查 增改 public V put(K key, V value) { // 先获取根节点 Entry<K,V> t = root; // 阅读全文
posted @ 2022-09-27 12:53 鐡道 阅读(29) 评论(0) 推荐(0)
摘要: ArrayList源码分析 默认大小 // 根据传入的初始化大小创建对应的数组大小 public ArrayList(int initialCapacity) { if (initialCapacity > 0) { // 根据传入的值、创建对应的Object数组 this.elementData 阅读全文
posted @ 2022-09-27 10:54 鐡道 阅读(20) 评论(0) 推荐(0)