package com.michaelthomas.map; /** * @author Michael Thomas (www.michael-thomas.com) michael@michael-thomas.com * */ import java.util.Iterator; import java.util.Map; import java.util.Set; public class MyMapTraverse { //NOTE: For learning, you must see the JUnit test file in the /test/ directory and matching package! //Ex: Using entrySet() & For Each public String forEachExampleEntrySet(Map map) { //Note: Map is not designed to be traversed. Use lookups. Use this for debugging purpose. Set> entries = map.entrySet(); StringBuilder sb = new StringBuilder(); int counter = 0; for (Map.Entry entry : entries) { Object key = entry.getKey(); Object value = entry.getValue(); sb.append(key + " = " + value + (counter != entries.size()-1 ? ", " : "")); counter++; } return sb.toString(); } //Ex: Using keySet() & For Each public String forEachExampleKeySet(Map map) { //Note: Map is not designed to be traversed. Use lookups. Use this for debugging purpose. StringBuilder sb = new StringBuilder(); int counter = 0; for (Object key : map.keySet()) { Object value = map.get(key); sb.append(key + " = " + value + (counter != map.size()-1 ? ", " : "")); counter++; } return sb.toString(); } //Ex: Using entrySet() & Iterator public String iterateForLoopExampleEntrySet(Map map) { //Note: Map is not designed to be traversed. Use lookups. Use this for debugging purpose. Set> entries = map.entrySet(); StringBuilder sb = new StringBuilder(); for (Iterator> iterator = entries.iterator(); iterator.hasNext();) { Map.Entry entry = iterator.next(); Object key = entry.getKey(); Object value = entry.getValue(); sb.append(key + " = " + value + (iterator.hasNext() ? ", " : "")); } return sb.toString(); } //Ex: Using keySet() & Iterator public String iterateForLoopExampleKeySet(Map map) { //Note: Map is not designed to be traversed. Use lookups. Use this for debugging purpose. StringBuilder sb = new StringBuilder(); for (Iterator iterator = map.keySet().iterator(); iterator.hasNext();) { Object key = iterator.next(); Object value = map.get(key); sb.append(key + " = " + value + (iterator.hasNext() ? ", " : "")); } return sb.toString(); } }