Java: итерация через HashMap, что более эффективно?

Учитывая следующий код с двумя альтернативными способами перебора,
есть ли разница в производительности между этими двумя методами?

        Map<String, Integer> map = new HashMap<String, Integer>();
        //populate map

        //alt. #1
        for (String key : map.keySet())
        {
            Integer value = map.get(key);
            //use key and value
        }

        //alt. #2
        for (Map.Entry<String, Integer> entry : map.entrySet())
        {
            String key = entry.getKey();
            Integer value = entry.getValue();
            //use key and value
        }

Я склонен думать, что alt. # 2 - более эффективный способ перебора всей карты (но я могу ошибаться)

56
задан bguiz 28 April 2011 в 23:52
поделиться