Este artigo estuda principalmente as diferenças entre o ArrayList e o LinkedList e o conteúdo relevante dos cenários de uso na programação Java. Os detalhes são os seguintes.
1. Arraylist é implementado com base em uma matriz, e seu construtor é:
objeto transitório privado [] elementData; Tamanho privado int;
Quando o Arrylist é inicializado, o tamanho da matriz do elemento indica que o tamanho de 10;
Toda vez que add (), a primeira chamada evolureCapacity () para garantir que a matriz não transborque. Se estiver cheio neste momento, será expandido para 1,5 vezes + 1 do comprimento da matriz e, em seguida, usará o método da matriz.Copy para copiar a matriz original para a nova matriz;
O encadeamento Arraylist não é seguro, o método vetorial é síncrono, seguro de encadeamento;
2. O LinkedList é implementado com base em listas de ligações duplas:
Elemento de objeto; Entrada a seguir, anterior;
Durante a inicialização, há uma entrada de cabeçalho com o valor nulo;
A vantagem do uso do cabeçalho é que existe uma entrada de pré-entrada e uma entrada pós-entrada em qualquer entrada (incluindo a primeira e a última); portanto, não há um local especial para executar a operação de inserção no início ou no final do objeto LinkedList;
Use cenários:
(1) Se o aplicativo executar um grande número de operações de acesso ou exclusão em elementos em cada posição do índice, o objeto Arraylist será muito melhor que o objeto LinkedList;
(2) Se o aplicativo formar principalmente a lista e inserir ou excluir a operação durante o loop, o objeto LinkedList será muito melhor que o objeto Arraylist.
Resumir
O exposto acima é todo o conteúdo deste artigo sobre a diferença entre o ArrayList e o LinkedList e a análise do código do cenário de uso. Espero que seja útil para todos. Amigos interessados podem continuar se referindo a outros tópicos relacionados neste site. Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!