2011-01-17 3 views
0

"testName"というメンバ変数を持つクラスを作成し、これからいくつかのオブジェクトを作成し、それらをすべて "Map"の値として配置します。どのように私はこのマップを反復処理し、各値オブジェクトの "testName"変数を変更できますか?Map内のオブジェクトのメンバを変更する

つまり、&にアクセスするには、そのオブジェクトがマップに配置されているときにオブジェクトのメンバーを変更するにはどうすればよいですか。

+1

また、これを参照してくださいhttp://stackoverflow.com/questions/1066589/java-iterate-through-hashmap – CoolBeans

答えて

2

あなたが変更するオブジェクトは、マップ内のすべての値であり、そしてあなたが値をキーからのマッピングを変更したくない、あなただけのマップの値のコレクションを反復処理することができた場合:

Collection<ValueType> vals = map.values(); 
for (ValueType val : vals) { 
    val.testName = ... 
} 
+0

これは正しい方向に私を入れました。私はあなたが明らかにメンバーを次のように修正することができることも発見しました: testmap.get( "foo")。testName = "new value"; – alius

2

マップの各エントリでを反復し、名前を変更する必要があります。See here for exampleマップを反復処理する方法について

1

マップはそれ自体ではイテラブルではありませんが、keySet()メソッドを介してmapからキーセットを取得できます。これはSet iterable(Iterableインターフェイスを実装しているため)です。 getSetメソッドを介してMapから各値を取得し、必要な変更を加えます。

関連する問題