JAVA中如何把两个HASHTABLE的内容加到一起?

假设有两个类型完全相同的HASHTABLE A,B
如何把 B的所有KEY和内容 全都加到 A的最前面去?
如果是两个VECTOR A,B呢把 B的内容都在加在A的前面
我大概简化下我的程序
do{
C=A.romove(0);
B.addAll(A);
A=B;
B.clear();}
while(C=D);
.
.
.
B.add(X); 我就是想通过B做一个载体,获得X 然后传到上面给A用,我需要榨取X的第一个元素,然后在DO循环里面有个函数是不停调取后面的B.add(X); 的 , 但是运行都不成功

如果我改成A.addAll(B);
B.clear();
.
.
.
B.add(X);就对了 但是这个并不是我想要的结果,请问怎么改
补充 如果不用B.clear(),每次从下面带给A的东西就会不停重复,如果不清掉之前记录,每次循环都会隐藏的多带一个次X

不知道你说的加到“前面”是什么意思
A.putAll(B)可以进行复制B到A中
putAll
public void putAll(Map<? extends K,? extends V> t)将指定映射的所有映射关系复制到此哈希表中,这些映射关系将替换此哈希表拥有的、针对当前指定映射中所有键的所有映射关系。

指定者:
接口 Map<K,V> 中的 putAll
参数:
t - 将存储在此映射中的映射关系。
抛出:
NullPointerException - 如果指定的映射为 null。
从以下版本开始:
1.2
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-04-26
a.putAll(b)
放不放在前面,应该都没用。
本来取的时候,就不是按顺序的。

b.addAll(a);
下面使用的时候用b就行了

那就再 a=b;

为什么一定要B.clear
不需要。
要多根据错误找问题

应该是不能b.clear的。。这样a也被清空了。
你的要求比较奇怪。。为什么非要用b做为载体呢。。直接在a前面一个一个元素加不好么。。。

也可以不使用vector,用arraylist
a.addAll(0,b);就可以了。多查查API本回答被提问者采纳