Map集合的特点:

  1. ** 键值对集合 每一个元素都是由键值对组成 根据键操作值**<br /> ** 键不允许重复 否则值覆盖**<br /> **键和值 可以是任意类型**![image.png](https://cdn.nlark.com/yuque/0/2022/png/28889470/1655890156931-2f872273-e45d-4289-8aa6-1a032050fb5f.png#clientId=uaea8bc2a-190d-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=281&id=u6daeb167&margin=%5Bobject%20Object%5D&name=image.png&originHeight=351&originWidth=558&originalType=binary&ratio=1&rotation=0&showTitle=false&size=77604&status=done&style=none&taskId=u010784d1-94fd-4345-aab9-bf8bbed0959&title=&width=446.4)

方法:

.put() 增加元素 .remove(key,value) 根据键值对删除元素
.isEmpty() 判断是否为空 .clear() 清空集合
.containsKey() 判断是否存在指定键
.containsValue() 判断是否存在指定值
.replace(key,value) 根据键修改值
firstKey() 获取第一个键 lastKey() 获取最后一个键
//获取第一个/最后一个 键值对对象(Entry类型)
firstEntry() lastEntry() 获取键值对对象 Entry类型
//通过该对象.getKey() .getValue() 属性 获取键值
firstEntry().getKey() / lastEntry().getValue()
遍历方法:1.增强for循环遍历 2.迭代器遍历

TreeMap特性:

 **   键不允许重复  结果是有序的  按照键的大小排列**<br />        **键的排序规则:  比较器接口**<br />       ** 结果是有序的**  **按照键的大小排序**<br />        **排序规则:  键的比较器接口方法(可自定义方法)**

   ** TreeMap键如果存放的是自定义类型 那么该类必须实现比较器接口**<br />**        否则报错**<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/28889470/1655909116477-7f029637-aa0e-4633-b145-68f304bd5557.png#clientId=u67b1d1f9-3069-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=207&id=u01be5d7c&margin=%5Bobject%20Object%5D&name=image.png&originHeight=259&originWidth=567&originalType=binary&ratio=1&rotation=0&showTitle=false&size=58389&status=done&style=none&taskId=uee15944d-ed9d-426d-8f4d-96145fb3b4a&title=&width=453.6)<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/28889470/1655909149278-d1e1ef10-a770-4453-9a65-3595354c0184.png#clientId=u67b1d1f9-3069-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=320&id=u28cb86aa&margin=%5Bobject%20Object%5D&name=image.png&originHeight=400&originWidth=502&originalType=binary&ratio=1&rotation=0&showTitle=false&size=60492&status=done&style=none&taskId=u813fbecc-9eae-498f-95a7-91a4fd98cec&title=&width=401.6)