W języku java można użyć standardowego LinkedList
, aby poprawić wydajność, gdy obiekty są często dodawane z przodu listy. Jaki jest jego odpowiednik w ramach iOS?Co to jest odpowiednik LinkedList w środowisku iOS?
Odpowiedz
Musisz zrozumieć, że w klasach podstawowych, takich jak NSArray
, itp., nie jest tym, czego nauczyłeś się jako tablica itp. W twojej początkowej klasie programistycznej. W szczególności nie ma charakterystyk wydajności, które normalnie kojarzysz z tablicą.
W tym miejscu znajduje się wiele ciekawych postów na blogu, np. jeden przez Ridiculous Fish i inny przez Cocoa with Love
Tak, jak wszyscy inni powiedzieli, po prostu użyj NSMutableArray
.
NSMutableArray jest najbliżej tego. Pomimo nazwy jest bliżej listy niż tablicy. Jednakże, "dołączanie i usuwanie elementów z dowolnego końca zajmuje stały czas", zgodnie z this.
Ponadto, co na ten temat, implementacja innych firm: https://github.com/mschettler/NSLinkedList
+1 'NSArray' ma * tonę * optymalizacji pod maską, a korzystanie z wbudowanego rozwiązania jest zawsze najlepszą opcją. Ponieważ dołączanie do dowolnego końca jest operacją o stałym czasie, potrzeba faktycznej połączonej listy jest zanegowana, ponieważ 'NSArray' ma już pożądaną charakterystykę wydajności. –
Czy masz źródło do dołączania i usuwania cech spektaklu? Ctrl + F nie wymyśla linii, którą cytujesz w dokumentacji. – Joren
Ah, przepraszam - to z innej strony :) –
Nie ma bezpośredniego odpowiednika. Napisanie połączonej listy samemu jest dość łatwe, ale wątpię, czy uzyskasz dużą wydajność w porównaniu z NSMutableArray
.
Istnieje kilka różnych implementacji połączonych list w otwartym kodzie źródłowym CHDataStructures.
NSMutableArray jest tablicą wektorową lub dynamiczną, ale jest to , a nie.
, jeśli NSMutableArray jest tablicą wektorową lub dynamiczną. Jaki byłby i odpowiadający połączonej liście w celu-c? – user2924482
- 1. Co to jest odpowiednik CGImageCreateWithImageInRect w MonoTouch?
- 2. Co to jest odpowiednik "gem" w python?
- 3. Co to jest odpowiednik UINT32_MAX w C++?
- 4. Co to jest odpowiednik preg_quote w PHP?
- 5. Co to jest odpowiednik System.nanoTime() w .NET?
- 6. Co to jest odpowiednik "pythonic" w Ruby?
- 7. Co to jest odpowiednik "getElementsByTagName" w jQuery?
- 8. Co to jest odpowiednik Response.Redirect w Silverlight?
- 9. Co to jest odpowiednik dispatch_block_t w swift?
- 10. Co to jest odpowiednik C# w java.util.regex?
- 11. Co to jest odpowiednik JPA w .NET?
- 12. Co to jest odpowiednik @ Html.Raw w Postal?
- 13. Co to jest odpowiednik Swift 3 NSURL.URLByAppendingPathComponent()?
- 14. Co to jest ios :: in | ios :: out?
- 15. Co to jest odpowiednik ruby preg_quote()?
- 16. Co to jest clojure odpowiednik google guice?
- 17. Co to jest rubinowy odpowiednik python'a getattr
- 18. Co to jest odpowiednik Java obiektu Scala?
- 19. Co to jest odpowiednik firebaseRef.push() z angularfire?
- 20. Co to jest odpowiednik java javascript's String.fromCharCode?
- 21. Co to jest odpowiednik addFooterView dla GridView?
- 22. Co to jest odpowiednik Java 1.2.2 Pattern.quote()
- 23. Co to jest odpowiednik XPath operatora Coalesce?
- 24. Co to jest odpowiednik Monotouch dealloc?
- 25. Co to jest odpowiednik InnerText w LINQ-to-XML?
- 26. Co to jest deserializacja Jackson odpowiednik @ JsonUnwrapped?
- 27. Co to jest odpowiednik opencv do flaplr()?
- 28. Co to jest odpowiednik Swift dla dispatch_group_create
- 29. Co to jest odpowiednik coredata dla Androida
- 30. Co to jest odpowiednik WPF dla ControlPaint.Light?
Dla dużych kolekcji tablice mają straszne wstawianie/usuwanie wydajności – jjxtra
Tak, ale 'NSMutableArray' nie jest tablicą. – Yuji
D'oh! To wyjaśnia to. – sudo