質問編集履歴
1
ソースコードっぽいものをがんばって書きましたw 別米で返信させていただきます
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ループの最後にフラグがオフだった場合に追加時の処理を行いました
|