2013-10-21 16 views
5

とサイズN> 1の集合(リスト)を初期化し、私はこのようなJavaでワンライナーしたいと思う:のJava:同じ要素

要素がタイプAであり、nは
List<A> list = initialize(element, n); 

コレクションの希望のサイズを表す整数。

私の元の問題は、要素のコピーを作成せずに同じ参照でリストを埋めることでしたが、コピーでも良い妥協です。

ApacheやGoogleの収集ユーティリティなども歓迎します。これがリスト以外の他のJavaコレクションにも一般化できると思われる場合は、コメントを追加してください。今、それは私の最善の解決策だまで

(Aはブール値です):

Lists.newArrayList(Arrays.copyOf(new Boolean[ ] { false }, n)) 

が、私は同様の question(ない保留または閉じ上)見つかりましたが、それはJava用ではありません。

+2

リスト内のすべての参照が同じオブジェクトまたは異なるオブジェクトを参照しますか? –

+1

'n'はリストに含めるべき要素の数を表しますか?私はそれが何のためだと仮定しますが、質問に明示的に述べられていませんでした。 – Asaph

+2

@Sotirios私はFAQを読んだが、私は何を欠席したのだろうか? –

答えて

12

あなたはCollections.nCopies(int, T)を探しています。

+1

+1これは、リファレンスのnCopiesであり、参照されるオブジェクトではありません。 –

関連する問題