iOS 框架中的 LinkedList 等价物是啥?

Posted

技术标签:

【中文标题】iOS 框架中的 LinkedList 等价物是啥?【英文标题】:What is the LinkedList equivalent in iOS frameworks?iOS 框架中的 LinkedList 等价物是什么? 【发布时间】:2011-08-11 02:04:32 【问题描述】:

在java中,可以利用泛型LinkedList来提高经常将对象添加到列表前面的效率。它在 ios 框架中的等价物是什么?

【问题讨论】:

【参考方案1】:

您需要了解,在 NSArray 等 Foundation 课程中,并不是您在开始编程课程时所学的数组等。 特别是,它没有通常与数组相关联的性能特征。

在这一点上,有很多不错的博客文章,例如一个是Ridiculous Fish,另一个是Cocoa with Love

所以,正如其他人所说,只需使用NSMutableArray

【讨论】:

对于大型集合,数组的插入/删除性能很差 是的,但NSMutableArray 不是数组。 天啊!这就解释了。【参考方案2】:

NSMutableArray 最接近这个。尽管有这个名字,但它更接近于列表而不是数组。但是,根据this,“从任一端添加和删除元素需要恒定的时间”

还有,这个呢,第三方实现:https://github.com/mschettler/NSLinkedList

【讨论】:

+1 NSArray 在底层进行了 ton 的优化,使用内置解决方案始终是最佳选择。由于附加到任一端是一个恒定时间操作,因此不需要实际的链表,因为NSArray 已经具有所需的性能特征。 你有这些附加和删除性能特征的来源吗? Ctrl+F 没有出现您在文档中引用的行。 啊,对不起 - 它来自不同的页面 :)【参考方案3】:

没有直接的等价物。自己写一个链表很容易,但我怀疑你会比NSMutableArray获得很多性能。

在开源CHDataStructures 中有几个不同的链表实现。

【讨论】:

【参考方案4】:

NSMutableArray 是向量或动态数组,但它不是链表。

【讨论】:

如果 NSMutableArray 是向量或动态数组。什么是和等价于objective-c中的链表?

以上是关于iOS 框架中的 LinkedList 等价物是啥?的主要内容,如果未能解决你的问题,请参考以下文章

iOS Swift 中的 firebase 实时数据库推送等价物是啥?

QML 中的 QMessageBox::aboutQt 等价物是啥?

Xamarin.iOS 中 NSString stringWithFormat 的等价物是啥

旧版本中的等价物是啥。当我在旧版本中运行时,该应用程序没有给我一个大的导航栏

Flipper-glog 的 ios-configure-glog.sh 等价物是啥?

Flow 中星号 (*) 类型的用途是啥,TypeScript 中的等价物是啥?