为什么NSMutableSet可以添加更多的对象而不是容量

时间:2014-12-10 07:32:55

标签: ios nsmutablearray capacity nsmutableset

创建一个容量为例3的nsmutableset,但是可以在其中添加3个以上的对象。那么实际容量是多少?

从Apple Docs看,似乎没关系,但“容量”的目的是什么?

  

返回值具有保存numItems的初始容量的可变集   成员。

     

讨论Mutable集根据需要分配额外的内存,所以   numItems只是建立对象的初始容量。

1 个答案:

答案 0 :(得分:4)

实际容量仅受可用内存的限制。初始容量只允许您在知道集合的实际或近似大小时避免动态增长集合。这比不断增长的集合更有效率。

例如,如果你想要一个集合来存储字符串中的字母(即attack = {atck}),你知道最多有26个不同的字母,所以你可以用初始容量26初始化 - 这是一个“提示“到初始化者。它可以分配更大或更小的容量。

相关问题