如何从地图中的特定键获取下一个键?

时间:2015-10-29 07:17:47

标签: java dictionary key

我有类似的东西:

Map<Integer, String> topology = new TreeMap<Integer, String>();

其中包含例如:

01, my.vm.01.serv.com
04, my.vm.04.serv.com
07, my.vm.07.serv.com
08, my.vm.08.serv.com
09, my.vm.09.serv.com

我希望能够说'#34;我有密钥07,从这一点开始,让我获得地图中的下一个键&#34;,理想情况下返回{{1} }。

有没有办法在不使用迭代器的情况下执行此操作?

2 个答案:

答案 0 :(得分:4)

  

&#34;我有07键,从这一点开始,给我一张地图中的下一个键&#34;,

如果您不想更改Map的定义,可以尝试类似

的内容
List<Integer> keys = new ArrayList<Integer>(topology.keySet());
Integer integer = keys.get((keys.indexOf(7))+1); // next key

答案 1 :(得分:3)

使用topology.ceilingKey(7)获取下一个密钥。

请注意,这是NavigableMap界面的一种方法,因此您必须将TreeMap个实例存储在NavigableMap变量中。

NavigableMap<Integer, String> topology = new TreeMap<Integer, String>();