为什么会有Hash类型的Map?

简单理解:Map本身是存放key和value信息的地方,若想获取某个key1对应的value,即map.get(key1),常规思维就是拿key1和所有的key一个一个去比较,若相同,则返回对应的value。假如有10000个key,要比较10000次吗?这样的效率难道不是很低下的吗?所以要改进,假如我们对key1进行某种运算直接能得到对应value的存储位置,来直接获取到value,这样不是最爽的吗?不再和其他key进行比较了,而是得到位置,直接获取对应的value。这就是HashMap等的基本原理,同时hashCode方法在得到位置信息上发挥着巨大的作用

评论已关闭。