网上关于HashMap的工作原理的文章多了去了,所以我也不打算再重复别人的文章。我就是有点好奇,我怎么样能更好的理解他的原理,或者说使用他的特性呢?最好的开发就是测试~
虽说不详讲hashmap的工作原理,但是起码的常识还是要提一下的。
一句话:hashmap最直观的表现是一维数组或者说一维字典,但是每个每个值又可以指向另一个数组或都字典!
一张图:
其实说实话,给我个人的感觉是,说链表只是显得高大上些罢了,当然这片面的理解,不过也是令人误解的地方。
我曾经就以为,链表真是个高大上的东西,那我怎样生成这样的链接呢?
难道是 HashMap.put("c", "xxx").put("sss", "ssssss"), 链式调用 ?
难道是 HashMap.get("c").put("ccx")?