我有一个哈希表,例如,当我使用put方法时,它包含字符串
hashtable.put("1","A");
hashtable.put("1","B");
hashtable.put("1","C");
hashtable.put("1","D");
hashtable.put("1","E");
然后,当我尝试将其打印回来时,它不会以相同的顺序打印,任何人都知道为什么会发生这样的事情?
Collection c = ht.values();
Iterator itr = c.iterator();
while(itr.hasNext())
System.out.println(itr.next());
由于 最大
答案 0 :(得分:4)
Hashtable
不保证任何类型的订购。
如果您想保留广告订单,请使用LinkedHashMap
。但是,合同与Hashtable
略有不同,因为它允许使用null元素。
答案 1 :(得分:3)
如果要按顺序打印项目,则应使用LinkedHashMap。
答案 2 :(得分:2)
这只是哈希表的属性 - 它不能保证订购。您想改用LinkedHashMap吗?
答案 3 :(得分:1)
HashTable不会保持顺序。它会随机打印。你应该去LinkedHashMap.You可以像你对HashMap一样使用LinkedHashMap。只需要用LinkedHashMap代替HashMap.LinkedHashMap保存你的数据顺序进入它。