Java 如何复制Map内容到另一个Hashtable
Hashtable类实现了一个哈希表,它将键映射到值。任何非空对象都可以被用作键或值。为了成功地从哈希表中存储和检索对象,用作键的对象必须实现hashCode方法和equals方法。
HashMap和Hashtable被用来以键和值的形式存储数据,使用散列技术来存储唯一的键。在Java中使用putAll()方法将Map内容复制到另一个Hashtable。
putAll()方法: 该方法将指定的哈希图中的所有映射复制到哈希表中。这些映射将取代这个哈希表对当前指定的哈希表中的任何键的映射。
语法:
hashtable.putAll(hashmap)
参数: 该方法需要一个参数hashmap,指的是我们要复制的现有Map。
返回值: 该方法不返回任何值。
例外情况: 如果我们要复制的Map为空,该方法会抛出NullPointerException。
将HashMap元素复制到Hashtable中的步骤
- 创建一个新的HashMap并添加一些元素
- 把映射放到HashMap中
- 创建一个新的Hashtable。
- 使用putAll()方法将元素从HashMap复制到Hashtable。
示例:
输入:
hs.put("first", "Geeks");
hs.put("second", "for");
hs.put("third", "Geeks");
输出:
{third=Geeks, second=for, first=Geeks}
{g2=g2 ans, g1=g1 ans, third=Geeks, second=for, first=Geeks}
// Java program to copy Map content to another Hashtable
import java.util.HashMap;
import java.util.Hashtable;
public class NewExample {
public static void main(String a[])
{
// Create hashmap and insert elements
HashMap<String, String> hashmap
= new HashMap<String, String>();
// Add mappings
hashmap.put("k1", "GeeksForGeeks");
hashmap.put("k2", "New Year");
// Create hashtable
Hashtable<String, String> hashtable
= new Hashtable<String, String>();
// Use putAll to copy Map elements to hashtable.
hashtable.putAll(hashmap);
// Print hashtable elements
System.out.println("Hashtable elements: "
+ hashtable);
}
}
输出
Hashtable elements: {k2=New Year, k1=GeeksForGeeks}