深入理解hash地图
深入理解hashmap
hashmap 的机制
java编程中最基本的机构有两种,一种是数组,另一种是模拟指针(引用),hashmap就是采用这两种的结合体。
即 同一行是数组,冲突的是链表。
1:hashmap的put方法,计算key的hashcode,根据hashcode找到存放的位置,如果该位置有对象了,则需要解决冲突,同一个位置上面的对象采用链表方式链接,最初的进入的在队头,刚加入的放入队尾。
2:hashmap的get方法,计算key的hashcode,根据hashcode判断存放的位置,找到后,如果有多个对象,在根据key的equals方法来在对应链表中找到需要的元素。
详细文章:http://www.360doc.com/content/10/0505/19/495229_26234886.shtml
hashmap 的机制
java编程中最基本的机构有两种,一种是数组,另一种是模拟指针(引用),hashmap就是采用这两种的结合体。
即 同一行是数组,冲突的是链表。
1:hashmap的put方法,计算key的hashcode,根据hashcode找到存放的位置,如果该位置有对象了,则需要解决冲突,同一个位置上面的对象采用链表方式链接,最初的进入的在队头,刚加入的放入队尾。
2:hashmap的get方法,计算key的hashcode,根据hashcode判断存放的位置,找到后,如果有多个对象,在根据key的equals方法来在对应链表中找到需要的元素。
详细文章:http://www.360doc.com/content/10/0505/19/495229_26234886.shtml