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:-)

Esta classe é criável.

Esta classe funciona como um array ler / escrever.

Esta classe é enumerável com FOR EACH palavras chaves.

Propriedades
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.

Métodos
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!).