Hashmap和Hashtable的区别
①HashMap是继承自AbstractMap类,而Hashtable是继承自Dictionary类。 ②HashMap方法不是
Synchronize的,线程不安全 ③Hashtable方法是Synchronize的,线程安全 ④HashMap允许有null的
键和值,Hashtable不允许有null的键和值 ⑤HashMap有containsvalue和containKey方法,hashtable
有contains方法 HashMap是java1.2引进的Map interface的一个实现,Hashtable继承于Dictionary
集合扩容机制
HashMap:16,最大2的30次方 HashMap扩容机制,扩容到原数组的两倍 Hashtable:11 Hashtable
扩容机制,扩容到原数组的两倍+1 ArrayList:10 ArrayList扩容机制,按原数组长度的1.5倍扩容。如果
扩容后的大小小于实际需要的大小,将数组扩大到实际需要的大小 Vector:10 Vector扩容机制,如果
用户没有指定扩容步长,按原数组长度的2倍扩容,否则按用户指定的扩容步长扩容。如果扩容后的大小
小于实际需要的大小,将数组扩大到实际需要的大小 LinkedList是用双链表实现的。对容量没有要求,
也不需要扩容
索引越多越好吗?
并不是, 虽然它可以大大的加快数据检索的速度, 加速表与表之间的连接。 但是缺点也很明显, 从空