java中,怎么样得到一个有序的map集合?

java中,怎么样得到一个有序的map集合?,第1张

hashmap是没有顺序的,有顺序的一般没人这么用的,都是通过list来进行确定顺序的对象添加的。因为list是有顺序的,先add的编号就小(从0开始),举例: List list = new linkedList()list.add("0")list.add("1")结果就是:list.get(1) =1

java map 是一个接口,其有个子接口是SortedMap,进一步提供关于键的总体排序 的 Map。该映射是根据其键的自然顺序进行排序的,或者根据通常在创建有序映射时提供的 Comparator 进行排序。对有序映射的 collection 视图(由 entrySet、keySet 和 values 方法返回)进行迭代时,此顺序就会反映出来。要采用此排序方式,还需要提供一些其他 *** 作(此接口是 SortedSet 的对应映射)。

LinkedHashMap 维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序通常就是将键插入到映射中的顺序(插入顺序)。

通过map中的LinkedHashMap实现就可以。

HashMap<String,String>headers = new LinkedHashMap<String,String>()//创建一个map

headers.put("Cache-Control", "no-cache")//给map赋第一个值

headers.put("Connection", "close")//给map赋第二个值

Set keys1 = headers.keySet()//获取所有的key值

System.out.println(keys1)

结果:[Cache-Control,Connection];//结果就是先进先出

备注:以上HashMap就是先定义了存放的key和value值都是字符串类型,之后可以通过get方法获取到对应的值(如:headers.get("Cache-Control"),结果就是”no-cache“);


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11520120.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存