Map接口和其实现类HashMap
概述
双列集合Map,每个元素都包含一个键对象Key和值对象Value,键和值对象之间存在对应关系,称为映射。Map集合中访问元素,只要指定了Key,就能找到对应的Value。
Map接口常用方法
| 方法 | 描述 |
|---|---|
| V put(Object key,Objec value) | 将指定的值与此映射中的指定键关联并添加到集合中。如果包含先前的映射,则将旧值替换为新值 |
| V get(Object key) | 返回指定键所映射的值,如果此映射不包含该键的映射关系,返回null |
| boolean containsKey(Object key) | 如果此映射包含指定键的映射关系,返回true |
| boolean containsValue(Object value) | 如果映射中包含有一个或多个键映射到指定值,则返回true |
| Set keySet() | 返回此映射中包含的键Set视图 |
| Collection |
返回此映射中包含的Collection视图 |
| V remove(Object key) | 如果删除成功,返回先前的值,如果失败,返回null |
| boolean remove(Object key,Object value) | 删除成功返回true,否则返回false |
| V replace(K key,V value) | 仅当指定键映射到某个值时,新值替换,返回旧值 |
简而言之,
put(Object key,Objec value)和get(Object key)用于向Map中存入和取出元素;
containsKey(Object key)和containsValue(Object value)方法分别用于判断Map中是否包含某个特定的键或值。
keySet()和values()方法分别用于获取Map中所有的键和值。
Map的实现类
HashMap
用于存储键值映射关系,必须保证不出现重复的键,重复键不会存入。
下面举2个不同的迭代方式:
1.foreach迭代HashMap
HashMap map = new HashMap();
map.put(1, "Jack");
map.put(2,"Rose");
map.put(3,"Tim");
//foreach遍历
Set set = map.keySet();
for (Object i :
set) {
System.out.println(i+"->"+map.get(i));
}
2.Iterator迭代HashMap
HashMap map = new HashMap();
map.put(1, "Jack");
map.put(2,"Rose");
map.put(3,"Tim");
//使用Iterator对象进行遍历
Set set2 = map.keySet();
Iterator it = set2.iterator();
while (it.hasNext()){
Object key = it.next();
Object value = map.get(key);
System.out.println(key + "->" + value);
}
运行结果如下:
1->Jack
2->Rose
3->Tim
浙公网安备 33010602011771号