获取 LinkedHashMap 中的上一个键?

问题描述 投票:0回答:2

我使用了

LinkedHashMap<String, Integer> lhmNotFinal
,因为在地图中输入按键的顺序很重要。我使用以下方法获取 LinkedHashMap 的值:

for (String key:lhmNotFinal.keySet())
{
    System.out.println(key);
}

现在,我想获取我的密钥以前的值,我该怎么做?

java linkedhashmap
2个回答
3
投票

这不是一般与 LinkedHashMap 相关的问题 - 这是一个编码问题。您可以做几件事:

String tmp= null;

for (String key : lhmNotFinal.keySet()) {

    tmp = key ;    // after the first iteration you have your last key in tmp
}

3
投票

只是为了好玩:

//
Map<String, String> map = new LinkedHashMap<String, String>();
map.put( "key1", "value1" );
map.put( "key2", "value2" );

//
final ListIterator<String> keyListIterator = new ArrayList<String>( map.keySet() ).listIterator();
assertEquals( "key1", keyListIterator.next() );
assertEquals( "key2", keyListIterator.next() );
assertEquals( "key2", keyListIterator.previous() );
assertEquals( "key1", keyListIterator.previous() );
assertEquals( "key1", keyListIterator.next() );
assertEquals( "key2", keyListIterator.next() );
© www.soinside.com 2019 - 2024. All rights reserved.