5

重複の可能性:
マップ内の各エントリを反復処理するにはどうすればよいですか?

個人プロファイルデータベースを作成し、HashMapを使用してプロファイルを収集します。

private HashMap<String, Profile> database;

しかし、プロファイルデータをテキストファイルに書き込みたい

PrintWriter fileOut = new PrintWriter(new FileWriter(fileName));
fileOut.println(database.size());
for(int i = 0; i < database.size();i++){
 Profile eachProfile = database.get(key);
}

しかし、ループのキーのリストを取得する方法がわかりません。別の方法でHashMapからそれぞれデータを取得するにはどうすればよいですか?

4

3 に答える 3

9

Map.entrySet()使用して拡張できますfor

for (Map.Entry<String, Profile> e: database.entrySet())
{
    String s  = e.getKey();
    Profile p = e.getValue();
}
于 2012-09-26T09:04:15.700 に答える
0

map.keySetを使用してキーのセットを取得できます。map.valuesを使用して値のコレクションを取得できます

于 2012-09-26T09:06:13.360 に答える
0

こちらのマップのドキュメントをご覧ください: http://docs.oracle.com/javase/7/docs/api/java/util/Map.html

として利用可能なすべてのキーのリストが必要ですkeySet()values()メソッドとentrySet()メソッドは関連しています。

于 2012-09-26T09:05:21.160 に答える