【发布时间】:2016-06-16 12:12:01
【问题描述】:
假设我有一个集合(LinkedList)。
Collection<String> list = new LinkedList<>();
for (int i = 0; i < 1_000_000; i++) {
String randomString = RandomStringUtils.random(i);
list.add(randomString);
}
Object[] objects = list.toArray();
当我调用toArray 方法时,如果强制我的应用程序创建一个新数组。例如,toArray 的 LinkedList 实现如下所示:
public Object[] toArray() {
Object[] result = new Object[size];
int i = 0;
for (Node<E> x = first; x != null; x = x.next)
result[i++] = x.item;
return result;
}
是否可以在不为数组分配新内存的情况下从集合中检索数组?
【问题讨论】:
-
如果不新建数组,希望元素存放在哪里?
标签: java collections