繁体   English   中英

ArrayList trimtosize无法正常工作

[英]ArrayList trimtosize not working android

我有一个arraylist,其代码为:

ArrayList<String> recentdata=new ArrayList<String>();

我想将ArrayList的大小限制为特定大小,即达到5时为5。 这意味着0到5可以作为ArrayList ,当达到5时,我想停止ArrayList的增长。

为此使用:设置大小

if(recentdata.size() >= 5) {
    recentdata.trimToSize();
}

但它不起作用,即尺寸增长并未阻止它前进6,7等。

这个怎么做? 还有其他方法吗? 还是我的方法有什么问题?

谢谢

大小和容量是两回事。

说你有这个:

ArrayList<String> data = new ArrayList<String>(5);

您的容量为5,但大小为0。

然后添加一些数据:

data.add("hello");

然后调用trimToSize:

data.trimToSize();

您的大小和容量现在都为1。

您到底想做什么? 可能有更好的方法:)

trimToSize不会从列表中删除任何元素。 javadoc

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

容量是ArrayList内部使用的数组的大小。 如果列表包含6个元素并且容量为10,则数组的最后4个元素为空。 调用trimToSize只会使列表使用6而不是10的数组。

只要大小为5,就不要在列表中添加任何内容,而不是添加,然后尝试删除。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM