BAEL-2800_Copying_a_HashMap_in_Java

This commit is contained in:
Anshul Bansal 2019-04-10 16:56:53 +03:00
parent 998e2b7eeb
commit 437efd7242
2 changed files with 10 additions and 10 deletions

View File

@ -19,29 +19,29 @@ public class CopyHashMap {
} }
public static <String, Employee> HashMap<String, Employee> copyUsingPut(HashMap<String, Employee> originalMap) { public static <String, Employee> HashMap<String, Employee> copyUsingPut(HashMap<String, Employee> originalMap) {
HashMap<String, Employee> copyMap = new HashMap<String, Employee>(); HashMap<String, Employee> shallowCopy = new HashMap<String, Employee>();
Set<Entry<String, Employee>> entries = originalMap.entrySet(); Set<Entry<String, Employee>> entries = originalMap.entrySet();
for(Map.Entry<String, Employee> mapEntry: entries) { for(Map.Entry<String, Employee> mapEntry: entries) {
copyMap.put(mapEntry.getKey(), mapEntry.getValue()); shallowCopy.put(mapEntry.getKey(), mapEntry.getValue());
} }
return copyMap; return shallowCopy;
} }
public static <String, Employee> HashMap<String, Employee> copyUsingPutAll(HashMap<String, Employee> originalMap) { public static <String, Employee> HashMap<String, Employee> copyUsingPutAll(HashMap<String, Employee> originalMap) {
HashMap<String, Employee> copyMap = new HashMap<String, Employee>(); HashMap<String, Employee> shallowCopy = new HashMap<String, Employee>();
copyMap.putAll(originalMap); shallowCopy.putAll(originalMap);
return copyMap; return shallowCopy;
} }
public static <String, Employee> HashMap<String, Employee> copyUsingJava8Stream(HashMap<String, Employee> originalMap) { public static <String, Employee> HashMap<String, Employee> copyUsingJava8Stream(HashMap<String, Employee> originalMap) {
Set<Entry<String, Employee>> entries = originalMap.entrySet(); Set<Entry<String, Employee>> entries = originalMap.entrySet();
HashMap<String, Employee> copyMap = (HashMap<String, Employee>) entries HashMap<String, Employee> shallowCopy = (HashMap<String, Employee>) entries
.stream() .stream()
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
return copyMap; return shallowCopy;
} }
public static <String, Employee> HashMap<String, Employee> shallowCopy(HashMap<String, Employee> originalMap) { public static <String, Employee> HashMap<String, Employee> shallowCopy(HashMap<String, Employee> originalMap) {

View File

@ -68,9 +68,9 @@ public class CopyHashMapUnitTest {
.put("emp1",emp1) .put("emp1",emp1)
.put("emp2",emp2) .put("emp2",emp2)
.build(); .build();
Map<String, Employee> mapCopy = ImmutableMap.copyOf(map); Map<String, Employee> shallowCopy = ImmutableMap.copyOf(map);
assertThat(mapCopy).isSameAs(map); assertThat(shallowCopy).isSameAs(map);
} }