"testName"というメンバ変数を持つクラスを作成し、これからいくつかのオブジェクトを作成し、それらをすべて "Map"の値として配置します。どのように私はこのマップを反復処理し、各値オブジェクトの "testName"変数を変更できますか?Map内のオブジェクトのメンバを変更する
つまり、&にアクセスするには、そのオブジェクトがマップに配置されているときにオブジェクトのメンバーを変更するにはどうすればよいですか。
"testName"というメンバ変数を持つクラスを作成し、これからいくつかのオブジェクトを作成し、それらをすべて "Map"の値として配置します。どのように私はこのマップを反復処理し、各値オブジェクトの "testName"変数を変更できますか?Map内のオブジェクトのメンバを変更する
つまり、&にアクセスするには、そのオブジェクトがマップに配置されているときにオブジェクトのメンバーを変更するにはどうすればよいですか。
あなたが変更するオブジェクトは、マップ内のすべての値であり、そしてあなたが値をキーからのマッピングを変更したくない、あなただけのマップの値のコレクションを反復処理することができた場合:
Collection<ValueType> vals = map.values();
for (ValueType val : vals) {
val.testName = ...
}
これは正しい方向に私を入れました。私はあなたが明らかにメンバーを次のように修正することができることも発見しました: testmap.get( "foo")。testName = "new value"; – alius
マップの各エントリでを反復し、名前を変更する必要があります。See here for exampleマップを反復処理する方法について
マップはそれ自体ではイテラブルではありませんが、keySet()メソッドを介してmapからキーセットを取得できます。これはSet iterable(Iterableインターフェイスを実装しているため)です。 getSetメソッドを介してMapから各値を取得し、必要な変更を加えます。
また、これを参照してくださいhttp://stackoverflow.com/questions/1066589/java-iterate-through-hashmap – CoolBeans