在Hashtable中取消排序对象

时间:2013-12-23 06:24:59

标签: java sorting collections hashmap

我有Hashtable对象,其中我添加了键和值。

Hashtable中的值是一个ArrayList。

现在问题是我通过迭代使用以下方法对Hashtable值进行排序。

 Collections.sort(keys) 

排序后,完成了更改。我想从哈希表中获取另一个未排序值的副本。即使我尝试了另一个哈希表对象,但是在第一个哈希表对象上全局完成了已排序的对象。如何通过创建另一个哈希表对象从哈希表中获取未排序的值。

假设我的问题不明白,请告诉我!我也会加上!!

谢谢!!!

2 个答案:

答案 0 :(得分:0)

你可以使用xxx.clone();在排序之前获取hashmap副本的方法。

  (HashMap)yourHashMap.clone();

答案 1 :(得分:0)

克隆将无法在此处运行,默认克隆会进行浅层克隆'。因此,原始映射和克隆映射将包含对相同列表的引用。

另一种方法可以是序列化hashmap,然后反序列化它。这可以进行大量深入克隆。

OR

您可以通过迭代地图的键和集合的元素来手动创建重复的地图。