一、Map集合的特点:
Map集合的特点:
1.Map是一个双列集合,一个元素包含两个值(一个key,一个value)
2.Map集合中的元素,key和value的数据类型可以相同,也可以不同
3.Map中的元素,key不允许重复,value可以重复,并且value对象还可以是 Map 类型的
4.Map里的key和value是一一对应的。
在使用的过程中,要找好k与v的对应关系。分清楚那个是k,那个是v
例子:
如果给出一个元素,在数组中判断这个元素是否出现过,如果出现过,返回这个元素的下标。
此时:这个元素就要作为key,有key对应的就是value,value用来存元素下标。
二、Map中的方法:
get方法返回指定键所映射的值。如果此映射不包含该键的映射关系,则返回null。
三、遍历Map集合的方式
1.Map集合遍历方式一:键找值
先获取Map集合的全部键的Set集合 //
Set<string> key=map.keySet();
遍历键的Set集合,然后通过键提取对应值map.getValue()
Set<String> keys=maps.keySet();
for(String key1:keys){
int valu1e=maps.get(key1);
System.out.println(key1+"====>"+valu1e);
}
2.Map集合遍历方式二:键值对流程
先把Map集合转换成Set集合,Set集合中每个元素都是键值对实体类型了
遍历Set集合,然后提取键以及提取值
/**
* 使用foreach遍历map集合,发现Map集合的键值对元素直接是没有类型的,所以不可以直接foreach遍历集合
* 可以通过条用Map的方法entrySet把Map集合S转换成Set集合形式
*/
//1.把Map集合转换成Set集合
Set<Map.Entry<String,Integer>> entries=maps.entrySet();
//2.for开始遍历
for(Map.Entry<String,Integer> entry:entries){
String key=entry.getKey();
int value=entry.getValue();
System.out.println(key+"=====>"+value);
}
3.Map集合的遍历方式三:Lambda
//Map集合的遍历方式:Lambda
// maps.forEach(new BiConsumer<String, Integer>() {
// @Override
// public void accept(String key, Integer value) {
// System.out.println(key+"--->"+value);
// }
// });
maps.forEach((k,v)->{
System.out.println(k+"--->"+v);
});
每日学习03–Map的常用实现类 link