La diferencia entre matriz, lista y ArrayList
1. Array
Ventajas: continuo en memoria, rápido y sencillo de operar.
Desventajas: al definir una matriz, es necesario definir su longitud, que no es muy flexible. Si es demasiado larga o demasiado corta, causará problemas. Es inconveniente agregar, insertar y eliminar datos.
Por ejemplo: int [] i=nuevo int[2];
i[0]=111;
i[1]=123;/ / Asignación
i[1]=1234;//Modificación 2, colección ArrayList
Ventajas: parte del espacio de nombres System.Collections. El tamaño se expande y contrae dinámicamente. No es necesario especificar la longitud de un objeto ArrayList al declararlo. ArrayList hereda la interfaz IList y puede agregar, insertar y eliminar datos fácilmente.
Desventajas: después de insertar diferentes tipos de datos en la colección (ArrayList almacena datos como objetos), es probable que se produzcan errores de discrepancia de tipos durante los datos. Se requiere procesamiento de conversión de tipos al usarlo. Hay operaciones de boxeo y desempaquetado, lo que provoca una gran pérdida de rendimiento.
Por ejemplo: ArrayList lista = new ArrayList();
list.Add("aa");
list.Add(11); p >
list[1] = 123;//Modificar
Eliminar list.Remove(123);
list.RemoveAt(0); 3. Lista genérica
p>Ventajas: Es similar a la colección ArrayList y hereda la interfaz IList Al declarar la colección List, también se debe declarar el tipo de objeto de los datos internos de la colección, evitando los problemas de boxing y unboxing.
Por ejemplo: Lista
list.Add(123);
lista[0]= 111 ;//Modificar
list.RemoveAt(0);//Remove
If list.Add("abc");//El compilador informará un error para evitar el tipo Problemas de seguridad y problemas de rendimiento del boxeo y unboxing.