回答編集履歴

4

誤植修正

2016/01/24 05:23

投稿

shanxia
shanxia

スコア1038

test CHANGED
@@ -34,7 +34,7 @@
34
34
 
35
35
  ```
36
36
 
37
- LinkedHashMapを使うのは、後から利用するときに、キーがList<String>だと検索しづらいから、要素を保たせています。
37
+ LinkedHashMapを使うのは、後から利用するときに、キーがList<String>だと検索しづらいから、要素番号を保たせています。
38
38
 
39
39
 
40
40
 

3

LinkedHashMapへ変更

2016/01/24 05:23

投稿

shanxia
shanxia

スコア1038

test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  ```java
26
26
 
27
- Map<List<String>,Integer> C = new HashMap<>();
27
+ Map<List<String>,Integer> C = new LinkedHashMap<>();
28
28
 
29
29
  for (int i = 0; i < A.size(); i++) {
30
30
 
@@ -34,4 +34,8 @@
34
34
 
35
35
  ```
36
36
 
37
+ LinkedHashMapを使うのは、後から利用するときに、キーがList<String>だと検索しづらいから、要素数を保たせています。
37
38
 
39
+
40
+
41
+

2

追加質問に対しての追記。

2016/01/24 05:22

投稿

shanxia
shanxia

スコア1038

test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  for (int i = 0; i < A.size(); i++) {
10
10
 
11
- C.put(A.get(i), C.get(i));
11
+ C.put(A.get(i), B.get(i));
12
12
 
13
13
  }
14
14
 
@@ -17,3 +17,21 @@
17
17
  こんな感じではいかがでしょうか?
18
18
 
19
19
  「Aが1の時は、Bのこの値」といった条件があるならば、put前にAの値を取り出して、Bの値を検索すれば良いと思います。
20
+
21
+
22
+
23
+ 追加質問ですが、AとBの要素の順序が、そのまま対応付いているならば、下記の様にしてはいかがでしょうか。
24
+
25
+ ```java
26
+
27
+ Map<List<String>,Integer> C = new HashMap<>();
28
+
29
+ for (int i = 0; i < A.size(); i++) {
30
+
31
+ C.put(B.get(i), A.get(i));
32
+
33
+ }
34
+
35
+ ```
36
+
37
+

1

変数名の変更

2016/01/24 05:20

投稿

shanxia
shanxia

スコア1038

test CHANGED
@@ -4,11 +4,11 @@
4
4
 
5
5
  ```java
6
6
 
7
- Map<Integer, List<String>> m = new HashMap<>();
7
+ Map<Integer, List<String>> C = new HashMap<>();
8
8
 
9
9
  for (int i = 0; i < A.size(); i++) {
10
10
 
11
- m.put(A.get(i), B.get(i));
11
+ C.put(A.get(i), C.get(i));
12
12
 
13
13
  }
14
14