Below are the scenario of iterator and for loop:
1) Using iterator:
  ihm.put("Zara", new Double(3434.34));
  ihm.put("Mahnaz", new Double(123.22));
  ihm.put("Ayan", new Double(1378.00));
  ihm.put("Daisy", new Double(99.22));
  ihm.put("Qadir", new Double(-19.08));
  // Get a set of the entries
  Set set = ihm.entrySet();
  // Get an iterator
  Iterator i = set.iterator();
  // Display elements
  while(i.hasNext()) {
     Map.Entry me = (Map.Entry)i.next();
     System.out.print(me.getKey() + ": ");
     System.out.println(me.getValue());
  }
  System.out.println();
=====================================
Using For Loop:
    HashMap<String, Integer> map = new HashMap<String, Integer>();
    //Adding key-value pairs
    map.put("ONE", 1);
    map.put("TWO", 2);
    map.put("THREE", 3);
    map.put("FOUR", 4);
    //Adds key-value pair 'ONE-111' only if it is not present in map
    map.putIfAbsent("ONE", 111);
    //Adds key-value pair 'FIVE-5' only if it is not present in map
    map.putIfAbsent("FIVE", 5);
    //Printing key-value pairs of map
    Set<Entry<String, Integer>> entrySet = map.entrySet();
    for (Entry<String, Integer> entry : entrySet) 
    {
        System.out.println(entry.getKey()+" : "+entry.getValue());
    }        
}    
In the above both cases iterator and for loop are doing the same job.So can anyone tell me what is the differences between them and when i can use iterator and for loop.
 
    