职责链模式
职责链模式 OA系统的采购审批项目 学校 OA 系统的采购审批项目,需求是 1. 采购员采购教学器材 2. 如果金额小于等于 5000,由教学主任审批(0 < x ≤ 5000) 3. 如果金额小于等于 10000,由院长审批(5000 < x ≤ 10000) 4. 如果金额小于等于 30000,由副校长审批(10000< x ≤ 30000) 5. 如果

Mr.LR2022年6月9日
大约 6 分钟
策略模式
策略模式 鸭子问题 编写鸭子项目,具体要求如下: 1. 有各鸭子(比如野鸭、北京鸭、水鸭等,鸭子有各种行为,比如叫、飞行等) 2. 显示鸭子的信息 传统方案解决鸭子问题 uml类图 核心代码 传统的方式实现的问题分析和解决方案 1. 其它鸭子,都继承了Duck类,所以fly让所有子类都会飞了,这是不正确的 2. 上面说的问题,其实是继承带来的问题:对类的局部

Mr.LR2022年6月8日
大约 5 分钟
状态模式
状态模式 APP 抽奖活动问题 请编写程序完成 APP 抽奖活动具体要求如下: 1. 假如每参加一次这个活动要扣除用户 50 积分,中奖概率是 10% 2. 奖品数量固定,抽完就不能抽奖 3. 活动有四个状态:可以抽奖、不能抽奖、发放奖品和奖品领完 4. 活动的四个状态转换关系图 状态模式基本介绍 基本介绍 1. 状态模式(State Pattern):它主

Mr.LR2022年6月6日
大约 5 分钟
LinkedHashSet & LinkHashMap详解
LinkedHashSet & LinkHashMap详解 基本介绍 LinkedHashSet和LinkedHashMap在Java里也有着相同的实现,前者仅仅是对后者做了一层包装,也就是说LinkedHashSet里面有一个LinkedHashMap(适配器模式)。因此本文将重点分析LinkedHashMap。 事实上LinkedHashMap是Hash

Mr.LR2022年3月13日
大约 3 分钟
HashSet & HashMap详解
HashSet & HashMap详解 HashSet底层是HashMap,因此本文重点分析HashMap。 基本介绍 1. HashMap是Map接口使用频率最高的实现类。 2. HashMap是以key-val对的方式来存储数据 3. key不能重复,但是值可以重复,允许使用null键和null值。 4. 如果添加相同的key,则会覆盖原来的key-va

Mr.LR2022年3月11日
大约 5 分钟
Map详解
Map详解 基本介绍 本文主要介绍jdk8的Map接口特点 1. Map与Collection并列存在。用于保存具有映射关系的数据:Key-Value 2. Map中的key和value可以是任何引用类型的数据,会封装到HashMap$Node 3. 对象中Map中的key不允许重复,Map中的value可以重复 4. Map的key可以为null,valu

Mr.LR2022年3月9日
大约 2 分钟
Set详解
Set详解 基本介绍 1. 无序(添加和取出的顺序不一致),没有索引 2. 不允许重复元素,所以最多包含一个null 3. JDK API中Set接口的实现类有: List接口的常用方法 和List接口一样,Set接口也是Collection的子接口,因此,常用方法和Collection接口一样 Set接口的常用遍历方式 同collection的遍历方式一样

Mr.LR2022年3月8日
小于 1 分钟
LinkedList详解
LinkedList LinkedList基本介绍 1. LinkedList底层通过双向链表实现,可以添加任意元素(可重复),包括null。 2. LinkedList是线程不安全的 3. LinkedList同时实现了List接口和Deque接口,也就是说它既可以看作一个顺序容器,又可以看作一个队列(Queue),同时又可以看作一个栈(Stack)。 L

Mr.LR2022年3月6日
大约 5 分钟
ArrayList&Vector详解
ArrayList&Vector详解 ArrayList基本介绍 ArrayList实现了List接口,是顺序容器,即元素存放的数据与放进去的顺序相同,允许放入null元素,底层通过数组实现。除该类未实现同步外,其余跟Vector大致相同。每个ArrayList都有一个容量(capacity),表示底层数组的实际大小,容器内存储元素的个数不能多于当前容量。当

Mr.LR2022年3月5日
大约 4 分钟

Mr.LR2022年3月2日
小于 1 分钟
2