Este artículo estudia principalmente las diferencias entre ArrayList y LinkedList y el contenido relevante de escenarios de uso en la programación de Java. Los detalles son los siguientes.
1. ArrayList se implementa en función de una matriz, y su constructor es:
Objeto transitorio privado [] elementData; tamaño privado int;
Cuando se inicializa ArryList, el tamaño de la matriz ElementData es predeterminado a 10;
Cada vez que add (), primero llame a Ensurecapacity () para asegurarse de que la matriz no se desborde. Si está lleno en este momento, se expandirá a 1.5 veces + 1 de la longitud de la matriz, y luego use el método Array.copy para copiar la matriz original a la nueva matriz;
ArrayList Thread no es seguro, el método vectorial es sincrónico, seguro de hilo;
2. LinkedList se implementa en función de listas de doble enlace:
Elemento de objeto; Entrada siguiente, anterior;
Durante la inicialización, hay una entrada de encabezado con el valor nulo;
La ventaja de usar encabezado es que hay una entrada previa a la entrada y una entrada posterior a la entrada en cualquier entrada (incluida la primera y la última), por lo que no hay un lugar especial para realizar la operación de inserción al principio o al final del objeto Linkedlist;
Use escenarios:
(1) Si la aplicación realiza una gran cantidad de operaciones de acceso o eliminación en elementos en cada posición de índice, el objeto ArrayList es mucho mejor que el objeto LinkedList;
(2) Si la aplicación boquea principalmente la lista e inserta o elimina la operación durante el bucle, el objeto LinkedList es mucho mejor que el objeto ArrayList.
Resumir
Lo anterior es todo el contenido de este artículo sobre la diferencia entre ArrayList y LinkedList y el análisis del código de escenario de uso. Espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a otros temas relacionados en este sitio. Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!