teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

マップ

2016/05/02 06:43

投稿

swordone
swordone

スコア20675

answer CHANGED
@@ -1,2 +1,25 @@
1
1
  同じMapに教科-点数のマッピングを繰り返しているため、上書きされます。
2
- 各人ごとに教科-点数のMapを用意する必要があります。
2
+ 各人ごとに教科-点数のMapを用意する必要があります。
3
+
4
+ ---
5
+
6
+ ```java
7
+ //
8
+ // 田中
9
+ treeMap.put("国語", "100");
10
+ treeMap.put("英語", "80");
11
+ treeMap.put("理科", "50");
12
+ treeMap.put("社会", "30");
13
+
14
+ map.put("田中", treeMap); // ここで"田中"という名前と入力した教科-点数を結びつける
15
+
16
+ treeMap = new HashMap<String, String>(); //次の"加藤"用に新たに教科-成績マップを作成
17
+
18
+ // 加藤
19
+ treeMap.put("国語", "30"); // 上記の新規マップ作成をしないと、田中の点数がここで上書きされてしまう
20
+ treeMap.put("英語", "40");
21
+ treeMap.put("理科", "70");
22
+ treeMap.put("社会", "90");
23
+
24
+ map.put("加藤", treeMap); // ここで"加藤"という名前と入力した教科-点数を結びつける
25
+ ```