环境
JDK8
疑点
看到一个ArrayList的优化方法,就是当需要一次性插入较多数据时,可以先扩容再插入。这是因为ArrayList本质上是一个动态增长的数组,当容量达到上限时会自动按照一定倍率创建一个新数组,然后将原来的数组拷贝从而达到扩容的目的。这就导致如果不断地add海量数据,频繁的拷贝会降低ArrayList的性能。ArrayList提供了ensureCapacity的方法来指定容量。然而...
// 用ArrayList声明可以正常调用ensureCapacity
ArrayList<Integer> il = new ArrayList<>();
// 用List声明无法调用ensureCapacity
List<Integer> il = new ArrayList<>();
