F # - Listas mutáveis
o List<'T> classe representa uma lista fortemente tipada de objetos que podem ser acessados por índice.
É uma contraparte mutável da classe List. É semelhante a arrays, pois pode ser acessado por um índice; no entanto, ao contrário de arrays, as listas podem ser redimensionadas. Portanto, você não precisa especificar um tamanho durante a declaração.
Criação de uma lista mutável
As listas são criadas usando o newpalavra-chave e chamando o construtor da lista. O exemplo a seguir demonstra isso -
(* Creating a List *)
open System.Collections.Generic
let booksList = new List<string>()
booksList.Add("Gone with the Wind")
booksList.Add("Atlas Shrugged")
booksList.Add("Fountainhead")
booksList.Add("Thornbirds")
booksList.Add("Rebecca")
booksList.Add("Narnia")
booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index])
Quando você compila e executa o programa, ele produz a seguinte saída -
0: Gone with the Wind
1: Atlas Shrugged
2: Fountainhead
3: Thornbirds
4: Rebecca
5: Narnia
A classe List (T)
A classe List (T) representa uma lista fortemente tipada de objetos que podem ser acessados por índice. Ele fornece métodos para pesquisar, classificar e manipular listas.
As tabelas a seguir fornecem as propriedades, construtores e métodos da classe List (T) -
Propriedades
Propriedade | Descrição |
---|---|
Capacidade | Obtém ou define o número total de elementos que a estrutura de dados interna pode conter sem redimensionar. |
Contagem | Obtém o número de elementos contidos na Lista (T). |
Item | Obtém ou define o elemento no índice especificado. |
Construtores
Construtor | Descrição |
---|---|
Lista (T) () | Inicializa uma nova instância da classe List (T) que está vazia e tem a capacidade inicial padrão. |
Lista (T) (IEnumerable (T)) | Inicializa uma nova instância da classe List (T) que contém elementos copiados da coleção especificada e tem capacidade suficiente para acomodar o número de elementos copiados. |
Lista (T) (Int32) | Inicializa uma nova instância da classe List (T) que está vazia e possui a capacidade inicial especificada. |
Método
Métodos | Descrição |
---|---|
Adicionar | Adiciona um objeto ao final da Lista (T). |
AddRange | Adiciona os elementos da coleção especificada ao final da Lista (T). |
AsReadOnly | Retorna um wrapper IList (T) somente leitura para a coleção atual. |
BinarySearch (T) | Pesquisa toda a lista classificada (T) para um elemento usando o comparador padrão e retorna o índice baseado em zero do elemento. |
BinarySearch (T, IComparer (T)) | Pesquisa toda a lista classificada (T) para um elemento usando o comparador especificado e retorna o índice baseado em zero do elemento. |
BinarySearch (Int32, Int32, T, IComparer (T)) | Pesquisa um intervalo de elementos na lista classificada (T) para um elemento usando o comparador especificado e retorna o índice baseado em zero do elemento. |
Claro | Remove todos os elementos da Lista (T). |
Contém | Determina se um elemento está na Lista (T). |
ConvertAll (TOutput) | Converte os elementos da Lista atual (T) em outro tipo e retorna uma lista contendo os elementos convertidos. |
CopyTo (T []) | Copia toda a lista (T) para uma matriz unidimensional compatível, começando no início da matriz de destino. |
CopyTo (T [], Int32) | Copia toda a List (T) para uma matriz unidimensional compatível, começando no índice especificado da matriz de destino. |
CopyTo (Int32, T [], Int32, Int32) | Copia um intervalo de elementos da Lista (T) para uma matriz unidimensional compatível, começando no índice especificado da matriz de destino. |
Igual a (objeto) | Determina se o objeto especificado é igual ao objeto atual. (Herdado do objeto.) |
Existe | Determina se a Lista (T) contém elementos que correspondem às condições definidas pelo predicado especificado. |
Finalizar | Permite que um objeto tente liberar recursos e realizar outras operações de limpeza antes de ser recuperado pela coleta de lixo (Herdado do objeto). |
Encontrar | Pesquisa um elemento que corresponda às condições definidas pelo predicado especificado e retorna a primeira ocorrência em toda a Lista (T). |
Encontrar tudo | Recupera todos os elementos que correspondem às condições definidas pelo predicado especificado. |
FindIndex (Predicado (T)) | Pesquisa um elemento que corresponda às condições definidas pelo predicado especificado e retorna o índice baseado em zero da primeira ocorrência em toda a Lista (T). |
FindIndex (Int32, Predicate (T)) | Procura um elemento que corresponda às condições definidas pelo predicado especificado e retorna o índice baseado em zero da primeira ocorrência dentro do intervalo de elementos na Lista (T) que se estende do índice especificado ao último elemento. |
FindIndex (Int32, Int32, Predicate (T)) | Pesquisa por um elemento que corresponda às condições definidas pelo predicado especificado e retorna o índice baseado em zero da primeira ocorrência dentro do intervalo de elementos na Lista (T) que começa no índice especificado e contém o número especificado de elementos. |
FindLast | Pesquisa um elemento que corresponda às condições definidas pelo predicado especificado e retorna a última ocorrência em toda a Lista (T). |
FindLastIndex (Predicado (T)) | Procura um elemento que corresponda às condições definidas pelo predicado especificado e retorna o índice baseado em zero da última ocorrência em toda a Lista (T). |
FindLastIndex (Int32, Predicate (T)) | Procura um elemento que corresponda às condições definidas pelo predicado especificado e retorna o índice baseado em zero da última ocorrência dentro do intervalo de elementos na Lista (T) que se estende do primeiro elemento ao índice especificado. |
FindLastIndex (Int32, Int32, Predicate (T)) | Procura um elemento que corresponda às condições definidas pelo predicado especificado e retorna o índice baseado em zero da última ocorrência dentro do intervalo de elementos na Lista (T) que contém o número especificado de elementos e termina no índice especificado. |
Para cada | Executa a ação especificada em cada elemento da Lista (T). |
GetEnumerator | Retorna um enumerador que itera por meio de List (T). |
GetHashCode | Serve como a função hash padrão. (Herdado do objeto.) |
GetRange | Cria uma cópia superficial de um intervalo de elementos na Lista de origem (T). |
GetType | Obtém o tipo da instância atual. (Herdado do objeto.) |
IndexOf (T) | Pesquisa o objeto especificado e retorna o índice baseado em zero da primeira ocorrência em toda a Lista (T). |
IndexOf (T, Int32) | Pesquisa o objeto especificado e retorna o índice baseado em zero da primeira ocorrência dentro do intervalo de elementos na Lista (T) que se estende do índice especificado ao último elemento. |
IndexOf (T, Int32, Int32) | Pesquisa o objeto especificado e retorna o índice baseado em zero da primeira ocorrência dentro do intervalo de elementos na Lista (T) que começa no índice especificado e contém o número especificado de elementos. |
Inserir | Insere um elemento na Lista (T) no índice especificado. |
InsertRange | Insere os elementos de uma coleção na Lista (T) no índice especificado. |
LastIndexOf (T) | Pesquisa o objeto especificado e retorna o índice baseado em zero da última ocorrência em toda a Lista (T). |
LastIndexOf (T, Int32) | Pesquisa o objeto especificado e retorna o índice baseado em zero da última ocorrência dentro do intervalo de elementos na Lista (T) que se estende do primeiro elemento ao índice especificado. |
LastIndexOf (T, Int32, Int32) | Pesquisa o objeto especificado e retorna o índice baseado em zero da última ocorrência dentro do intervalo de elementos na Lista (T) que contém o número especificado de elementos e termina no índice especificado. |
MemberwiseClone | Cria uma cópia superficial do objeto atual. (Herdado do objeto.) |
Remover | Remove a primeira ocorrência de um objeto específico da Lista (T). |
Deletar tudo | Remove todos os elementos que correspondem às condições definidas pelo predicado especificado. |
RemoveAt | Remove o elemento no índice especificado da Lista (T). |
RemoveRange | Remove uma série de elementos da Lista (T). |
Reverter() | Inverte a ordem dos elementos em toda a Lista (T). |
Reverso (Int32, Int32) | Inverte a ordem dos elementos no intervalo especificado. |
Ordenar() | Classifica os elementos em toda a Lista (T) usando o comparador padrão. |
Classificar (comparação (T)) | Classifica os elementos em toda a Lista (T) usando o Sistema especificado. Comparação (T). |
Classificar (IComparer (T)) | Classifica os elementos em toda a Lista (T) usando o comparador especificado. |
Sort (Int32, Int32, IComparer (T)) | Classifica os elementos em um intervalo de elementos em List (T) usando o comparador especificado. |
ToArray | Copia os elementos da Lista (T) para uma nova matriz. |
Para sequenciar | Retorna uma string que representa o objeto atual. (Herdado do objeto.) |
TrimExcess | Define a capacidade para o número real de elementos na Lista (T), se esse número for menor que um valor limite. |
TrueForAll | Determina se cada elemento na Lista (T) corresponde às condições definidas pelo predicado especificado. |
Exemplo
(* Creating a List *)
open System.Collections.Generic
let booksList = new List<string>()
booksList.Add("Gone with the Wind")
booksList.Add("Atlas Shrugged")
booksList.Add("Fountainhead")
booksList.Add("Thornbirds")
booksList.Add("Rebecca")
booksList.Add("Narnia")
printfn"Total %d books" booksList.Count
booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index])
booksList.Insert(2, "Roots")
printfn("after inserting at index 2")
printfn"Total %d books" booksList.Count
booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index])
booksList.RemoveAt(3)
printfn("after removing from index 3")
printfn"Total %d books" booksList.Count
booksList |> Seq.iteri (fun index item -> printfn "%i: %s" index booksList.[index])
Quando você compila e executa o programa, ele produz a seguinte saída -
Total 6 books
0: Gone with the Wind
1: Atlas Shrugged
2: Fountainhead
3: Thornbirds
4: Rebecca
5: Narnia
after inserting at index 2
Total 7 books
0: Gone with the Wind
1: Atlas Shrugged
2: Roots
3: Fountainhead
4: Thornbirds
5: Rebecca
6: Narnia
after removing from index 3
Total 6 books
0: Gone with the Wind
1: Atlas Shrugged
2: Roots
3: Thornbirds
4: Rebecca
5: Narnia