logo

Diferença entre Array e ArrayList

Em Java, variedade e ListaArray são as estruturas de dados bem conhecidas. Um array é uma funcionalidade básica fornecida por Java, enquanto ListaArray é uma classe da estrutura Java Collections. Isso pertence a java.util pacote.

Matriz Java

Um variedade é um objeto criado dinamicamente. Ele serve como um contêiner que contém um número constante de valores do mesmo tipo. Possui um local de memória contíguo. Depois que um array é criado, não podemos alterar seu tamanho. Podemos criar um array usando a seguinte instrução:

 int array[]=new int[size]; 

A instrução acima cria um array do tamanho especificado. Quando tentamos adicionar mais do que seu tamanho, isso lança Índice de matriz fora dos limites de exceção . Por exemplo:

 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; 

Classe ArrayList Java

Em Java, ListaArray é uma classe de estrutura de coleções. Ele implementa Lista, coleção, iterável, clonável, serializável , e Acesso aleatório interfaces. Ele se estende Lista Abstrata aula.

Podemos criar uma instância de ArrayList usando a seguinte instrução:

 ArrayList arrayList=new ArrayList(); 

ArrayList é apoiado internamente pelo array em Java. A operação de redimensionamento em ArrayList diminui o desempenho, pois envolve um novo array e a cópia do conteúdo de um array antigo para um novo array. Ele chama o método nativo implementado System.arraycopy(sec,srcPos,dest,destPos,comprimento) .

Não podemos armazenar tipos primitivos em ArrayList. Portanto, ele armazena apenas objetos. Ele converte automaticamente o tipo primitivo em objeto. Por exemplo, criamos um objeto ArrayList,

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

A JVM o converte em objeto Inteiro por meio de boxe automático.

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

Semelhanças

  • Array e ArrayList são usados ​​para armazenar elementos.
  • Array e ArrayList podem armazenar valores nulos.
  • Eles podem ter valores duplicados.
  • Eles não preservam a ordem dos elementos.

A tabela a seguir descreve as principais diferenças entre array e ArrayList:

Base Variedade ListaArray
Definição Um variedade é um objeto criado dinamicamente. Ele serve como um contêiner que contém um número constante de valores do mesmo tipo. Possui um local de memória contíguo. O ListaArray é uma classe de Java Coleções estrutura. Ele contém classes populares como Vetor, HashTable , e HashMap .
Estático/ Dinâmico Matriz é estático no tamanho. ArrayList é dinâmico no tamanho.
Redimensionável Uma matriz é um comprimento fixo estrutura de dados. ArrayList é um comprimento variável estrutura de dados. Ele pode ser redimensionado quando necessário.
Inicialização É obrigatório fornecer o tamanho de um array ao inicializá-lo direta ou indiretamente. Podemos criar uma instância de ArrayList sem especificar seu tamanho. Java cria ArrayList de tamanho padrão.
Desempenho Ele executa rápido em comparação com ArrayList devido ao tamanho fixo. ArrayList é apoiado internamente pelo array em Java. A operação de redimensionamento em ArrayList diminui o desempenho.
Tipo primitivo/genérico Um array pode armazenar ambos objetos e primitivos tipo. Não podemos armazenar primitivo digite ArrayList. Ele converte automaticamente o tipo primitivo em objeto.
Iterando Valores Nós usamos para laço ou para cada loop para iterar sobre um array. Usamos um iterador para iterar sobre ArrayList.
Segurança de tipo Não podemos usar genéricos junto com array porque não é um tipo de array conversível. ArrayList nos permite armazenar apenas genérico/ type, é por isso que é seguro para o tipo.
Comprimento Matriz fornece um comprimento variável que denota o comprimento de uma matriz. ArrayList fornece o tamanho() método para determinar o tamanho de ArrayList.
Adicionando Elementos Podemos adicionar elementos em um array usando o atribuição operador. Java fornece o adicionar() método para adicionar elementos no ArrayList.
Único/Multidimensional Matriz pode ser multidimensional . ArrayList é sempre unidimensional .

Exemplo de matriz em Java

No exemplo a seguir, simplesmente criamos um array de comprimento quatro.

 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++)>

Exemplo de ArrayList em Java

No exemplo a seguir, criamos uma instância de ArrayList e realizamos a iteração em 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); } } } 

Saída:

linguagem de computador bacana
 12.4 34.6 56.8 78.9