摘要: 参考:https://www.liaoxuefeng.com/wiki/1252599548343744/1300277678309410 因为HashMap是一种通过对key计算hashCode(),通过空间换时间的方式,直接定位到value所在的内部数组的索引,因此,查找效率非常高. 如果作为k 阅读全文
posted @ 2020-09-28 20:55 刘指导 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 参考:廖雪峰老师的java教程 我们都知道Map是一种键值对映射表,可以通过key快速查找对应的value. 以HashMap为例,观察下面的代码: Map<String ,Integer> map = new HashMap<>(); map.put("apple",12); map.put("p 阅读全文
posted @ 2020-09-28 20:10 刘指导 阅读(1862) 评论(0) 推荐(0) 编辑
摘要: 上一节讲到,泛型是不变的,可有时候需要实现协变,在两个类型之间建立某种类型的向上转型关系,应该使用通配符. 概览 泛型通配符有三种: ? 任意类型,如果没有明确,那么就是Object以及任意的java类 ? extends E 向下限定,E及其子类 ? super E 向上限定,E及其父类 ? 通配 阅读全文
posted @ 2020-09-28 16:10 刘指导 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 参考:(https://www.cnblogs.com/en-heng/p/5041124.html https://www.jianshu.com/p/2bf15c5265c5 ) 里氏替换原则(LSP) 在介绍协变和逆变之前,先引入里氏替换原则. 所有引用基类(父类)的地方必须能透明地使用其子类 阅读全文
posted @ 2020-09-28 15:05 刘指导 阅读(242) 评论(0) 推荐(0) 编辑