Diferencia entre ArrayList y Array en C # (con tabla)
En C #, se sabe que array y ArrayList son los tipos de datos más utilizados. Una matriz es la funcionalidad básica del lenguaje de programación C #, mientras que Arraylist en C # es una colección.
Tanto Array como ArrayList se utilizan para almacenar datos y no existe ninguna restricción sobre ningún tipo de datos para almacenar.
Una diferencia importante entre Array y ArrayList es que la matriz almacena datos del mismo tipo de tipo de datos, mientras que las listas de matrices pueden almacenar datos de diferentes tipos de datos.
Para acceder a los datos de ArrayList, es necesario hacer un bucle con el objeto, mientras que en una matriz puede acceder fácilmente a ellos sin ningún objeto.
Tabla de comparación entre ArrayList y Array en C # (en forma tabular)
Tipo | ArrayList es de tipo no genérico | Array está fuertemente tipado. Solo se pueden almacenar valores del mismo tipo de datos |
Numero de elementos | Es dinámico, por lo que se puede almacenar cualquier número de tipos de datos. | Solo se puede agregar un número fijo de elementos |
actuación | Degrada el rendimiento ya que se usa boxeo y unboxing | Tiene mejor desempeño. |
Valor nulo | Puede aceptar valor NULO | No lo hace |
Clase | Utiliza clase estática | Utiliza el espacio de nombres System.collection |
¿Qué es ArrayList en C #?
Las listas de matrices se inicializan mediante la interfaz de listas. Se considera uno de los datos más flexibles en el lenguaje C3. Una colección en lenguajes de programación es una clase especial que almacena los datos y permite a los programadores recuperarlos.
- ArrayList no tiene ningún tamaño fijo, el tamaño de la memoria es dinámico y puedes cambiarlo cuando quieras. En caso de que un codificador haya iniciado la memoria para 4 elementos, entonces se puede agregar un elemento más.
- En la lista de matrices, el tamaño aumenta con un valor de 2 ^ n. Además, ArrayList no es genérico, lo que nos permite almacenar elementos de diferentes tipos de datos.
- Algunas de las funciones importantes para lista de matrices son RemoveAt (), Remove (), Insert () y Add ().
- Además, puede almacenar el elemento nulo.
Ejemplo
Usando System.collection;
ArrayList a = new ArrayList ();
a.add (1, «hola»);
a.add (4);
a.add (8,23);
a.add (nulo);
Algunas de las funciones que se utilizan para interactuar con los datos almacenados en la lista de matrices.
- Add (): se usa para agregar elementos en ArrayList.
- insert (): se utiliza para insertar elementos en el índice específico en ArrayList.
- Remove (): se usa para eliminar un solo elemento,
- RemoveAt (): se usa para eliminar elementos específicos en ArrayList.
ArrayList en C #
¿Qué es Array en C #?
Array es un tipo de datos en el que un programador puede almacenar datos del mismo tipo y longitud fija. El valor de longitud y datos no se puede cambiar durante el tiempo de ejecución. Todos los elementos de la matriz reciben un valor de índice y el índice de la matriz es cero.
Por tanto, el valor predeterminado es cero del índice del primer elemento de la matriz. La sintaxis para declarar y definir la matriz en C # es la siguiente. Dado que la matriz es un tipo de datos de referencia, su memoria se asigna en la memoria del montón.
En t[] array = nuevo int[] {10,20,30,40};
10 20 30 40 datos
0 1 2 3 Índices
Algunos puntos importantes sobre las matrices.
- La matriz es de tamaño fijo y está fuertemente tipada. Esto significa que, por ejemplo, si crea una matriz de valores enteros, puede almacenar cadenas.
- Dado que no hay unboxing o boxing de datos, ofrece un mejor rendimiento.
Matriz en C #
Principales diferencias entre ArrayList y Array en C #
- El tamaño de la matriz es fijo y contiene la colección secuencial de todos los elementos del mismo tipo. Mientras que el tamaño de la lista de matrices no es fijo y aumenta con 2 ^ n.
- La dimensión de la matriz y la longitud de cada dimensión se inicializan cuando se crea la matriz. Durante el tiempo de ejecución, no es posible cambiar el valor de la longitud de la matriz. Para ArrayList, el valor de la longitud de la lista de matrices se puede cambiar dinámicamente.
- El índice del primer elemento en la matriz 0 y el índice del último elemento es n-1 donde n es la longitud del tamaño de la matriz.
- ArrayList contiene elementos de diferentes tipos de datos, mientras que la matriz contiene datos de tipos de datos similares. Por ejemplo, si Array es de tipo entero, solo se pueden almacenar enteros en la matriz.
- Array es un tipo de datos fuertemente tipado y su eficiencia es mejor que ArrayList. Dado que en Arraylist se necesita unboxing y boxing, es menos eficiente.
- El tamaño de ArrayList aumenta automáticamente, por lo que debe dar cualquier tamaño.
Conclusión
Array y Arraylist son los tipos de datos que permiten al desarrollador almacenar varios elementos del mismo tipo de datos en Array y diferentes tipos de datos en la lista de arreglos. Varios desarrolladores usan Arraylist ya que Arraylist tiene diferentes métodos que no están en ningún otro tipo de datos como Repeat (), Reverse (), BinarySearch y muchos más.
Array se considera un tipo de datos de tamaño fijo y se puede acceder a él fácilmente, mientras que en ArrayList uno necesita usar un objeto y usar el operador de punto para acceder a los elementos almacenados en el tipo de datos.
Bueno, si un desarrollador necesita almacenar el mismo tipo de elemento y necesita tener un tamaño fijo, entonces debería usar una matriz, de lo contrario, debería usar una ArrayList.
Ambos hacen el mismo trabajo de almacenar los elementos, pero la principal diferencia es el tamaño fijo y el tamaño dinámico. Entonces, si desea almacenar diferentes tipos de datos, como null, char o cualquier otro, debe usar ArrayList ya que es un tipo de datos no genérico.
Mientras que si desea restringir a un usuario para que inserte diferentes tipos de datos en una estructura de datos, entonces debe usar una matriz, ya que solo permite insertar el mismo tipo de tipo de datos en una matriz.
Nube de palabras para la diferencia entre ArrayList y Array en C #
La siguiente es una recopilación de los términos más utilizados en este artículo sobre ArrayList y Array en C #. Esto debería ayudar a recordar términos relacionados tal como se utilizan en este artículo en una etapa posterior.
Nube de palabras para ArrayList y Array en C #
Referencias
- Clase ArrayList (System.Collections) | Documentos de Microsoft
- https://www.itu.dk/research/c5/latest/ITU-TR-2006-76.pdf
Intente el cuestionario de TI