我尝试使用java8流将CSV文件解析为包含23000个元素的列表。
csvAsList.stream().map(element -> transform(element)).collect(toList())
我查看toList()
源代码:
public static <T> Collector<T, ?, List<T>> toList() {
return new CollectorImpl<>(
(Supplier<List<T>>) ArrayList::new, List::add, (left, right) -> { left.addAll(right); return left; },
CH_ID);
}
ArrayList::new
将使用默认大小。
但是因为应用程序会做很多这样的转换。我认为最好创建一个给定大小的arraylist。它不会一次又一次地复制整个阵列,从而节省时间。
可行吗?还是不值得做?