2017-05-15 9 views
0

ArrayList内の複数の&&条件を順番にチェックするより短い代替方法はありますか?ArrayListのIntegersを調べるためのより簡潔な方法は?

if (mList.contains(0) && mList.contains(1) && mList.contains(2)) { 
    // TODO: Do I really have to do it like this? 
}; 

このようなことができますか?

Integer[] condition1 = {0, 1, 2}; 
     for (Integer item : condition1) { 
      if (mXPositions.containsAll(item)) { 
       Toast.makeText(mContext, R.string.player_1_wins, Toast.LENGTH_SHORT).show(); 
      } else if (mOPositions.contains(item)) { 
       Toast.makeText(mContext, R.string.player_2_wins, Toast.LENGTH_SHORT).show(); 
      } 
    } 
+0

'第二の代替にfor'なぜ?ただ、 'mXPositions.containsAll(条件1))' '' – m0skit0

+0

一覧 mXPositions''が整数のListArrayです... – santafebound

答えて

3

あなたはvaragrs引数にとる、Arrays.asList()を通じてこれを短くすることができます。

if (mList.containsAll(Arrays.asList(0, 1, 2))) 
    // ... 
} 
+0

これは私が私のコメントに何を意味するのかです。) – m0skit0

関連する問題