我正在尝试HashTable
通过
HashTable ht=new HashTable();
我通过一个 xml 文件将价值放入其中。
问题是当我打印哈希表的值时,它的顺序不同,它采用升序。
假设:-如果键是 [US, AU, CA] 并具有相应的值,那么我试图按照它们在文件(xml)中出现的顺序来获取它们,但它像 [AU, CA, US]有各自的价值观。
任何帮助,将不胜感激。
问候,阿尔沙德。
问题是,当我打印哈希表的值时,它的顺序不同,它采用升序。
不一定——它会以某种未指定的顺序排列。您不能依赖Hashtable
.
如果您想要保留插入顺序的地图,请使用LinkedHashMap
. (您几乎可以肯定一开始就不想Hashtable
,但是HashMap
。)
要从文档中添加有关 a 中元素排序的信息HashMap
:
此类不保证地图的顺序;特别是,它不保证订单会随着时间的推移保持不变。
没错,哈希表不介意您添加值的顺序。
也许你应该使用 LinkedHashMap 或 LinkedList。
的键HashTable
是根据键的类的自然顺序排序的。参考Comparable
。
键需要实现Comparable
,因此由于您的键是字符串,因此它们会这样做。键排序的行为将仅以这种方式控制。