List (gb.data)
Essa classe implementa uma lista duplamente vinculada e circular, ou seja, você tem variantes ligadas entre si e podem atravessá-las em qualquer direção (assim duplamente vinculada). O próximo ascendente do último elemento da lista será o primeiro, e vice-versa (assim circular).
Listas vinculadas gera trash do cache de dados da CPU quando são deslocadas. Por outro lado, eles podem lidar com menos movimentos de memória total que os Arrays. Você tem que decidir quando cada classe é chamada. Se tiver dúvidas, escolha uma
Array. De qualquer maneira é sempre mais rápido:-)
Properties
AutoNormalize
|
Retorna ou define se a propriedade Index é automaticamente convertida para um índice normalizado.
|
Backwards
|
Retorna um objeto virtual utilizado para enumerar o List para trás.
|
Count
|
Retorna o número de elementos do List.
|
Current
|
Retorna um objeto virtual que representa o elemento atual.
|
Index
|
Um atalho para o Index Atual.
|
Value
|
Um atalho para o Value Atual.
|
Methods
Append
|
Anexa um valor depois do título do List. Isto significa que este será o novo primeiro elemento.
|
Clear
|
Remove todos os elementos do List.
|
FindFirst
|
Pontos Current para a primeira ocorrência do valor indicado na List, ou invalida ele se não for encontrado.
|
FindLast
|
Encontre a última ocorrência de Value.
|
FindNext
|
Localizar a próxima ocorrência de Value.
|
FindPrev
|
Localizar a ocorrência anterior de Valor.
|
FindPrevious
|
Um sinônimo para FindPrev.
|
MoveFirst
|
Move do atual para o primeiro elemento na List.
|
MoveLast
|
Move do atual para o último elemento.
|
MoveNext
|
Move do atual para o próximo elemento, e se o atual já é o último, move para o primeiro (porque somos cíclico).
|
MovePrev
|
Move para o valor anterior. Se o atual for o primeiro valor, move para o último.
|
MovePrevious
|
Um sinônimo para MovePrev.
|
MoveTo
|
Move do atual para o especificado por Index.
|
Prepend
|
Precede um valor antes do head do List. Isto significa que este será o novo último elemento.
|
Take
|
Remove o elemento especificado (utilizando transversal se necessário!).
|