回答編集履歴

2

修正

2022/06/21 18:08

投稿

jimbe
jimbe

スコア12659

test CHANGED
@@ -1,5 +1,5 @@
1
1
  todoModel.cards は add している通り List ですので、 todoModel.cards.content …とは書けません。 get で要素を得る必要があります。
2
-
2
+ ですがそれは直前に add したオブジェクトですので、
3
3
  ```java
4
4
  TodoModel.Card c = new TodoModel.Card(card.card_id, card.card_title, card.list_id);
5
5
  todoModel.cards.add(c);

1

全書き換え

2022/06/21 18:06

投稿

jimbe
jimbe

スコア12659

test CHANGED
@@ -1,78 +1,13 @@
1
- 宣言したクラスを用いる (List<Card> に ToDoCard は入りません ) 、リストはリストとして扱う (todoModel.cards List なら要素へアクセスは todoModel.cards.get(i).contents ~のようになるずです )等、基本的な部分整理したほう良いように思います。
1
+ todoModel.cards add している通り List ですで、 todoModel.cards.content …と書けません。 get 要素を得る必要あります。
2
2
 
3
- Main.java
4
3
  ```java
5
- import java.util.ArrayList;
4
+ TodoModel.Card c = new TodoModel.Card(card.card_id, card.card_title, card.list_id);
6
- import java.util.List;
5
+ todoModel.cards.add(c);
7
6
 
8
- public class Main {
9
- public static void main(String[] args) {
10
- List<Model> lists = new ArrayList<Model>();
11
-
12
- Model kanto = new Model();
13
- kanto.id = 1;
14
- kanto.title = "kanto";
15
- {
16
- Card tokyo = new Card();
17
- tokyo.card_id = 111;
18
- tokyo.card_title = "tokyo";
19
- tokyo.list_id = 1;
20
- {
21
- Content skytree = new Content();
7
+ contentsList.forEach(content ->{
22
- skytree.content_id = 1111;
23
- skytree.content = "Sky Tree";
24
- skytree.card_id = 111;
8
+ if(card.card_id == content.card_id){
25
- tokyo.contents.add(skytree);
9
+ c.contents.add(new TodoModel.Card.Content(content.card_id, content.content, content.card_id));
26
- }
27
- kanto.cards.add(tokyo);
28
10
  }
29
- lists.add(kanto);
30
-
31
- Model kansai = new Model();
32
- kansai.id = 2;
33
- kansai.title = "kansai";
34
- {
35
- Card kyoto = new Card();
36
- kyoto.card_id = 2222;
37
- kyoto.card_title = "kyoto";
38
- kyoto.list_id = 2;
39
- kansai.cards.add(kyoto);
40
-
41
- Card osaka = new Card();
42
- osaka.card_id = 3333;
43
- osaka.card_title = "osaka";
44
- osaka.list_id = 2;
45
- kansai.cards.add(osaka);
46
- }
11
+ });
47
- lists.add(kansai);
48
- }
49
- }
50
12
  ```
51
- Model.java
52
- ```java
53
- import java.util.ArrayList;
54
- import java.util.List;
55
-
56
- public class Model {
57
- public long id;
58
- public String title;
59
- public List<Card> cards = new ArrayList<>();
60
- }
61
- ```
62
- Card.java
63
- ```java
64
- public class Card {
65
- public long card_id;
66
- public String card_title;
67
- public long list_id;
68
- public List<Content> contents = new ArrayList<>();;
13
+ のように、 TodoModel.Card オブジェクトを一度変数(c)にいれ、 content の設定にはこの変数を用いるのが良いように思います。
69
- }
70
- ```
71
- Content.java
72
- ```java
73
- public class Content {
74
- public long content_id;
75
- public String content;
76
- public long card_id;
77
- }
78
- ```