如何创建具有特定大小的元素的列表

时间:2011-11-25 10:00:50

标签: java performance arraylist collections

说,我想快速创建一个包含1000个元素的列表。实现这一目标的最佳方法是什么?

2 个答案:

答案 0 :(得分:16)

您可以使用Collections.nCopies

但请注意,返回的列表是不可变的。实际上,文档说“它新分配的数据对象很小(它包含对数据对象的单个引用)”。

如果您需要一个可变列表,您可以执行类似

的操作
List<String> hellos = new ArrayList<String>(Collections.nCopies(1000, "Hello"));

如果您想要1000个不同的对象,可以使用

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

同样,不保证结果列表实现的功能。如果您需要,请说ArrayList,您可以

                                 ...
                                 .collect(ArrayList::new);

答案 1 :(得分:0)

最快:int[] myList = new int[1000]将包含等于零的1000个元素。但我确信它不适合你的需要。告诉我们你需要什么,我可以提供帮助:)。