在java中,可以使用通用的LinkedList
來提高對象經常添加到列表前面的效率。它在iOS框架中的等同物是什麼?什麼是iOS框架中的LinkedList等價物?
回答
你需要明白在像NSArray
等基礎類中,不是你在開始的編程類中學習的數組等。特別是,它不具備通常與陣列關聯的性能特徵。
在這一點上,有很多不錯的博客文章,例如,一個由Ridiculous Fish和另一個由Cocoa with Love
因此,正如其他人所說,只需使用NSMutableArray
。
NSMutableArray與此最接近。儘管有這個名字,但它比列表更接近列表。但是,「根據this,」從任一端追加和刪除元素需要一定的時間「。
而且,你看這個,一個第三方的實現:https://github.com/mschettler/NSLinkedList
+1'NSArray'內部有一噸*優化,使用內置解決方案始終是最佳選擇。由於追加到任一端是一個常量時間操作,所以對實際鏈表的需求被否定,因爲'NSArray'已經具有所需的性能特徵。 –
你有這些附加和刪除性能特徵的來源嗎? Ctrl + F不會出現在文檔中引用的行。 – Joren
對不起 - 它來自不同的頁面:) –
沒有直接等同。自己編寫鏈表很容易,但我懷疑你會獲得很多性能,與NSMutableArray
相比。
在開源CHDataStructures中有幾個不同的鏈表實現。
- 1. 什麼是實體框架中的DataContext等價物?
- 2. 什麼是Linq和實體框架的Java等價物
- 3. 什麼是android中的dataWithContentsOfURL等價物?
- 4. RDFlib中rdf:ID的等價物是什麼?
- 5. Monotouch中的CGPDFDocumentGetCatalog等價物是什麼?
- 6. 什麼是C++中的instanceof等價物?
- 7. 什麼是VC7中的strtok_s等價物?
- 8. jquery中Ajax.updater的等價物是什麼?
- 9. 什麼是JSP中的sendmail等價物?
- 10. jQuery中Class.create()的等價物是什麼?
- 11. python中'gem'的等價物是什麼?
- 12. 什麼是MSTest中MbUnit.Framework.RowAttribute的等價物?
- 13. JQuery中innerHTML的等價物是什麼?
- 14. WinRT中SecureString的等價物是什麼?
- 15. java中fopen_s()的等價物是什麼?
- 16. 什麼是perl中$ _的php等價物?
- 17. Bindingsource中EOF的等價物是什麼?
- 18. 什麼是Java中的「ByRef」等價物?
- 19. java中cin.ignore()的等價物是什麼?
- 20. Swift中@autoreleasepool的等價物是什麼?
- 21. 什麼是C#中的vbNullChar等價物?
- 22. Python中imadjust的等價物是什麼?
- 23. CoreFoundation中NSHomeDirectory()的等價物是什麼?
- 24. 什麼是Silverlight中的OnRender等價物?
- 25. 什麼是GraphicsMagick中的setCompression()等價物?
- 26. C#中bigint的等價物是什麼?
- 27. C#中TreeBidiMap的等價物是什麼?
- 28. C#中memset的等價物是什麼?
- 29. 什麼是Ruby中的「sys.stdout.write()」等價物?
- 30. Bash中%%〜nxD的等價物是什麼?
對於大型集合,數組具有可怕的插入/刪除性能 – jjxtra
是的,但是'NSMutableArray'不是數組。 – Yuji
D'oh!這解釋了它。如果NSMutableArray是一個向量或動態數組,則爲 – sudo