diff --git a/core-java-modules/core-java-collections-maps/src/main/java/com/baeldung/map/MapClear.java b/core-java-modules/core-java-collections-maps/src/main/java/com/baeldung/map/MapClear.java new file mode 100644 index 0000000000..9e16b742cf --- /dev/null +++ b/core-java-modules/core-java-collections-maps/src/main/java/com/baeldung/map/MapClear.java @@ -0,0 +1,49 @@ +package com.baeldung.map; + +import java.util.HashMap; +import java.util.Map; + +public class MapClear { + public static Map returnCopyAndClearMap() { + // Create a HashMap + Map scores = new HashMap<>(); + Map scores_copy; + + // Add some key-value pairs + scores.put("Alice", 90); + scores.put("Bob", 85); + scores.put("Charlie", 95); + + scores_copy = scores; + + System.out.println("Before clearing: " + scores); + + // Clear the map + scores.clear(); + + System.out.println("After clearing: " + scores); + return scores_copy; + } + + public static Map returnCopyAndRewriteMap() { + // Create a HashMap + Map scores = new HashMap<>(); + Map scores_copy; + + // Add some key-value pairs + scores.put("Alice", 90); + scores.put("Bob", 85); + scores.put("Charlie", 95); + + scores_copy = scores; + + System.out.println("Before clearing: " + scores); + + // Create a new map + scores = new HashMap<>(); + + System.out.println("After clearing: " + scores); + + return scores_copy; + } +} \ No newline at end of file diff --git a/core-java-modules/core-java-collections-maps/src/test/java/com/baeldung/map/MapClearUnitTest.java b/core-java-modules/core-java-collections-maps/src/test/java/com/baeldung/map/MapClearUnitTest.java new file mode 100644 index 0000000000..a6d10f2707 --- /dev/null +++ b/core-java-modules/core-java-collections-maps/src/test/java/com/baeldung/map/MapClearUnitTest.java @@ -0,0 +1,20 @@ +package com.baeldung.map; + +import java.util.Map; + +import org.junit.Test; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +public class MapClearUnitTest { + @Test + public void givenMap_returnEntryAndClearContent() { + Map entry = MapClear.returnCopyAndClearMap(); + assertTrue(entry.isEmpty()); + } + + @Test public void givenMap_returnEntryAndRewriteContent() { + Map entry = MapClear.returnCopyAndRewriteMap(); + assertTrue(!entry.isEmpty()); + } +} \ No newline at end of file