2013-12-16 10 views
16

Javaを使用してArrayList<Boolean>を簡単に作成し、最初はループせずにすべてfalseに設定し、それぞれをfalseに割り当てることはできますか?インスタンス化時にArrayList <Boolean>のすべての値をfalseに設定します

+0

はSparseBooleanArrayを使用しようとしましたか? https://developer.android.com/reference/android/util/SparseBooleanArray.html –

+2

最初にすべてを「false」に設定するとどういう意味ですか? ArrayListは最初に作成されると空です。配列について話していたら、あなたの質問はもっと理にかなっていました。 –

+0

まず最初に、作成する数を正確に知っていますが、それらを追加または削除してarraylistを使用して配列を使用する必要があります。 –

答えて

30

この

List<Boolean> list=new ArrayList<Boolean>(Arrays.asList(new Boolean[10])); 
Collections.fill(list, Boolean.TRUE); 
+0

これは、リストが前に満たされている場合にのみ機能します。 –

+4

'new Boolean(true)'は不要なオブジェクトを作成します。代わりに 'Boolean.TRUE'を使うべきです。 – assylias

+0

'Boolean.TRUE'は不要です。 'true'を使用するだけです – ZhekaKozlov

4

のようにあなたはCollectionsからfillメソッドを使用することができます:

Collections.fill(list, Boolean.FALSE); 

別のオプションではなくListの配列を使用している場合があります。

boolean[] arr = new boolean[10]; 

この自動的にに初期化されます10 booleanのデフォルト値はfalseです。

+0

' new Boolean.FALSE'はコンパイルされません... –

0

また、次の

Arrays.fill(list, Boolean.FALSE); 
0
ArrayList<Boolean> list = new ArrayList<Boolean>(size); 
list.addAll(Collections.nCopies(size, Boolean.FALSE)); 
0

使用Collections.nCopiesを使用することができます。

List<Boolean> list = new ArrayList<>(Collections.nCopies(n, false)); 
関連する問題