これが私の方法です。ハッシュマップには、ヨーロッパの国-首都(ロシア-モスクワ)のペアがあります.ただし、キー(国)ではなく値(首都)を返し続けます.ハッシュマップをテストしました正しい順序になっています。
Map<String, String> europe1 = new HashMap<String, String>()
public String randomCountry(Map theMap)
{
Random generator = new Random();
List<String> keys = new ArrayList<String>(theMap.keySet());
String randomKey = keys.get(generator.nextInt(keys.size()));
Object theKeyValue = (String )theMap.get(randomKey);
System.out.println(theKeyValue);
return (String) theKeyValue;
}
私がこれを行う場合:
for ( String key : europe1.keySet() )
{ System.out.println( key ); }
私は自分の国を印刷します。
私の方法が期待どおりに機能しない理由はありますか?