【问题标题】:Utilizing the LinkedList class in SmallTalk?在 SmallTalk 中使用 LinkedList 类?
【发布时间】:2010-02-20 00:10:30
【问题描述】:

我不确定我是否完全理解如何使用 SmallTalk Visual Works 提供的 LinkedList 类。我可以通过简单的操作来创建该类的一个实例:

myList := LinkedList new.

但是如何添加节点。我尝试创建一个 Link 类的实例并设置一个值,但它似乎不起作用。

myLink := Link new.
myLink value: 3.

我对 smalltalk 非常陌生,非常感谢任何帮助!

【问题讨论】:

    标签: linked-list smalltalk


    【解决方案1】:

    作为一个新手,不如学习如何使用 OrderedCollection。然后看看这两个类的方法,看看异同。您会看到它们本质上是相同的,因为整个区别在于在集合中间插入和删除元素的性能。在 OrderedCollection 中复制整个集合,而在 LinkedList 中,仅“指针”适应插入的节点。

    实际上,很少使用 LinkedList,因为 OrderedCollection 足以满足大多数(如果不是全部)需求。

    【讨论】:

    • 确实,LinkedList 只是 Smalltalk Process 类的一个实现细节。
    【解决方案2】:

    您应该使用它的方式是通过子类化链接,例如添加一个value 实例变量和两个方法#value#value:。但正如 Janko 所说,我不会打扰,只需使用 OrderedCollection。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-08
      • 2020-09-15
      • 2021-12-31
      • 2016-03-07
      相关资源
      最近更新 更多