創建數組時不需要指定數組大小,對嗎? 然後,爲什麼arrayWithCapacity是必需的? 如果我設置的數組的大小比實際需要的小,是否可以?使用arrayWithCapacity比使用數組有什麼優勢?
5
A
回答
6
arrayWithCapacity是一個優化 - 它不是必需的。如果您提前知道元素的數量,系統可以在一次系統調用和一塊內存中分配存儲空間。否則,系統不得不在稍後添加更多元素時調整數組大小,並且這往往很慢,需要額外的分配並可能將數據從舊緩衝區複製到新緩衝區。
1
array
創建一個空陣列(並在添加對象時分配內存),而arrayWithCapacity
創建一個分配足夠內存的陣列來容納這些對象,但您可以隨時在需要時擴展它。
相關問題
- 1. 使用HttpApplication比HttpApplication有什麼優勢?
- 2. 使用Redux比React有什麼優勢?
- 3. 使用SVN比CVS有什麼優勢?
- 4. 使用javacv比opencv有什麼優勢?
- 5. 使用BaseAdapter比ArrayAdapter有什麼優勢?
- 6. 使用chiliproject比redmine有什麼優勢?
- 7. 使用POCO比DataTables有什麼優勢?
- 8. 在HTML中,使用div比使用表有什麼優勢?
- 9. 使用scrapyd有什麼優勢?
- 10. Hudson vs使用shellcript有什麼優勢?
- 11. 使用Python Virtualbox API有什麼優勢?
- 12. 使用迭代器有什麼優勢?
- 13. 使用NSOutputstream有什麼優勢?
- 14. 使用SproutCore框架有什麼優勢?
- 15. 使用鍵@array而不是0 .. $#數組有什麼優勢?
- 16. 使用「declare -a」在bash中聲明數組有什麼優勢?
- 17. 與Ruby相比,在String中使用StringIO有什麼優勢?
- 18. 使用UTF-8比UTF-16有什麼優勢?
- 19. 使用Builder比常規xml文件有什麼優勢?
- 20. 您認爲使用RSpec``double'比'OpenStruct.new`有什麼優勢?
- 21. 使用城市飛艇比C2DM有什麼優勢
- 22. 使用git-svn比普通svn客戶端有什麼優勢?
- 23. 在Ruby中使用Integer類型比Numeric有什麼優勢?
- 24. 在ASP.NET中使用web API比web方法有什麼優勢
- 25. 使用Zend_Db模型比mysqli有什麼優勢?
- 26. 在這裏使用varbinary比varchar有什麼優勢?
- 27. 在使用OpenGL時,C++比C#有什麼優勢?
- 28. 爲什麼我們使用disk_logs和使用disk_log數據庫有什麼優勢?
- 29. 使用cocos2d-x 3.0比使用cocos2d-x 2.x有什麼優勢?
- 30. 什麼時候使用實例變量比使用let()更有優勢?