BAEL-2800_Copying_a_HashMap_in_Java
This commit is contained in:
parent
998e2b7eeb
commit
437efd7242
@ -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) {
|
||||||
|
@ -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);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user