я совсем не понимаю видимо разницу. не понимаю почему при таком коде выводятся результаты которые выводятся:
Вариант 1 Iterator<Map.Entry<String , Object>> iterator = map.entrySet().iterator(); while (iterator.hasNext()){ System.out.println(iterator.next().getKey() + " - " + iterator.next().getValue()); } получаю: Tom - 6 Sim - false Cat - null Eat - 111111111111 Food - 123.0 И в тоже время, по моему мнению совершенно идентичное по смыслу решение: Вариант 2: for (Map.Entry<String, Object> pair : map.entrySet()){ System.out.println(pair.getKey() + " - " + pair.getValue()); } выводит верные результаты.