带着问题看源码之HashMap
ArrayList内部是一个数组的数据结构
LinkedList内部是一个链表的数据结构
TreeMap 内部是一个二叉树的数据结构(没用过)
HashMap内部是数组加链表,在java1.8之后,当链表达到一定长度之后,会转换成红黑树。
HashMap 是怎么存数据的?
调用put方法的时候,会先对key进行hash运算,然后再对当前值在进行一次取模运算,比如当前数组长度是5,key进行hash运算之后是6,那么会再进行6%5,余数是1,把当前元素存在数组的是1个位置上。即a[1]。
取余(取模.
原创
2021-01-18 22:46:49 ·
90 阅读 ·
1 评论