Javatpoint Logo
Javatpoint Logo

How to iterate Map in Java

In Java, iteration over Map can be done in various ways. Remember that we cannot iterate over map directly using iterators, because Map interface is not the part of Collection. All maps in Java implements Map interface. There are following types of maps in Java:

  • HashMap
  • TreeMap
  • LinkedHashMap

A map is not a Collection but still, consider under the Collections framework. Hence, a Map is an interface which does not extend the Collections interface.

Iterator

An iterator is an interface used for iterate over a collection. It takes the place of Enumeration in Java Collections Framework. The difference between iterator and Enumeration is:

  • The Iterator can traverse legacy and non-legacy elements whereas Enumeration can traverse only legacy elements.
  • Iterator is fail-fast whereas Enumeration is not fail-fast.

Collection Views

The collection views method allows a map to be viewed as a Collection in the following ways:

  • keySet: It is the set of keys contained in the Map.
  • values: It is the collection of values contained in the Map.
  • entrySet: It is a set of key-value pair in the Map.

The Map interface also has a small nested interface called Map.entry. The collection view provides the only means to iterate over a map.

Using Iterator interface

Example of iteration over HashMap

Output:

Roll no.: 130     name: Davesh
Roll no.: 150     name: Pawan
Roll no.: 120     name: Prateek
Roll no.: 140     name: Kamal
Roll no.: 110     name: Ravi

Using keyset() and value() method

keyset(): A keySet() method of HashMap class is used for iteration over the keys contained in the map. It returns the Set view of the keys.

Syntax

values(): A values() method of HashMap class is used for iteration over the values contained in the map. It returns a collection view of the values.

Syntax

Example

Output:

State: Gujarat
State: Sikkim
State: Uttar Pradesh
Capital: Gandhi Nagar
Capital: Ganagtok
Capital: Lucknow

Using Map.entry<K,V>method

Map.Entry<K,V> is an interface. It returns a collection view of the map, whose elements are of this class.

A map.entrySet() method returns a Set view of the mapping contained in the map. The changes in the map are reflected in the Set also and vice-versa. It also supports element removal, which removes the corresponding mapping from the map.

Syntax

Example

Output:

Item: Oats, Price: 220.0
Item: Dry Fruits, Price: 434.23
Item: Cookies, Price: 90.87
Item: Chocolate, Price: 70.89

Iteration over keys and getting values

Example

In the following example we first iterate over the keys and then getting the values.

Output:

Key: Rahul, Value: Tiwari
Key: Devesh, Value: Mishra
Key: Sumit, Value: Singh

Using forEach() method

The forEach() method of ArrayList is used to perform an action for each element of the Iterable until all elements have been processed.

Syntax

The method takes action (the action to be performed for each element) as a parameter. It does not return anything. It throws NullPointerException if the specified action is null.

Example

In the following example, we are using lambda expression inside the forEach() method to print each element of the map.

Output:

Company: Wipro, Net worth: $21.5 billion
Company: TCS, Net worth: $100 billion

Next TopicJava Tutorial





Youtube For Videos Join Our Youtube Channel: Join Now

Feedback


Help Others, Please Share

facebook twitter pinterest

Learn Latest Tutorials


Preparation


Trending Technologies


B.Tech / MCA