map的区别
hashtable、hashmap和treemap都是常见的一些map实现,是以键值对的形式存储和操作数据的容器类型
hashtable是早期java类库提供一个哈希表的实现,本身是同步的,不支持null键和值,由于同步导致的性能开销,所以已经很少被推荐使用
hashmap应用更加广泛的哈希表实现,行为和hashtable一致,主要区别在于hashmap不是同步的,支持null键和值等。通常情况下,hashmap进行put和get操作,可以达到常数时间的性能,所以它是绝大多数利用键值对存取场景的首选
treemap则基于红黑树的一种提供顺序访问的map,和hashmap不同,它的get、put、remove操作都是O(log(n))的时间复杂度,具体顺序可以指定的Comparator来决定,或者根据键的自然顺序来判断
map
map的区别
hashtable、hashmap和treemap都是常见的一些map实现,是以键值