Swift中的数组包含的元素数量是多少?只是一个假设的问题。
答案 0 :(得分:1)
下标和count属性使用Int。这是你的最大值。我假设Int
是32位数,但也许它是64位。因此,拥有一个比你可以计算或索引更大的数组是没有意义的。
实际上,根据platform,它是32位或64位。
答案 1 :(得分:1)
该语言不一定决定数组可以存储多少元素。因为它实际上是指向数组的指针,所以在RAM耗尽之前,您总是可以添加更多元素。凭借4GB的RAM,您理论上可以存储40亿(大约)字符,10亿个整数或40亿/(存储元素的大小),无论您存储什么。基本上,它取决于你的RAM。
然而,正如另一个答案所述,拥有count方法可以返回的更多元素的数组是不切实际的。也就是说,如果你继续添加RAM,那么你不一定能够存储更多(有一个截止值)。因此,检查编译器中发生的事情的快速方法是使用您选择的容量初始化NSMutableArray
。过高会产生错误,“整数常数大于最大无符号整数类型”。通过Apple Docs搜索显示,可存储的最大int(UInt64)为18446744073709551615.实际上,尝试初始化一个容量只有一个的数组,您将收到错误消息。现在唯一的困境是,如果你想考虑数组可以存储的元素比你可以检索的更多的元素,我肯定这是不可能但无法验证。无论哪种方式,它都会破坏阵列本身的目的。