HashMap以非连续顺序返回值

Raj*_*ita 4 java hashmap map

我在HashMap中插入具有不同键的四个值.代码片段:

HashMap<Integer, String> choice = new HashMap<Integer, String>();

choice.put(1, "1917");
choice.put(2, "1791");
choice.put(3, "1902");
choice.put(4, "1997");
Run Code Online (Sandbox Code Playgroud)

但是当我打印那个地图值时,它返回的结果如下:

{4 = 1997年,1 = 1917年,2 = 1791年,3 = 1902年}

如何按照插入/插入的顺序获取地图值?

ass*_*ias 15

你可以使用一个LinkedHashMap代替,它将保持插入顺序:

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

您可以像这样修改代码:

Map<Integer, String> choice = new LinkedHashMap<Integer, String>();

//rest of the code is the same
Run Code Online (Sandbox Code Playgroud)