我使用了 LinkedHashMap lhmNotFinal,因为在 map 中输入的键的顺序很重要。我使用这个来获取我的 LinkedHashMap 的值
for (String key:lhmNotFinal.keySet())
{
System.out.println(key);
}
现在我想获取我的密钥的先前值,我该怎么做?提前谢谢你。
我使用了 LinkedHashMap lhmNotFinal,因为在 map 中输入的键的顺序很重要。我使用这个来获取我的 LinkedHashMap 的值
for (String key:lhmNotFinal.keySet())
{
System.out.println(key);
}
现在我想获取我的密钥的先前值,我该怎么做?提前谢谢你。
一般来说,这不是与 LinkedHashMap 相关的问题 - 这是一个编码问题。你可以做几件事:
String tmp= null;
for (String key : lhmNotFinal.keySet()) {
tmp = key ; // after the first iteration you have your last key in tmp
}
只是为了好玩:
//
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() );