Map


Map_第1张图片

Map的主要实现类:

        HashMap,Hashtable,linkedHashMap,treeMap。

            Hashtable的方法都做了同步。不允许key或者value 为null

            HashMap的做法没有做同步。允许key或者value 为null

            hashTable和hashMap对key的哈希算法和哈希值到内存索引的映射算法不同。

    原理:   hashMap就是将key做hash算法,然后将hash值映射到内存地址,直接取得key所对应的数据。在hashMap中,底层采用的是数组,所谓的内存地址即数组的下标索引

            要求:

                    hash算法必须是高效的

                    hash值到内存地址(数组索引)的算法必须是高效的

                    根据内存地址(数组索引)可以直接取到对应的数据

            LinkedHashMap  :

                    继承了HashMap,但是hashMap中的数组是无序的。这是linkedHashMap实现了有序性。

                    提供了两种顺序类型:

                        插入时的顺序,最近访问的顺序。

           TreeMap继承了SortedMap,性能上比HashMap稍微低一点,但是TreeMap可以进行排序。实现排序功能Map,TreeMap是个不错的选择。



你可能感兴趣的:(Map)