如何在 Java 中将一个 HashMap 复制到另一个 HashMap?
原文:https://www . geesforgeks . org/如何将一个 hashmap 复制到另一个 hashmap-in-java/
HashMap 与 HashTable 相似,但不同步。它也允许存储空键,但是应该只有一个空键对象,并且可以有任意数量的空值。这个类不保证地图的顺序。要使用这个类及其方法,需要导入 java.util.HashMap 包或其超类。
给定一个 HashMap ,有三种方法可以将给定的 HashMap 复制到另一个:
- 通常使用 put(k,v)方法迭代并将其放入另一个 HashMap。
- 使用 putAll()方法。
- 使用复制构造函数。
方法 1:通过正常迭代并使用 put(k,v)方法将其放入另一个 HashMap。
一个简单的解决方案是遍历地图,并对另一个地图中的每个映射键和值使用 put(键,值)一次。
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to iterate through the
// first map and put it in the second map
import java.util.HashMap;
import java.util.Map;
class GFG {
public static <K, V> Map<K, V>
copyMap(Map<K, V> original)
{
Map<K, V> second_Map = new HashMap<>();
// Start the iteration and copy the Key and Value
// for each Map to the other Map.
for (Map.Entry<K, V> entry : original.entrySet()) {
// using put method to copy one Map to Other
second_Map.put(entry.getKey(),
entry.getValue());
}
return second_Map;
}
public static void main(String[] args)
{
Map<String, Integer> hashMap = new HashMap<>();
hashMap.put("A", 1);
hashMap.put("B", 2);
hashMap.put("C", 3);
// copyMap method would copy the original
// hashMap to second_Map
Map<String, Integer> second_Map = copyMap(hashMap);
System.out.println(second_Map);
}
}
Output
{A=1, B=2, C=3}
方法二:采用普塔尔(k,v)法。
Map.putAll(k,v) 方法用于将一个 HashMap 复制到另一个空 HashMap。
语法:
new_hash_map.putAll(*exist_hash_map*)
参数:方法取一个参数 exist_hash_map ,指的是我们要复制的现有地图。
返回值:该方法不返回值。
异常:如果我们要复制的地图为空,该方法抛出空指针异常。
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to copy hashmap to
// another hashmap using putAll() method
import java.util.HashMap;
import java.util.Map;
class GFG {
public static <K, V> Map<K, V>
copyMap(Map<K, V> original)
{
Map<K, V> second_map = new HashMap<>();
// using putAll method to copy from original Map to
// second_map
second_map.putAll(original);
return second_map;
}
public static void main(String[] args)
{
Map<String, Integer> hashMap = new HashMap<>();
hashMap.put("A", 1);
hashMap.put("B", 2);
hashMap.put("C", 3);
// copyMap method would copy the original
// hashMap to second_Map
Map<String, Integer> second_map = copyMap(hashMap);
System.out.println(second_map);
}
}
Output
{A=1, B=2, C=3}
方法三:使用复制构造函数。
将一个 HashMap 复制到另一个 HashMap 是最短和最简单的方法之一。
我们可以使用复制构造器来复制一个地图,这是一个特殊的构造器,用于创建一个新的对象作为一个现有对象的副本。
Java 语言(一种计算机语言,尤用于创建网站)
import java.util.HashMap;
import java.util.Map;
class GFG {
// using copy constructor to resturn the original map
// and then copy it in second_map
public static <K, V> Map<K, V> copyMap(Map<K, V> original)
{
// constructor by passing original hashmap
// in the parameter returns the new hashmap
// with the copied content of the original one
return new HashMap<>(original);
}
public static void main(String[] args)
{
Map<String, Integer> hashMap = new HashMap<>();
hashMap.put("A", 1);
hashMap.put("B", 2);
hashMap.put("C", 3);
// copyMap method would copy the original
// hashMap to second_Map
Map<String, Integer> second_map = copyMap(hashMap);
System.out.println(second_map);
}
}
Output
{A=1, B=2, C=3}
版权属于:月萌API www.moonapi.com,转载请注明出处