map的实现类

map的主要实现类

map的主要实现类包括 HashMap、TreeMap、HashTable、LinkedHashMap这四类。

HashMap

HashMap是没有顺序的,他的存储方式是用key的HashCode来存储的数据的。根据key值可以直接获取value。访问速度快,HashMap中的key最多只能允许一条记录为null(多个null会覆盖),而value允许多条记录null。是非同步的。HashMap继承AbstractMap类。
在这里插入图片描述

TreeMap

TreeMap可以将它保存的记录进行排序,默认是升序排序。也可以用比较器进行排序,用 iterator遍历Treemap时,得到的记录也是排过序的。TreeMap是不允许key值为null。是非同步的。TreeMap继承AbstractMap类。
map的实现类_第1张图片

HashTable

HashTable和HashMap类似。但是HashTable的key和value都不允许为null。它支持线程同步,即任一时刻只有一个线程能写Hashtable,所以导致于HashTable写入会比较慢。HashTable继承Dictionary。
在这里插入图片描述

LinkedHashMap

LinkedHashMap是有顺序的,用iterator遍历LinkedHashMap时,得到的顺序是先插入的那个。在遍历的时候会比HashMap慢,key值和value都允许为null,是非同步的。

你可能感兴趣的:(map,Java,java,map)