特定のサイズの要素を持つリストを作成する方法

いいえ、1000個の要素を含むリストをすばやく作成したいとします。これを達成する最良の方法は何ですか?

5
「どのようにするのですか?」完全な見知らぬ人にあなたにそれをさせるように依頼しますか?ああ待って、あなたはすでにそれをカバーしている。 あなたは何を試しましたか?
追加された 著者 Andrew Thompson,
どのような要素ですか?
追加された 著者 solendil,
@AndrewThompsonがリンクを賞賛する
追加された 著者 Jomoos,

2 答え

< code> Collections.nCopies をクリックします。

ただし、返されるリストは不変であることに注意してください。実際、ドキュメントには "新しく割り当てられたデータオブジェクトは小さい(データオブジェクトへの単一参照を含む)"というメッセージが表示されます。

変更可能なリストが必要な場合は、次のようにします

List hellos = new ArrayList(Collections.nCopies(1000, "Hello"));

1000個の異なるオブジェクトが必要な場合は、

List objects = Stream.generate(YourObject::new)
                                 .limit(1000)
                                 .collect(Collectors.toList());

ここでも、結果として得られるリスト実装の機能については保証されていません。 ArrayList が必要な場合は、

                                 ...
                                 .collect(ArrayList::new);
15
追加された

最も速い: int [] myList = new int [1000] は、ゼロに等しい1000要素を含みます。しかし、私はそれがあなたのニーズに合っていないと確信しています。あなたが必要とするものをもっと教えてください。私は助けてくれるかもしれません:)

0
追加された
私は、 Collections.nCopies の方が速いと思っています:-)特に1000000要素がある場合は:-)
追加された 著者 aioobe,