今天在读前同事写的一段代码,其要将数据库中读取到的10000条用户信息存储到ArrayList中,但是没有预先分配空间。
用ArrayList arrayList = new ArrayList<>(10000)取代ArrayList arrayList = new ArrayList<>();发现时间花销有明显缩减。
分析原因:
ArrayList是数组的容器,支持动态扩容,每次空间不够用时会自动扩容为1.5倍大小,但是这种扩容存在数次内存申请和数据迁移,因此,假如知道存储的数据大小,预先分配内存可以有效缩减时间花销。
ArrayList类预先分配空间的时间优势
最新推荐文章于 2023-02-07 23:42:13 发布