diff --git a/core-java/src/main/java/com/baeldung/map/iteration/MapIteration.java b/core-java/src/main/java/com/baeldung/map/iteration/MapIteration.java index d795f90419..2bc078cdb0 100644 --- a/core-java/src/main/java/com/baeldung/map/iteration/MapIteration.java +++ b/core-java/src/main/java/com/baeldung/map/iteration/MapIteration.java @@ -1,58 +1,71 @@ package com.baeldung.map.iteration; -import java.util.ArrayList; +import java.util.HashMap; import java.util.Iterator; -import java.util.List; import java.util.Map; public class MapIteration { - public List iterateUsingEntrySet(Map map) { - List mapKeyValueList = new ArrayList<>(); + public static void main(String[] args) { + MapIteration mapIteration = new MapIteration(); + Map map = new HashMap<>(); + + map.put("One", 1); + map.put("Three", 3); + map.put("Two", 2); + + System.out.println("Iterating Keys of Map Using KeySet"); + mapIteration.iterateKeys(map); + + System.out.println("Iterating Map Using Entry Set"); + mapIteration.iterateUsingEntrySet(map); + + System.out.println("Iterating Using Iterator and Map Entry"); + mapIteration.iterateUsingIteratorAndEntry(map); + + System.out.println("Iterating Using KeySet and For Each"); + mapIteration.iterateUsingKeySetAndForeach(map); + + System.out.println("Iterating Map Using Lambda Expression"); + mapIteration.iterateUsingLambda(map); + + System.out.println("Iterating Using Stream API"); + mapIteration.iterateUsingStreamAPI(map); + } + + public void iterateUsingEntrySet(Map map) { for (Map.Entry entry : map.entrySet()) { - mapKeyValueList.add(entry.getKey() + ":" + entry.getValue()); + System.out.println(entry.getKey() + ":" + entry.getValue()); } - return mapKeyValueList; } - public List iterateUsingLambda(Map map) { - List mapKeyValueList = new ArrayList<>(); - map.forEach((k, v) -> mapKeyValueList.add(k + ":" + v)); - return mapKeyValueList; + public void iterateUsingLambda(Map map) { + map.forEach((k, v) -> System.out.println((k + ":" + v))); } - public List iterateUsingIteratorAndEntry(Map map) { - ArrayList mapKeyValueList = new ArrayList<>(); + public void iterateUsingIteratorAndEntry(Map map) { Iterator> iterator = map.entrySet().iterator(); - while (iterator.hasNext()) { Map.Entry pair = iterator.next(); - mapKeyValueList.add(pair.getKey() + ":" + pair.getValue()); + System.out.println(pair.getKey() + ":" + pair.getValue()); } - - return mapKeyValueList; } - public List iterateUsingKeySetAndForeach(Map map) { - List mapKeyValueList = new ArrayList<>(); + public void iterateUsingKeySetAndForeach(Map map) { for (String key : map.keySet()) { - mapKeyValueList.add(key + ":" + map.get(key)); + System.out.println(key + ":" + map.get(key)); } - return mapKeyValueList; } - public List iterateUsingStreamAPI(Map map) { - ArrayList mapKeyValueList = new ArrayList<>(); - map.entrySet().stream().forEach(e -> mapKeyValueList.add(e.getKey() + ":" + e.getValue())); - return mapKeyValueList; + public void iterateUsingStreamAPI(Map map) { + map.entrySet().stream().forEach(e -> System.out.println(e.getKey() + ":" + e.getValue())); } - public ArrayList iterateKeys(Map map) { - ArrayList mapKeyList = new ArrayList<>(); + public void iterateKeys(Map map) { for (String key : map.keySet()) { - mapKeyList.add(key); + System.out.println(key); } - return mapKeyList; + } } \ No newline at end of file diff --git a/core-java/src/test/java/com/baeldung/map/iteration/MapIterationTest.java b/core-java/src/test/java/com/baeldung/map/iteration/MapIterationTest.java deleted file mode 100644 index 47dcd9ab1a..0000000000 --- a/core-java/src/test/java/com/baeldung/map/iteration/MapIterationTest.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.baeldung.map.iteration; - -import static org.junit.Assert.assertTrue; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.junit.BeforeClass; -import org.junit.Test; - -public class MapIterationTest { - - public static Map testMap = new HashMap(); - public static String testString1 = "One:1"; - public static String testString2 = "Two:2"; - public static String testString3 = "Three:3"; - - @BeforeClass - public static void createTestData() { - testMap.put("One", 1); - testMap.put("Three", 3); - testMap.put("Two", 2); - } - - @Test - public void givenMap_whenIterateUsingEntrySetReturnsAllEntries_thenCorrect() { - MapIteration mapIteration = new MapIteration(); - List list = mapIteration.iterateUsingEntrySet(testMap); - assertTrue((list.contains(testString1)) && (list.contains(testString2)) && (list.contains(testString3))); - } - - @Test - public void givenMap_whenIterateUsingLambdaReturnsAllEntries_thenCorrect() { - MapIteration mapIteration = new MapIteration(); - List list = mapIteration.iterateUsingLambda(testMap); - assertTrue((list.contains(testString1)) && (list.contains(testString2)) && (list.contains(testString3))); - } - - @Test - public void givenMap_whenIterateUsingIteratorAndEntryReturnsAllEntries_thenCorrect() { - MapIteration mapIteration = new MapIteration(); - List list = mapIteration.iterateUsingIteratorAndEntry(testMap); - assertTrue((list.contains(testString1)) && (list.contains(testString2)) && (list.contains(testString3))); - } - - @Test - public void givenMap_whenIterateUsingKeySetAndForeachReturnsAllEntries_thenCorrect() { - MapIteration mapIteration = new MapIteration(); - List list = mapIteration.iterateUsingKeySetAndForeach(testMap); - assertTrue((list.contains(testString1)) && (list.contains(testString2)) && (list.contains(testString3))); - } - - @Test - public void givenMap_whenIterateUsingStreamAPIReturnsAllEntries_thenCorrect() { - MapIteration mapIteration = new MapIteration(); - List list = mapIteration.iterateUsingStreamAPI(testMap); - assertTrue((list.contains(testString1)) && (list.contains(testString2)) && (list.contains(testString3))); - } - - @Test - public void givenMap_whenIterateUsingKeysReturnsAllKeys_thenCorrect() { - MapIteration mapIteration = new MapIteration(); - ArrayList list = mapIteration.iterateKeys(testMap); - assertTrue((list.contains("One")) && (list.contains("Two")) && (list.contains("Three"))); - } - -}