哈希表值重新排序

时间:2011-08-18 09:53:45

标签: java

我有一个哈希表,例如,当我使用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());

由于 最大

4 个答案:

答案 0 :(得分:4)

Hashtable 保证任何类型的订购。

如果您想保留广告订单,请使用LinkedHashMap。但是,合同与Hashtable略有不同,因为它允许使用null元素。

答案 1 :(得分:3)

如果要按顺序打印项目,则应使用LinkedHashMap

答案 2 :(得分:2)

这只是哈希表的属性 - 它不能保证订购。您想改用LinkedHashMap吗?

答案 3 :(得分:1)

HashTable不会保持顺序。它会随机打印。你应该去LinkedHashMap.You可以像你对​​HashMap一样使用LinkedHashMap。只需要用LinkedHashMap代替HashMap.LinkedHashMap保存你的数据顺序进入它。