2010-02-20 32 views
3

我不确定我完全理解如何使用SmallTalk Visual Works提供的LinkedList类。我可以通过简单的做法创建类的一个实例:在SmallTalk中使用LinkedList类?

myList := LinkedList new. 

但是,如何添加节点。我试图创建一个Link类的实例并设置一个值,但它似乎没有工作。

myLink := Link new. 
myLink value: 3. 

我是非常新的smalltalk和任何帮助将不胜感激!

回答

4

作为一个新手,而不是学习如何使用OrderedCollection来代替。然后看看这两个类的方法,看看相似之处和不同之处。你会发现它们基本上是一样的,因为它们的不同之处在于插入和删除集合中间的元素。在OrderedCollection中,整个集合被复制,而在LinkedList中,只是“指针”适用于插入的节点。

在实践中,很少使用LinkedList,因为OrderedCollection对于大多数(如果不是全部)需求来说足够好。

+0

事实上,LinkedList只是Smalltalk Process类的实现细节。 – 2010-02-28 09:32:25

3

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