0

私はこのコードを持っています:

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データベースから新しいリストを取得して実行したい:

  1. idがオブジェクトにまだない場合- 挿入します
  2. idがオブジェクト内にあるが、sid が同じでない場合 - 置き換えます
  3. 新しいリストにidないものがある場合- それを削除しますall

これは簡単ですが、私が見る限り、次の方法でしか実行できません。

for(...){
  for(...){
  }
  for(...){
}

forステップ 1 と 2 用に内側に 1 つ、ステップ 3 用に内側に1 つfor

もっと効率的な方法はないかと考えています。

4

2 に答える 2