import java.util.*; public class IterateHashMap { public static void main(String[] args) { HashMap<String, Integer> map = new HashMap<>(); // populate the map for (String key : map.keySet()) { Integer value = map.get(key); } // Using entrySet() for (Map.Entry<String, Integer> entry : map.entrySet()) { String key = entry.getKey(); Integer value = entry.getValue(); } // Using forEach() in Java 8 map.forEach((key, value) -> { // Process key and value }); // using KeySet Iterator Set<String> keySet = map.keySet(); Iterator<String> keySetIterator = keySet.iterator(); String tempKey; while (keySetIterator.hasNext()) { tempKey = keySetIterator.next(); Integer value = map.get(tempKey); } Collection<Integer> values = map.values(); for (Integer value : values) { // proces values } } }