当键不是数值和无序时,如何通过索引检索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);如果我有索引2,我想得到z,如果我有索引0,我想得到a。
我知道我可以用增量来做脏循环来获得它,但是还有另外一种聪明的方法吗?
发布于 2012-12-20 23:50:42
让这有点令人困惑的是,您指的是基于添加项的顺序的索引,还是基于键的自然排序(例如:字母顺序)。
您可以使用map.keySet()获得可能键的列表,但不能保证密钥集将按照添加它的顺序排列
如果希望将数据按某种顺序排列(例如:按字母顺序排列),则可以使用TreeMap而不是HashMap。如果您喜欢其他排序方式,则可以实现您自己的比较器。
https://stackoverflow.com/questions/13982220
复制相似问题