diff --git a/core-java-collections-2/src/main/java/com/baeldung/copyinghashmap/CopyHashMap.java b/core-java-collections-2/src/main/java/com/baeldung/copyinghashmap/CopyHashMap.java index a1dc4fe6bb..11ead4ee38 100644 --- a/core-java-collections-2/src/main/java/com/baeldung/copyinghashmap/CopyHashMap.java +++ b/core-java-collections-2/src/main/java/com/baeldung/copyinghashmap/CopyHashMap.java @@ -43,11 +43,11 @@ public class CopyHashMap { return copyMap; } - public static HashMap copyMapAndConvertCmsToInches(HashMap originalMap) { + public static HashMap copyMapAndDivideValuesBy2(HashMap originalMap) { Set entries = originalMap.entrySet(); HashMap copyMap = (HashMap) entries .stream() - .collect(Collectors.toMap(mapEntry -> mapEntry.getKey(), mapEntry -> (int)mapEntry.getValue()/2.54)); + .collect(Collectors.toMap(mapEntry -> mapEntry.getKey(), mapEntry -> (int)mapEntry.getValue()/2)); return copyMap; } diff --git a/core-java-collections-2/src/test/java/com/baeldung/copyinghashmap/CopyHashMapUnitTest.java b/core-java-collections-2/src/test/java/com/baeldung/copyinghashmap/CopyHashMapUnitTest.java index d49317b3dc..91848a86a9 100644 --- a/core-java-collections-2/src/test/java/com/baeldung/copyinghashmap/CopyHashMapUnitTest.java +++ b/core-java-collections-2/src/test/java/com/baeldung/copyinghashmap/CopyHashMapUnitTest.java @@ -15,64 +15,63 @@ public class CopyHashMapUnitTest { @Test public void givenHashMap_whenShallowCopy_thenCopyisNotSameAsOriginal() { - HashMap employeeMap = new HashMap<>(); - Employee emp1 = new Employee("John", "Smith"); - Employee emp2 = new Employee("Norman", "Lewis"); - employeeMap.put("employee1",emp1); - employeeMap.put("employee2",emp2); + HashMap map = new HashMap<>(); + Employee emp1 = new Employee("John"); + Employee emp2 = new Employee("Norman"); + map.put("emp1",emp1); + map.put("emp2",emp2); - HashMap employeeMapShallowCopy = CopyHashMap.shallowCopy(employeeMap); + HashMap shallowCopy = CopyHashMap.shallowCopy(map); - assertThat(employeeMapShallowCopy).isNotSameAs(employeeMap); + assertThat(shallowCopy).isNotSameAs(map); } @Test public void givenHashMap_whenShallowCopyModifyingOriginalObject_thenCopyShouldChange() { - HashMap employeeMap = new HashMap<>(); - Employee emp1 = new Employee("John", "Smith"); - Employee emp2 = new Employee("Norman", "Lewis"); - employeeMap.put("employee1",emp1); - employeeMap.put("employee2",emp2); - HashMap employeeMapShallowCopy = CopyHashMap.shallowCopy(employeeMap); + HashMap map = new HashMap<>(); + Employee emp1 = new Employee("John"); + Employee emp2 = new Employee("Norman"); + map.put("emp1",emp1); + map.put("emp2",emp2); - emp1.setFirstName("Johny"); + HashMap shallowCopy = CopyHashMap.shallowCopy(map); - assertThat(employeeMapShallowCopy.get("employee1")) - .isEqualTo(employeeMap.get("employee1")); + emp1.setName("Johny"); + + assertThat(shallowCopy.get("emp1")).isEqualTo(map.get("emp1")); } @Test public void givenHashMap_whenDeepCopyModifyingOriginalObject_thenCopyShouldNotChange() { - HashMap employeeMap = new HashMap<>(); - Employee emp1 = new Employee("John", "Smith"); - Employee emp2 = new Employee("Norman", "Lewis"); - employeeMap.put("employee1",emp1); - employeeMap.put("employee2",emp2); - HashMap employeeMapDeepCopy = CopyHashMap.deepCopy(employeeMap); + HashMap map = new HashMap<>(); + Employee emp1 = new Employee("John"); + Employee emp2 = new Employee("Norman"); + map.put("emp1",emp1); + map.put("emp2",emp2); + HashMap deepCopy = CopyHashMap.deepCopy(map); - emp1.setFirstName("Johny"); + emp1.setName("Johny"); - assertThat(employeeMapDeepCopy.get("employee1")) - .isNotEqualTo(employeeMap.get("employee1")); + assertThat(deepCopy.get("emp1")).isNotEqualTo(map.get("emp1")); } @Test - public void givenHashMapWithValuesInCms_whenCopy_thenCopyMapShouldHaveValuesInInches() { + public void givenHashMap_whenCopy_thenCopyMapShouldHaveValuesDivideBy2() { HashMap heightMap = new HashMap<>(); heightMap.put("emp1", 160); heightMap.put("emp2", 165); heightMap.put("emp3", 163); - HashMap heightMapInInches = CopyHashMap.copyMapAndConvertCmsToInches(heightMap); + HashMap heightMapCopy = CopyHashMap.copyMapAndDivideValuesBy2(heightMap); - assertThat(heightMap).isNotEqualTo(heightMapInInches); + assertThat(heightMap).isNotEqualTo(heightMapCopy); - assertThat(heightMap.get("emp1")/2.54).isEqualTo(heightMapInInches.get("emp1")); + assertThat(heightMap.get("emp1")/2).isEqualTo(heightMapCopy.get("emp1")); } @Test diff --git a/core-java-collections-2/src/test/java/com/baeldung/copyinghashmap/Employee.java b/core-java-collections-2/src/test/java/com/baeldung/copyinghashmap/Employee.java index 9ec4327b5f..b47fdc768e 100644 --- a/core-java-collections-2/src/test/java/com/baeldung/copyinghashmap/Employee.java +++ b/core-java-collections-2/src/test/java/com/baeldung/copyinghashmap/Employee.java @@ -4,33 +4,23 @@ import java.io.Serializable; public class Employee implements Serializable{ - private String firstName; - private String lastName; + private String name; - public Employee(String firstName, String lastName) { + public Employee(String name) { super(); - this.firstName = firstName; - this.lastName = lastName; + this.name = name; } - public String getFirstName() { - return firstName; + public String getName() { + return name; } - public void setFirstName(String firstName) { - this.firstName = firstName; - } - - public String getLastName() { - return lastName; - } - - public void setLastName(String lastName) { - this.lastName = lastName; + public void setName(String name) { + this.name = name; } @Override public String toString() { - return this.firstName + " " + this.lastName; + return this.name; } }