2

スケーラブルな方法で複数のループへのアクセスを防ぐ最善の方法について疑問に思っています

String token;
ArrayList numbers;
ArrayList names;

for(String n : numbers){
   if(token.equals(n)){
      break;
   }
}

for(String n : names){
   if(token.equals(n)){
      break;
   }
}

最初のループでヒットが見つかった場合は、2 番目のループへのアクセスをスキップしたいのですが、後で 5 つのリストが作成される可能性があるため、スケーラブルな方法でアクセスしたいと考えています。

私が考えた解決策

  1. ループ内で複数のリターンを作成しますが、これは優れたプログラミング手法ではありません

  2. フラグを設定し、それを他のループで使用します (if 条件によって、またはループ条件に入れますが、5 つの異なるリストがある場合、5 つのフラグがあり、前にループをチェックすることを意味します。

ご提案いただければ幸いです。ありがとうございました

4

3 に答える 3

4
public static boolean contains (Object element, Collection <?> ... collections)
{
    for (Collection c: collections)
        if (c.contains (element)) return true;

    return false;
}
于 2013-02-12T09:49:07.557 に答える