1

マップに入力されたキーの順序が重要であるため、LinkedHashMap lhmNotFinal を使用しました。これを使用して LinkedHashMap の値を取得します

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

キーの以前の値を取得したいのですが、どうすればよいですか? よろしくお願いします。

4

2 に答える 2

3

一般に LinkedHashMap に関連する問題ではなく、コーディングの問題です。いくつかのことができます:

String tmp= null;

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

    tmp = key ;    // after the first iteration you have your last key in tmp
}
于 2012-05-04T18:21:33.137 に答える
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() );
于 2012-05-04T18:35:32.687 に答える