Обычно мы пишем это, чтобы получить ключи и значения из карты.
Map m=new HashMap();
Set s=map.entrySet();
Iterator i=s.iterator()
while(s.hasNext()){
Map.Entry m= (map.Entry) s.next();
System.out.println(""+m.getKey()+""+ m.getValue());
}
Почему мы выполняем итерацию с использованием набора, почему бы не напрямую сопоставить?