键值映射

键相当与一个代号或者名称,而值则是这个代号或者名称的内容,是一个对象的实体内容。(和MySQL的键和值是一样的)。比如代号为001代表“阿离”或者字符串“li”也可以代表“阿离”。
Map集合简介
Map集合没有继承Collection接口,其提供的是key到value映射,Map中不能包含相同的key,一个key也最多只能映射到一个value,其中key决定了存储对象在映射中的存储位置。Map集合包括Mao接口以及Map接口的所有实现类,最常用的实现类是HashMap和TreeMap,其中HashMap用的最多。
Map集合的特点:
(1)Map集合是一个双列集合,一个元素包含两个值,一个key,一个value。
(2)Map集合中的元素,key和value的数据类型可以相同,也可以不同。
(3)Map集合中的元素,key是不允许重复的,value是可以重复的。
(4)Map集合中的元素,key和value是一一对应的。
HashMap和TreeMap的对比
HashMap类允许使用null键和null值,但必须保证键的唯一性,此类不保证映射的顺序,也不保证顺序永久不变,但是由于该类是通过哈希码对其内部的映射关系进行快速查找,所以Map集合添加和删除映射关系的效率很高(其底层实现是哈希表),这也是使用该类实现Map集合的最常用方法。
TreeMap类通常需要强制实现comparable接口重写其中的compareTo方法来进行排序,因此使用该类实现的Map集合的映射关系存在一定的顺序,但这即使优点也是缺点,存在顺序的话,那添加、删除和查看映射关系的效率就相对较低(其底层实现是红黑树),这就是为什么通常采用HashMap而不采用TreeMap的原因。
当然,可以通过HashMap类创建Map集合,当需要顺序输出的时候。再创建一个完成相同映射关系的TreeMap类的实例对象。
