Red de conocimiento del abogados - Ley de patentes - Expansión de ArrayList y LinkedList

Expansión de ArrayList y LinkedList

Todos sabemos que las matrices no se pueden expandir y ArrayList se puede expandir, pero la capa inferior de ArrayList es una matriz.

1. Pasos para implementar la expansión ArrayList

1. Expansión: Copie la matriz original a otra matriz con un espacio de memoria mayor

2 .Agregue elementos: Agregue nuevos elementos a la matriz expandida.

2. Análisis del código fuente

Atributos clave:

Analizar los tres métodos de construcción de ArrayList:

Métodos de análisis comunes:

¿Cuál es el mecanismo de expansión de LinkedList?

1.LinkedList es una lista doblemente enlazada heredada de AbstractSequentialList.

2. Dado que su capa inferior se implementa mediante una lista doblemente enlazada, no hay tamaño de inicialización, por lo que no hay ningún mecanismo de expansión de aceite. Solo es necesario agregarlo en la parte delantera o trasera.

La diferencia entre los dos:

La interfaz de nivel superior de ambos es Collection.

ArrayList se implementa en función de matrices y tiene una velocidad de consulta más rápida. Es una lista doblemente enlazada, se puede insertar desde el principio o desde el final, por lo que es más rápido de agregar y eliminar, y se basa en una estructura de almacenamiento en cadena.

LinkedList es un espacio discreto, por lo que no es necesario expandirlo activamente, mientras que ArrayList es un espacio continuo cuando el espacio de memoria es insuficiente, se expandirá activamente.

Ninguno de los dos es seguro para subprocesos

Materiales de referencia:

Principio básico de expansión de ArrayList de Java

Para obtener una explicación detallada de ArrayList, lea esto artículo Suficiente