5

我有一个 HashMap,它有字符串作为键和值,

HashMap dataSet = new HashMap();

dataSet.put("A1", "Aania");
dataSet.put("X1", "Abatha");
dataSet.put("C1", "Acathan");
dataSet.put("S1", "Adreenas");

我想按插入HashMap的顺序打印它,所以输出应该是这样的,

A1, Aania
X1, Abatha
C1, Acathan
S1, Adreenas  

谁能告诉我该怎么做?

4

2 回答 2

8

您可以使用 aLinkedHashMap代替,这将保留插入顺序。你不能用标准做你所要求的HashMap

此实现与 HashMap 的不同之处在于它维护一个双向链表,该列表贯穿其所有条目。这个链表定义了迭代顺序,通常是键插入映射的顺序(插入顺序)。

因此,您的代码的第一行将变为:

Map dataSet = new LinkedHashMap();

您可能还希望添加泛型作为一种良好做法:

Map<String, String> dataSet = new LinkedHashMap<String, String>();
于 2012-08-18T14:18:40.063 回答
0

你不能一个哈希图没有内部顺序

您将不得不使用 Map 的另一个实现

于 2012-08-18T14:18:33.087 回答