私はこのコードを持っています:
public class Server{
public static ArrayList<Server> all;
public int id;
public int sid;
public Server(int id){
thid.id = id;
sid = fetchSidFromDB(id);
}
public Server(int id, int sid){
thid.id = id;
sid = sid;
}
public static void loadAll(){
//Assume that I fill 'all' with the servers from the db
all = new ArrayList<Server>();
}
//gets only a list of 'id's with out the sid
public static void refreshAll(){
}
}
//in the main
Server.loadAll();
Server.refreshAll();
refreshAll
データベースから新しいリストを取得して実行したい:
id
がオブジェクトにまだない場合- 挿入しますid
がオブジェクト内にあるが、sid が同じでない場合 - 置き換えます- 新しいリストに
id
ないものがある場合- それを削除しますall
これは簡単ですが、私が見る限り、次の方法でしか実行できません。
for(...){
for(...){
}
for(...){
}
for
ステップ 1 と 2 用に内側に 1 つ、ステップ 3 用に内側に1 つfor
。
もっと効率的な方法はないかと考えています。