hashMap、treeMap、hashTable之间的区别

hashtable:

1:Hashtable实现中任何非 null 对象都可以用作键或值

2:HashMap 类与 Hashtable都有两个参数影响其性能:初始容量 和加载因子

3:Hashtable 的方法是Synchronize 的, 而HashMap 不是,在多个线程访问Hashtable 时,需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
HashMap
1:HashMap基于哈希表的 Map 接口的实现。此实现提供所有可选的映射操作, :并允许使用 null 值和 null 键
2:此实现不是同步的
3: 除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同
4:Hashtable 线程安全 HashMap 线程不安全,都是使用散列表结构
5: HashMap 把Hashtable 的contains 方法去掉了,改成containsvalue 和containsKey。因为ontains 方法容易让人引起误解。
TreeMap:
基于红黑二叉树的NavigableMap的实现,线程非安全, 不允许null,key不可以重复,value允许重复, 存入TreeMap的元素应当实现Comparable接口或者实现Comparator接口,会按照排序后的顺序迭代元素,两个相比较的key不得抛出classCastException。主要用于存入元素的时候对元素进行自动排序,迭代输出的时候就按排序顺序输出

猜你喜欢

转载自blog.csdn.net/qq_40036979/article/details/80172117