Collection

A classe Collection contém o protocolo comum a todos os objetos que representam grupos ou coleções de objetos. Todas as estruturas de dados básicas são instâncias de alguma classe descendente de Collection. A hierarquia da classe Collection em Smalltalk-80 é apresentada abaixo em comparação com a de Smalltalk/Vonde podem ser notadas algumas diferenças.

Smalltalk-80 Smalltalk/V
Collection
Bag
SequenceableCollection
ArrayedCollection
Array
Bitmap
ByteArray
RunArray
String
Symbol
Text
Interval
OrderedCollection
Set
Dictionary
Collection
Bag
IndexedCollection
FixedSizeCollection
Array
Bitmap
ByteArray
Interval
String
Symbol
OrderedCollection
SortedCollection

Set

Dictionary


O protocolo de Collection inclui diversas mensagens, que são em geral implementadas de forma diversa em cada subclasse. Seguem alguns exemplos de várias categorias de mensagens. Veja também, um exemplo de aplicação.



Acrescentar ou remover elementos de uma coleção:


Verificar o conteúdo de uma coleção:


Converter uma variedade de coleção em outra, desde que compatível:


Realizar iterações sobre os elementos de uma coleção

Esse protocolo permite realizar processamentos específicos com cada elemento do receptor. As mensagens abaixo implementam os iteradores principais em Smalltalk. O argumento é sempre um bloco de expressões que deve conter uma variável temporária que assumirá sucessivamente os valores dos elementos da coleção do receptor a cada iteração.