Java 按一定顺序排列hashmap
假设我有一个如下的hashmapJava 按一定顺序排列hashmap,java,Java,假设我有一个如下的hashmap Map<String,List<String>> nameMap = new HashMap<String,List<String>>(); Map nameMap=newhashmap(); 另外,hashmap中已经有以下键值 马丁-1 朱莉娅-3 安德鲁-2 史蒂夫-5 现在的问题是我有一个特定的顺序,我需要hashmap来保存,当我打印出映射中的条目时,它应该按照我需要的顺序打印 我需要的订单是 朱莉娅
Map<String,List<String>> nameMap = new HashMap<String,List<String>>();
Map nameMap=newhashmap();
另外,hashmap中已经有以下键值
马丁-1
朱莉娅-3
安德鲁-2
史蒂夫-5
现在的问题是我有一个特定的顺序,我需要hashmap来保存,当我打印出映射中的条目时,它应该按照我需要的顺序打印
我需要的订单是
朱莉娅-3
安德鲁-2
史蒂夫-5
马丁-1
我知道我可以使用链接hashmap来保持顺序。但是我原来的是一个Hashmap,我如何按照我需要的顺序排列它呢?Hashmap是无序的。您可以使用LinkedHashMap,因为
HashMap
是未排序的,并且由于它的构造方式无法进行适当排序*,因此这里有两个简单的选项:
- 创建一个
,并按所需顺序用原始LinkedHashMap
中的数据填充它,或HashMap
- 从
的HashMap
中创建一个临时列表,根据需要对其排序,然后迭代该排序集,并按所需顺序从原始键集
中检索数据。HashMap
*
条目根据其哈希代码排列在“bucket”中,这是非常任意的HashMap