【Java】Map 映射接口 概述

Map 映射接口 概述

Map是一个双列数据,存储K-V类型的数据 JDK1.2  

- HashMap  是目前Map的主要实现类 JDK1.2  线程不安全的,效率高,可存储null的key和value

- LinkedHashMap  是HashMap的子类 JDK1.4  遍历Map元素,可以按照添加的顺序实现遍历,在原有的HashMap上添加了一对指针,可指向前一个&后一个对象,如果要频繁遍历适用

- TreeMap  树形映射实现类 JDK1.2  保证按照添加的顺序进行排序,考虑Key的自然排序或定制排序,底层使用红黑树

- HashTable  哈希表,初代目的Map JDK1.0  线程安全,但是效率低,不可存储null的key&value

- Properties  哈希表的子类,处理配置文件,Key&Value必须都是String类型

 

HashMap底层:

数组 + 链表 (JDK7 -)

数组 + 链表 + 红黑树 (JDK8 +)

 

Map结构的理解:

Key  无序且不可重复的,使用Set存储所有的Key  Key所在的类要重写equals & hashCode方法

Value  无序但可重复的,使用Collection存储所有的Value  Value所在的类要重写equals方法

一个键值对:key-value构成了一个Entry对象

Entry  也是无序的不可重复,Entry == Set,所以Set存储了所有的Entry

 

Map的常用方法:

 

 

posted @ 2020-04-21 11:20  emdzz  阅读(327)  评论(0编辑  收藏  举报