回答編集履歴
4
誤植修正
answer
CHANGED
@@ -16,5 +16,5 @@
|
|
16
16
|
C.put(B.get(i), A.get(i));
|
17
17
|
}
|
18
18
|
```
|
19
|
-
LinkedHashMapを使うのは、後から利用するときに、キーがList<String>だと検索しづらいから、要素
|
19
|
+
LinkedHashMapを使うのは、後から利用するときに、キーがList<String>だと検索しづらいから、要素番号を保たせています。
|
20
20
|
|
3
LinkedHashMapへ変更
answer
CHANGED
@@ -11,8 +11,10 @@
|
|
11
11
|
|
12
12
|
追加質問ですが、AとBの要素の順序が、そのまま対応付いているならば、下記の様にしてはいかがでしょうか。
|
13
13
|
```java
|
14
|
-
Map<List<String>,Integer> C = new
|
14
|
+
Map<List<String>,Integer> C = new LinkedHashMap<>();
|
15
15
|
for (int i = 0; i < A.size(); i++) {
|
16
16
|
C.put(B.get(i), A.get(i));
|
17
17
|
}
|
18
18
|
```
|
19
|
+
LinkedHashMapを使うのは、後から利用するときに、キーがList<String>だと検索しづらいから、要素数を保たせています。
|
20
|
+
|
2
追加質問に対しての追記。
answer
CHANGED
@@ -3,8 +3,16 @@
|
|
3
3
|
```java
|
4
4
|
Map<Integer, List<String>> C = new HashMap<>();
|
5
5
|
for (int i = 0; i < A.size(); i++) {
|
6
|
-
C.put(A.get(i),
|
6
|
+
C.put(A.get(i), B.get(i));
|
7
7
|
}
|
8
8
|
```
|
9
9
|
こんな感じではいかがでしょうか?
|
10
|
-
「Aが1の時は、Bのこの値」といった条件があるならば、put前にAの値を取り出して、Bの値を検索すれば良いと思います。
|
10
|
+
「Aが1の時は、Bのこの値」といった条件があるならば、put前にAの値を取り出して、Bの値を検索すれば良いと思います。
|
11
|
+
|
12
|
+
追加質問ですが、AとBの要素の順序が、そのまま対応付いているならば、下記の様にしてはいかがでしょうか。
|
13
|
+
```java
|
14
|
+
Map<List<String>,Integer> C = new HashMap<>();
|
15
|
+
for (int i = 0; i < A.size(); i++) {
|
16
|
+
C.put(B.get(i), A.get(i));
|
17
|
+
}
|
18
|
+
```
|
1
変数名の変更
answer
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
AとBの要素数が違っていた場合にどうするのか未定ですが。
|
2
2
|
|
3
3
|
```java
|
4
|
-
Map<Integer, List<String>>
|
4
|
+
Map<Integer, List<String>> C = new HashMap<>();
|
5
5
|
for (int i = 0; i < A.size(); i++) {
|
6
|
-
|
6
|
+
C.put(A.get(i), C.get(i));
|
7
7
|
}
|
8
8
|
```
|
9
9
|
こんな感じではいかがでしょうか?
|