[英]Arrange hashmap in a certain order
假设我有一个如下的hashmap
Map<String,List<String>> nameMap = new HashMap<String,List<String>>();
此外,我在hashmap中已经有以下键值
马丁 - 1朱莉娅 - 3安德鲁 - 2史蒂夫 - 5
现在的问题是我有一个特定的顺序,我需要哈希图来保存,当我打印出地图中的条目时,它应该按照我需要的顺序打印。
我需要的订单是
朱莉娅 - 3安德鲁 - 2史蒂夫 - 5马丁 - 1
我知道我可以使用链接的hashmap来保存顺序。 但我原来的是Hashmap,我该如何按照我需要的顺序排列?
由于HashMap
未排序,并且由于它的构造方式无法对其进行排序* ,因此您有两个简单的选项:
LinkedHashMap
,并按照所需顺序使用原始HashMap
中的数据填充它,或者 HashMap
的keySet
中提取临时列表,根据需要对其进行排序,然后迭代该排序集,并按所需顺序从原始HashMap
中检索数据。
HashMap
条目根据其哈希码排列在“桶”中,这是非常随意的。 HashMap是无序的。 您可以使用LinkedHashMap
HashMap是无序的集合(项目按哈希排序,你不能依赖它)。 您可以使用TreeMap。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.