【问题标题】:Does trimtosize() function works on ensureCapacity() function in ArrayListtrimtosize() 函数是否适用于 ArrayList 中的 ensureCapacity() 函数
【发布时间】:2017-03-24 13:50:36
【问题描述】:

假设我有一个字符串数组列表。 我使用 Function ensureCapacity() 并将其容量设置为 50。

但我只添加了 10 个字符串元素,剩下 40 个内存被浪费了。

之后我使用trimToSize() 函数。

我的问题是“trimToSize() 函数是否节省了我的 40 内存。”?

【问题讨论】:

    标签: memory arraylist size trim capacity


    【解决方案1】:

    我假设您在谈论 Java,因为 Java ArrayList 具有您提到的那些方法,例如 trimToSize()。并引用该方法的javadoc:

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

    所以答案是:是的,完全正确。

    但请记住:这将“节省”您所需的 40 个对象引用的空间。因此,您是否想要在该列表中存储字符串、整数或 byte[] 对象并不重要。

    除此之外:除非我们谈论的是资源关键型环境;比如一些嵌入式系统,你不必太担心 40 个列表槽。也许大约 100K;或 1000 万个插槽;但不是 40 左右。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-09
      • 1970-01-01
      • 2011-02-16
      • 2018-10-03
      • 1970-01-01
      • 2020-10-16
      • 1970-01-01
      相关资源
      最近更新 更多