Map接口
首先来介绍一下什么是map接口。在平常我们常用的各种注册页面,有姓名、年龄、手机号等等,这些其实存储的格式就是map格式的,Map接口是一种双列集合,它的每个元素都包含一个键对象Key和一个值对象Value,键和值对象之间存在一种对应关系,称为映射。如下图:
图画的有点丑。。不要在意这些细节。上面这个图呢,就简单的解释了一下
map存储数据的特点,是双列集合。一个key对应一个value
下面介绍map的几大特点:
1、每次存储 key-value对;
2、key部分不能重复
3、常用实现类HashMap和TreeMap
常用实现类
HashMap
说完map的几个简单的特点,现在来说一下他常用的实现类 HashMap;
HashMap也是我们在工作中经常能用到的一个存储数据的类,它有一下几个特点:
1、无序的、不可重复的
2、允许键和值为null
3、存储的是键值对 key——value
HashMap还有一个子类:LinkedHashMap
它和HashMap不同的地方就是,它是有序的,它会按照添加时候的顺序,在需要频繁使用遍历的时候它的效率比HashMap要高。
TreeMap
特点:
1、按照添加的key - value对进行排序
2、实现排序遍历
3、底层使用红黑树
要注意的是,向TreeMap中添加key - value,要求必须是由一个类创建的对象,因为要按照key进行排序:自然排序、定制排序
Hashtable
要说HashMap是map接口的主要实现类,那Hashtable就是msp接口的古老实现类了,特点 :
1、线程安全、效率低
2、不能存储null
它还有一个子类:**Properties:**常用来处理配置文件。key和value都是String类型
今天就先写到这里了,有什么不对的地方或者大家有什么好的学习建议,还希望大家在评论区指正和讨论。谢谢 !