总体概览图
虚线框里为接口
实线框里为接口的实现类
一、ArrayList
二、LinkedList
三、HashSet
四、HashMap
五、工具类
六、泛型
1.什么是泛型
泛型是通过参数化类型提高代码重用性
并在编译期强制进行类型检查的机制
2.什么是泛型的接口
泛型接口是使用类型形参定义的接口
3.泛型方法与非泛型方法的异同点有哪些
相同:声明时均传入形参,使用时均传入实参
不同点:非泛型方法在声明时限定实参值的类
泛型方法在声明时限定实参的范围
4.通常在哪两种情况下会使用泛型方法
(1)需要提高代码的重用性时
(2)静态方法中传入泛型参数时必须使用泛型方法
5.泛型的作用有哪些
(1)可重用性好
(2)类型安全
(3)执行效率高
6.泛型临近的属是机制
7.泛型通配符5种
限定上边界的关键字extends
限定下边界的关键字super
泛型中类型实参的无边界通配符<?>
8.在java程序从源代码编辑到编译,泛型的有效期位于编译期
9.什么是形参 —没有值 什么是实参—有值
10.HashMap 底层:数组+链表---->数组查询快 添加和删除快
JDK1.7—>JDK1.8 新特性:
红黑树:R-B tree 它是一种特殊的二叉查找树。红黑树的每个节点上都有存储位表示节点的颜色,可以是红或黑
当链表中的元素个数>8,并且数组的长度大于等于64的时候,它就自动将数据结构转化为红黑树。
扩容机制
当前容量大于等于阈值或在树化之前,当前数组的长度小于64,链表长度大于等于8也会发生扩容
默认长度是16 阈值是16*0.75 动态扩容为两倍