0

我正在尝试HashTable通过

HashTable ht=new HashTable(); 

我通过一个 xml 文件将价值放入其中。

问题是当我打印哈希表的值时,它的顺序不同,它采用升序。

假设:-如果键是 [US, AU, CA] 并具有相应的值,那么我试图按照它们在文件(xml)中出现的顺序来获取它们,但它像 [AU, CA, US]有各自的价值观。

任何帮助,将不胜感激。

问候,阿尔沙德。

4

3 回答 3

8

问题是,当我打印哈希表的值时,它的顺序不同,它采用升序。

不一定——它会以某种未指定的顺序排列。您不能依赖Hashtable.

如果您想要保留插入顺序的地图,请使用LinkedHashMap. (您几乎可以肯定一开始就不想Hashtable,但是HashMap。)

要从文档中添加有关 a 中元素排序的信息HashMap

此类不保证地图的顺序;特别是,它不保证订单会随着时间的推移保持不变。

于 2012-06-21T07:00:33.113 回答
0

没错,哈希表不介意您添加值的顺序。

也许你应该使用 LinkedHashMap 或 LinkedList。

于 2012-06-21T07:03:53.497 回答
-2

的键HashTable是根据键的类的自然顺序排序的。参考Comparable

键需要实现Comparable,因此由于您的键是字符串,因此它们会这样做。键排序的行为将仅以这种方式控制。

于 2012-06-21T07:10:14.733 回答