java – 具有键值映射和排序的数据结构
发布时间:2020-12-15 04:12:36 所属栏目:Java 来源:网络整理
导读:我需要一个提供键值映射的数据结构,比如Map,但这也允许我基于(int)索引(例如myKey = myDS.get(index))获取键,而不必迭代数据结构,以获得所需索引的键. 我想过使用LinkedHashMap,但我没有看到在给定索引处获取密钥的方法.我在LinkedHashMap中遗漏了什么?或者
我需要一个提供键值映射的数据结构,比如Map,但这也允许我基于(int)索引(例如myKey = myDS.get(index))获取键,而不必迭代数据结构,以获得所需索引的键.
我想过使用LinkedHashMap,但我没有看到在给定索引处获取密钥的方法.我在LinkedHashMap中遗漏了什么?或者我可以使用另一种数据结构吗? 编辑: 解决方法
LinkedHashMap提供了Map接口的哈希表/双向链表实现.由于它扩展了HashMap,它仍然由数组支持,但是还有一个双向链接的Entry对象列表,以确保迭代顺序是可预测的.
所以,基本上它意味着当你迭代遍历地图时: for (Map.Entry<keyType,valueType>> entry : linkedHashMap.entrySet()) { System.out.println("Key: " + entry.getKey().toString() + " Value: " + entry.getValue.toString()); } 它将按照您添加键的顺序打印,而不是非链接的Map,它不会按插入顺序打印.您无法像所希望的那样访问数组的元素,因为支持哈希的数组不是有序的.只订购了双向链表. 解: 您正在寻找的是来自Apache Commons的LinkedMap. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |