- 博客(3)
- 收藏
- 关注
原创 设计模式-策略模式 个人笔记
在平时书写代码过程中,当使用到某些通用方法时(尤其是接口),由于调用者实例的类型不同可能会有不同的实现通常这种情况下,使用两种代码方式进行编写:1、由调用实例继承方法并实现调用实现2. 对不同的实现分开为不同实现类,使得能够使用多种策略使用1方法时,会发现当当前实例需要更改实现方式时,需要更改代码,只能二选一例子:java util包的comparable接口与 comparator接口定义实体类catpublic class Cat { private int age; p
2021-04-18 01:41:49 154
原创 hashMap1.8 resize()个人解读
参考文章:https://blog.csdn.net/u013494765/article/details/77837338https://blog.csdn.net/cadi2011/article/details/104851355https://blog.csdn.net/weixin_39667787/article/details/86678215目录如何确定元素在数组中的索引下标?resize方法为什么扩容后,元素新下标为原数组下标或者原数组下标+原数组容量?如何确定元素在数组中的.
2021-04-08 19:06:53 348
原创 对hashMap中,等于6还是小于6红黑树会退化为链表的理解
对hashMap中,等于6还是小于6红黑树会退化为链表的理解:当对hashMap扩容时,会调用resize方法,resize会以桶(一个哈希表下标下所有元素)为单位,把元素转移到新哈希表中, 当桶为红黑树时,会调用split方法进行红黑树的扩容移动处理。split方法中会出现红黑树退化为链表情况(整个hashMap中也只有这个方法会出现红黑树退化为链表的情况)。split方法中,将当前红黑树分割放入lo,hi这两个变量(treeNode类型)里。可以先理解为两条链表。当lo链表中元素<=6,会将
2021-04-08 15:47:33 4388
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人