map 的存储形式是键值对的,集一个key 对应一个value,所以get(key)得到的是value,这在源码中有所体现,
另一个在遍历的时候并没有直接遍历map,而是将key取出放到一个set集合里,去遍历这个set,即取出里面的key,然后通过get(key)方法来取出map里的value;
如果按你那样想的String key=iterator.next();一样用iterator.next()? 那么你得到的value全是null,根本取不出map中的value;
map.get() 方法返回指定键所映射的值,所以这里通过key来得到key对应的值,而使用迭代器(Iterator)时,尽量一个遍历结构只有一个hasNext()和next(),如果继续调用了Iterator.next()方法,就会导致Iterator索引再次移动,得不到想要的值