回答編集履歴

1

修正

2022/06/15 09:35

投稿

shushu3
shushu3

スコア5

test CHANGED
@@ -1,68 +1,3 @@
1
1
  jimbeさんが回答して頂いたもので、完成していました。
2
2
 
3
3
  ありがとうございました。
4
- '''
5
- import java.util.*;
6
- class AList {
7
- int id;
8
- String title;
9
- AList(int id, String title) {
10
- this.id = id;
11
- this.title = title;
12
- }
13
- @Override
14
- public String toString() {
15
- return new StringBuilder("AList")
16
- .append("[id=").append(id)
17
- .append(",title=").append(title)
18
- .append("]").toString();
19
- }
20
- }
21
-
22
- class Card {
23
- int card_id;
24
- String card_title;
25
- int List_id;
26
- Card(int card_id, String card_title, int List_id) {
27
- this.card_id = card_id;
28
- this.card_title = card_title;
29
- this.List_id = List_id;
30
- }
31
- @Override
32
- public String toString() {
33
- return new StringBuilder("card")
34
- .append("[card_id=").append(card_id)
35
- .append(",card_title=").append(card_title)
36
- .append(",List_id=").append(List_id)
37
- .append("]").toString();
38
- }
39
- }
40
-
41
- public class Main {
42
- public static void main(String[] args) {
43
- AList[] alists = { new AList(3,"tokyo"), new AList(5,"kyoto") };
44
- Card[] cards = { new Card(1,"study",3), new Card(2,"Reading",5), new Card(3,"Speaking",5) };
45
-
46
- System.out.println(Arrays.toString(alists));
47
- System.out.println(Arrays.toString(cards));
48
- System.out.println();
49
-
50
- Map<AList,Card[]> map = new HashMap<AList,Card[]>();
51
- for(AList alist : alists) {
52
- List<Card> list = new ArrayList<>();
53
- for(Card card : cards) {
54
- if(alist.id == card.List_id) list.add(card);
55
- }
56
- map.put(alist, list.toArray(new Card[list.size()]));
57
- }
58
-
59
- System.out.print("{");
60
- boolean first = true;
61
- for(Map.Entry<AList,Card[]> entry : map.entrySet()) {
62
- if(first) first = false; else System.out.print(",");
63
- System.out.print(entry.getKey() + "," + Arrays.toString(entry.getValue()));
64
- }
65
- System.out.println("}");
66
- }
67
- }
68
- '''