Java foreach эффективность

У меня есть что-то вроде этого:

Map<String, String> myMap = ...;

for(String key : myMap.keySet()) {
   System.out.println(key);
   System.out.println(myMap.get(key)); 
}

Так этоmyMap.keySet() позвонил один раз вцикл foreach? Я думаю, что это так, но хочу ваше мнение.

Я хотел бы знать, если использовать foreach таким образом (myMap.keySet()) оказывает влияние на производительность или эквивалентно этому:

Set<String> keySet = myMap.keySet();
for (String key : keySet) {
   ...
}

Ответы на вопрос(5)

Ваш ответ на вопрос