目录
一.集合框架图
二.HashMap
1.整型存储
HashMap实现自Map接口,从图中我们可以看出,实现Map接口的方法有三个,但在大多情况下,都是使用HashMap来实现,原因就是HashMap的增删查改时间复杂度都为O(1),这时我们未免会有疑问为什么HashMap的时间复杂度这么低?原因便是:
HashMap的存储是通过哈希函数来决定元素存储的位置的,比如说哈希函数为 k%3,而存储位置是一个大小为10array的数组,则1的存储位置为1%3=1,则.元素1就存储在array[1].
2.其他类型存储(引用类,字符串型)
在java中hashcode方法是Object类的native方法,返回值为int型,可以利用hashcode()方法来获取其他类型的哈希值再通过哈希函数进行存储。
3.哈希位置冲突
当进行hashmap的存储时,可能会有多个元素通过哈希函数后获得的哈