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

質問編集履歴

1

ソースコードっぽいものをがんばって書きましたw 別米で返信させていただきます

2016/12/14 09:41

投稿

luna12
luna12

スコア47

title CHANGED
File without changes
body CHANGED
@@ -7,6 +7,43 @@
7
7
 
8
8
  ちなDBのデータを扱ってること前提です
9
9
 
10
+ ```
11
+ データ保持クラス(){
12
+ string aa; //主キー
13
+ string bb;
14
+ string cc;
15
+ (ゲッター・セッター略)
16
+ }
17
+
18
+ (別クラス内)
19
+ 状態監視メソッド(){
20
+ DBアクセス用メソッドのインスタンス生成
21
+ boolean flag;
22
+
23
+ while(true){
24
+ List org_list=全selectデータ
25
+ 1秒後
26
+ List new_list=全selectデータ
27
+ for(new_listのサイズ分){
28
+ flag=false;
29
+ new_data=new_list.get(i)
30
+ for(org_listのサイズ分){
31
+ org_data=org_list.get(i)
32
+ if(new_dataとorg_dataのaa一致){
33
+ flag=true;
34
+ if(new_dataとorg_dataの各メンバのどれか一つでも一致しない){
35
+ 更新時の処理
36
+ }
37
+ }
38
+ }
39
+ if(!flag){
40
+ 追加時の処理
41
+ }
42
+ }
43
+ }
44
+ }
45
+ ```
46
+
10
47
  ###試したこと
11
48
  二重ループで前後の配列をそれぞれ回して、その中でキーが一致するかを判定したのち、前のデータと後のデータが一致したら更新時の処理を行いました
12
49
  その前にキー値が一致することがわかった時点でフラグをオンにして、1個目のforループの最後にフラグがオフだった場合に追加時の処理を行いました