Saturday, February 24, 2018

How to Iterate a HashMap of ArrayLists of String in Java

This Java program shows how to iterate a HashMap that contains arraylists of String.

In the Java program to iterate a HashMap containing ArrayLists there is a method getMap() where 3 lists are created and stored in the HashMap.

First you need to iterate the HashMap, though there are several ways to iterate over a HashMap, but here I have used the for-each loop for iterating the created HashMap. Each Map.Entry object is a key-value pair where value is the ArrayList stored with the given key. That's the list retrieved using listEntry.getValue() method.

In the second for-each loop List that is retrieved using listEntry.getValue() is iterated and the elements that are in the list are displayed.

Java Program to Iterate HashMap of ArrayLists

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class MapLoop {

    public static void main(String[] args) {
        MapLoop mapLoop = new MapLoop();
        Map<String, List<String>> cityMap = mapLoop.getMap();
        int i = 0;
        // iterating over a map
        for(Map.Entry<String, List<String>> listEntry : cityMap.entrySet()){
            System.out.println("Iterating list number - " + ++i);
            // iterating over a list
            for(String cityName : listEntry.getValue()){
                System.out.println("City - " + cityName);
            }
        }
    }
    
    /**
     * A method to create a list and store it in a Map
     * @return
     */
    private Map<String, List<String>> getMap(){
        Map<String, List<String>> cityMap = new HashMap<String, List<String>>();
        // First List
        List<String> temp = new ArrayList<String>();  
        temp.add("Delhi");
        temp.add("Mumbai");
        // Putting first list in the map
        cityMap.put("1", temp);
        // Second List
        temp = new ArrayList<String>();  
        temp.add("Hyderabad");
        temp.add("Bangalore");
        // Putting second list in the map
        cityMap.put("2", temp);
        // Third List
        temp = new ArrayList<String>();
        temp.add("Kolkata");
        temp.add("Chennai");
        // Putting third list in the map
        cityMap.put("3", temp);
        return cityMap;
    }
}
Output
Iterating list number - 1
City - Delhi
City - Mumbai
Iterating list number - 2
City - Hyderabad
City - Bangalore
Iterating list number - 3
City - Kolkata
City - Chennai

That's all for this topic How to iterate a Hash map of arraylists of String in Java. If you have any doubt or any suggestions to make please drop a comment. Thanks!

>>>Return to Java Programs Page


Related Topics

  1. How HashMap Internally Works in Java
  2. How to Loop Through a Map in Java
  3. How to Loop/Iterate an Arraylist in Java
  4. How to Sort ArrayList of Custom Objects in Java
  5. Count Total Number of Times Each Character Appears in a String - Java Program

You may also like-

  1. Method Overloading in Java
  2. What is Dependency Injection in Spring
  3. Race condition in Java multi-threading
  4. ReentrantLock in Java concurrency
  5. CopyOnWriteArrayList in Java
  6. Java Exception Handling Interview Questions
  7. Java Collections Interview Questions
  8. Producer-Consumer Java program using wait notify