1Map 接口特点
Map 接口定义了双例集合的存储特征,它并不是 Collection 接口的子接口。双例集合的存储特
征是以 key 与 value 结构为单位进行存储。
2Map 与 Collecton 的区别:
1)
Collection
中的容器,元素是孤立存在的(理解为单身),向集合中存储元素采用一个
个元素的方式存储。
2)
Map
中的容器,元素是成对存在的
(
理解为现代社会的夫妻
)
。每个元素由键与值两部分
组成,通过键可以找对所对应的值。
3)
Collection
中的容器称为单列集合,
Map
中的容器称为双列集合。
4)Map
中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。
5)
Map
中常用的容器为
HashMap
,
TreeMap
等。
3Map
的常用方法
![](https://img-blog.csdnimg.cn/e21883ae26054cb98ce5a9ac540f353d.png)
4
HashMap
容器类
HashMap 是 Map 接口的接口实现类,采用哈希算法实现,是 Map 接口最常用的 实现类。 由于底层采用了哈希表存储数据,所以要求键不能重复,如果发生重复,新的值 会替换旧的值 ,HashMap 在查找、删除、修改方面都有非常高的效率。
5.添加元素 map.put()
6获取元素
方式一
通过
get
方法获取元素
String val = map.get(
"a"
);
System.
out
.println(val);
方式二
通过
keySet
方法获取元素
//
获取
HashMap
容器中所有的元素,可以使用
keySet
方法与
get
方法一并完成。
Set<String> keys = map.keySet();
for
(String key:keys){
String v1 = map.get(key);
System.
out
.println(key+
" ---- "
+v1);
}
方式三
通过
entrySet
方法获取
Map.Entry
类型获取元素
Set<Map.Entry<String,String>> entrySet = map.entrySet();
for
(Map.Entry<String,String> entry:entrySet){
String key = entry.getKey();
String v = entry.getValue();
System.
out
.println(key+
" ---------- "
+v);