栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

ArrayList.trimToSize()方法

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ArrayList.trimToSize()方法

您可以从文档中链接自己:

将此ArrayList实例的容量调整为列表的当前大小。应用程序可以使用此操作来最小化ArrayList实例的存储。

在内部,一个

ArrayList
存储所有项目的数组。在某些时刻,
ArrayList
将通过将所有值复制到更大的数组中来“扩展”此数组。每当添加一项且所需容量大于当前容量时,就会发生这种情况。此时发生的是以下代码行:

int newCapacity = oldCapacity + (oldCapacity >> 1);elementData = Arrays.copyOf(elementData, newCapacity);

本质上,这将创建一个新数组,其大小是当前数组的1.5倍。此方法的作用是调整内部数组的大小,以使其没有剩余空间。

  1. 您看不到任何事情发生。您不会丢失任何数据,它只是较小的支持阵列。将数据添加到arraylist将再次正常扩展阵列。

  2. 我认为你的意思是“正常”

    ArrayList
    。如果使用此选项,则将减少所使用的内存,但是如果在此之后仍要添加数据,那将是徒劳的,并且对于小列表而言,这是毫无用处的。如果您有
    ArrayList
    很多项目,并且确定不再添加,则可以调用此方法以减少一些内存占用。

  3. 往上看。我认为您不太可能会使用此功能。

trimToSize()
从来源:

public void trimToSize() {    modCount++;    int oldCapacity = elementData.length;    if (size < oldCapacity) {        elementData = Arrays.copyOf(elementData, size);    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/515228.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号