3

可能重复:
Java 中的双向地图?

Map当键不是数字且无序时,如何按索引检索键?

例如 :

Map<String, Integer> test = new TreeMap<String, Integer>();
test.put("a", 1);
test.put("b", 2);
test.put("z", 3);
test.put("m", 4);

我想知道z我有索引 2 还是a索引 0。

我知道我可以用增量做脏循环来得到它,但是还有另一种聪明的方法吗?

4

1 回答 1

1

使这有点令人困惑的是,您是根据添加项目的顺序还是根据键的自然顺序(例如:字母顺序)来引用索引

您可以使用 map.keySet() 获取可能键的列表,但不能保证键集将按照您添加它的顺序

如果您想以某种顺序(例如:字母顺序)保存数据,您可以使用 TreeMap 而不是 HashMap。如果您更喜欢其他订购方式,您可以实现自己的比较器

于 2012-12-20T23:50:42.177 回答