Java知识点–Map实现类的性能分析
名称 | 特点 |
---|---|
Hashtable | Hashtable是一个古老,线程安全的集合,实现与HashMap大致相同 |
HashMap | 因为不考虑线程安全的问题,所以通常情况下比Hashtable快 |
TreeMap | 因为TreeMap底层采用红黑树来管理键值对,所以TreeMap通常比HashMap和Hashtable都慢,但是,TreeMap中的元素总是处于有序状态,所以,不关心他的排序问题 |
LinkedHashMap | 因为需要链表去保持Map中键值对的添加顺序,所以通常情况下,性能略低于HashMap |
EnumMap | 只能使用同一个枚举作为key,性能最好 |
一般情况下,我们任然优先考虑HashMap,但如果涉及到排序,就使用TreeMap