Map集合中value()方法与keySet()、entrySet()区别

1.直接输出entrySet,是将所有元素以“键=值”的形式打印出来,用“[]”括起来

Map集合中value()方法与keySet()、entrySet()区别_第1张图片

2.使用了entrySet后Map中的所有键值就转换成Set集合,此时可以用迭代器遍历,实现了Map在没有键的情况下也能遍历元素,弊端是多出来了等号

Map集合中value()方法与keySet()、entrySet()区别_第2张图片

3.因为转换成了set,所以可以用set的引用承接

Map集合中value()方法与keySet()、entrySet()区别_第3张图片

4.将上文中的entrySet换成KeySet和values,有一样的效果

5.其实将其转换成Map.Entry的类型,就可以遍历Map而不出现“=”了,Map.Entry是一个内部接口

Map集合中value()方法与keySet()、entrySet()区别_第4张图片

总结:同时遍历Map的键与值:先用entrySet方法转换成Set集合,遍历Set时,在循环内部将it.next()转换成Map.Entry形式,利用Map.Entry的getKey和getValue方法,得到键和值。形象的说是先讲MAP的元素对打包,循环的时候再分解元素对

你可能感兴趣的:(java)