整理下hasmap的使用
1、定义map的时候,如果能大概知道map的大小,最好先指定,因为map如果存入的值大于map的初始容量大小的时候,会进行扩容。在原来的基础上*2,再对之前的元素的位置进行重新计算和复制,开销比较大。
2、在定义map的时候,如果key是一个自定义对象,一定要重写hascode,java获取map的值的时候,会先根据key的hascode获取entity table中的索引,再去比对对象是否一样。
3、java map存储的时候,是以链表散列的形式存储的,如果想要提查找效率,指定map的时候可以指定的大一些。
附上java1.7 hasmap的实现原理
http://blog.csdn.net/qq_27093465/article/details/52207152