1

假设我将键 "a"、"b"、"c" 放入 aTreeMap中。我将如何使用“c”来确定它是字典中的第三个元素TreeMap

从 TreeMap 获得的 NavigableSet 的目的是什么?

4

2 回答 2

4

如果要按插入顺序检索元素,请使用 LinkedHashMap。

LinkedHashMap

Map 接口的哈希表和链表实现,具有可预测的迭代顺序。此实现与 HashMap 的不同之处在于它维护一个双向链表,该列表贯穿其所有条目。这个链表定义了迭代顺序,通常是键插入映射的顺序(插入顺序)。请注意,如果将键重新插入到地图中,则插入顺序不会受到影响。(如果在调用 m.containsKey(k) 将在调用之前立即返回 true 时调用 m.put(k, v),则将键 k 重新插入到映射 m 中。)

于 2013-03-23T14:50:02.440 回答
2

如果您真正想知道的是映射中包含的已排序键集中的 c 键的索引,您可以简单地使用

int index = map.headMap("c").size(); 

请注意,它与 TreeMap 不维护的插入顺序没有任何关系。

于 2013-03-23T14:51:47.400 回答