1.HashMap创建的时候默认大小是16,加载因子是0.75,同时还有一个大小为10的Entry数组。
2.put(key,value)方法是有返回值的,如果key对应的hash不重复返回值为null;如果key对应的hash重复,而且key于原来hash相同的key值或者对象相同,那么替换换来的key对应的value,并返回原value;还有一种情况,key对应的hash重复了,但是相同hash的key值不同,对象不同,那么将新元素顺序的放到下一个位置。
3.HashMap并不是线程同步的
4.HashMap允许KEY VALUE为空。
HashMap实际是拉链法实现的链表,数据结构如下:
,出处未找到..
LinkedHashMap是HashMap的子类,它使用父类HashMap的put方法,但是重写了addEntry的方法。
LinkedHashMap循环获取的元素跟put的顺序一致,但是HashMap的循环取得顺序跟put的顺序相反。
LinkedHashMap内部是一个双向链表,如果所示:
图片摘自http://www.cnblogs.com/children/archive/2012/10/02/2710624.html
未完待续~~~