HashMap中存放的都是键值对key-value,其底层是通过哈希表实现的,哈希表底层是数组实现的,当我们调用put()函数往hashMap中添加键值对时,哈希函数会对key值进行计算得到每个键值对在哈希表中的位置,如果这个位置没有值就把这个键值对以Entry对象的方式存放进去。如果这个位置已经有了Entry对象,则会在这个位置创建一个新的Entry对象,其key-value就是我们put()函数要加进去的key-value,同时在这个新的Entry对象中保存原来Entry对象的引用,这样就形成一个Entry链表。当我们查询时会根据hash()方法在哈希表中找到这个哈希值对应的Entry的位置,然后遍历该Entry的链表,找到我们需要的那个key-value。
HashMap的理解
最新推荐文章于 2020-09-25 16:14:45 发布