logo

Diferencia entre matriz y ArrayList

En Java, formación y Lista de arreglo son las conocidas estructuras de datos. Una matriz es una funcionalidad básica proporcionada por Java, mientras que Lista de arreglo es una clase del marco de colecciones de Java. Pertenece a java.util paquete.

Matriz Java

Un formación es un objeto creado dinámicamente. Sirve como un contenedor que contiene un número constante de valores del mismo tipo. Tiene una ubicación de memoria contigua. Una vez que se crea una matriz, no podemos cambiar su tamaño. Podemos crear una matriz usando la siguiente declaración:

 int array[]=new int[size]; 

La declaración anterior crea una matriz del tamaño especificado. Cuando intentamos agregar más de su tamaño, arroja ArrayIndexOutOfBoundsExcepción . Por ejemplo:

 int arr[]=new int[3]; //specified size of array is 3 //adding 4 elements into array arr[0]=12; arr[1]=2; arr[2]=15; arr[3]=67; 

Clase Java ArrayList

En Java, Lista de arreglo es una clase de marco de Colecciones. implementa Lista, Colección, Iterable, Clonable, Serializable , y Acceso aleatorio interfaces. se extiende ResumenLista clase.

Podemos crear una instancia de ArrayList usando la siguiente declaración:

 ArrayList arrayList=new ArrayList(); 

ArrayList está respaldado internamente por la matriz en Java. La operación de cambio de tamaño en ArrayList ralentiza el rendimiento, ya que implica una nueva matriz y la copia de contenido de una matriz antigua a una matriz nueva. Llama al método implementado nativo. System.arraycopy(seg, srcPos, dest, destPos, longitud) .

No podemos almacenar tipos primitivos en ArrayList. Por lo tanto, almacena sólo objetos. Convierte automáticamente el tipo primitivo en objeto. Por ejemplo, hemos creado un objeto ArrayList,

 ArrayList list=new ArrayList(); //object of ArrayList arrayObj.add(12); //trying to add integer primitive to the ArrayList 

La JVM lo convierte en un objeto entero mediante el boxeo automático.

 ArrayList arrayObj=new ArrayList()//object of ArrayList arrayObj(new Integer(12)); //converts integer primitive to Integer object and added to ArrayList object 

Similitudes

  • Tanto Array como ArrayList se utilizan para almacenar elementos.
  • Tanto Array como ArrayList pueden almacenar valores nulos.
  • Pueden tener valores duplicados.
  • No conservan el orden de los elementos.

La siguiente tabla describe las diferencias clave entre matriz y ArrayList:

Base Formación Lista de arreglo
Definición Un formación es un objeto creado dinámicamente. Sirve como un contenedor que contiene un número constante de valores del mismo tipo. Tiene una ubicación de memoria contigua. El Lista de arreglo es una clase de Java Colecciones estructura. Contiene clases populares como Vector, tabla hash , y HashMap .
Dinámica estática La matriz es estático en tamaño. ArrayList es dinámica en tamaño.
Redimensionable Una matriz es una longitud fija estructura de datos. ArrayList es un Longitud variable estructura de datos. Se puede cambiar su tamaño cuando sea necesario.
Inicialización Es obligatorio proporcionar el tamaño de una matriz al inicializarla directa o indirectamente. Podemos crear una instancia de ArrayList sin especificar su tamaño. Java crea ArrayList de tamaño predeterminado.
Actuación realiza rápido en comparación con ArrayList debido a su tamaño fijo. ArrayList está respaldado internamente por la matriz en Java. La operación de cambio de tamaño en ArrayList ralentiza el rendimiento.
Tipo primitivo/genérico Una matriz puede almacenar ambos objetos y primitivos tipo. No podemos almacenar primitivo escriba ArrayList. Convierte automáticamente el tipo primitivo en objeto.
Valores iterantes Usamos para bucle o para cada bucle para iterar sobre una matriz. Usamos un iterador para iterar sobre ArrayList.
Tipo de seguridad No podemos usar genéricos junto con una matriz porque no es un tipo de matriz convertible. ArrayList nos permite almacenar sólo genérico/ type, es por eso que es seguro para escribir.
Longitud La matriz proporciona una longitud variable que denota la longitud de una matriz. ArrayList proporciona la tamaño() Método para determinar el tamaño de ArrayList.
Agregar elementos Podemos agregar elementos en una matriz usando el asignación operador. Java proporciona la agregar() Método para agregar elementos en ArrayList.
Unidimensional/Multidimensional la matriz puede ser multidimensional . ArrayList es siempre unidimensional .

Ejemplo de matriz en Java

En el siguiente ejemplo, simplemente hemos creado una matriz de longitud cuatro.

 public class ArrayExample { public static void main(String args[]) { //creating an array of integer type int arr[]=new int[4]; //adding elements into array arr[0]=12; arr[1]=2; arr[2]=15; arr[3]=67; for(int i=0;i <arr.length;i++) { system.out.println(arr[i]); } < pre> <p> <strong>Output:</strong> </p> <pre> 12 2 15 67 </pre> <h2>Example of ArrayList in Java</h2> <p>In the following example, we have created an instance of ArrayList and performing iteration over the ArrayList.</p> <pre> import java.util.*; public class ArrayListExample { public static void main(String args[]) { //creating an instance of ArrayList List list = new ArrayList(); //adding element to arraylist list.add(12.4f); list.add(34.6f); list.add(56.8f); list.add(78.9f); //iteration over ArrayList using for-each loop for(Float f:list) { System.out.println(f); } } } </pre> <p> <strong>Output:</strong> </p> <pre> 12.4 34.6 56.8 78.9 </pre> <hr></arr.length;i++)>

Ejemplo de ArrayList en Java

En el siguiente ejemplo, hemos creado una instancia de ArrayList y realizamos una iteración sobre ArrayList.

 import java.util.*; public class ArrayListExample { public static void main(String args[]) { //creating an instance of ArrayList List list = new ArrayList(); //adding element to arraylist list.add(12.4f); list.add(34.6f); list.add(56.8f); list.add(78.9f); //iteration over ArrayList using for-each loop for(Float f:list) { System.out.println(f); } } } 

Producción:

Actor Rekha
 12.4 34.6 56.8 78.9