A Coleção Java fornece uma arquitetura para lidar com o grupo de objetos. A coleção significa uma única unidade de objetos. Permite-nos armazenar e manipular o grupo de objetos como uma única unidade.
Podemos realizar facilmente muitas operações, como pesquisa, classificação, inserção, exclusão e manipulação em um grupo de objetos usando a estrutura de coleção.
A estrutura Java Collection fornece várias interfaces e classes. As interfaces contêm Definir, Lista , Fila, Deque , e as classes contêm ListaArray , Vetor , Lista vinculada , HashSet , Conjunto de árvores , LinkedHashSet , e Fila de prioridade .
peso de kat timpf
Nesta seção, diferenciaremos dois elementos do Estrutura de coleção , que é Lista e ArrayList. A Lista é uma interface e ArrayList é uma classe.
Interface de lista
A Lista é uma interface filha do framework Collection que nos permite manter a coleção ordenada dos objetos. Podemos armazenar os valores duplicados e elementos nulos usando List. Ele fornece um método baseado em índice para executar operações de inserção, exclusão, pesquisa e atualização nos objetos.
A interface List ocorre no pacote java.util. Ele implementa as classes ArrayList, LinkedList, Stack e Vector. É também uma base de classes ListIterator com as quais podemos iterar a Lista nas direções para frente e para trás.
A interface de lista fornece acesso posicional e inserção de elementos e preserva a ordem de inserção. A instância da Lista pode ser criada usando as classes de implementação.
Implementação da lista:
Podemos implementar a interface List usando ArrayList, LinkedList, Vector e Classes de pilha .
Para instanciar a interface List, podemos usar as seguintes sintaxes:
List list1= new ArrayList(); List list2 = new LinkedList(); List list3 = new Vector(); List list4 = new Stack();
Considere o exemplo abaixo de lista:
import java.util.*; public class JavaListExample { public static void main(String[] args) { List l = new ArrayList(); //Implementation of List l using ArrayList class l.add('Hello'); //adding objects l.add('Java'); l.add('Tpoint'); System.out.println(l); } }
Saída:
programação java números primos
[Hello, Java, Tpoint]
Classe ArrayList
A classe ArrayList usa um array dinâmico para armazenar os elementos. A classe ArrayList atua como um array, mas não há limite de tamanho. Podemos adicionar ou remover os elementos sempre que quisermos. Podemos armazenar o elemento duplicado usando a classe ArrayList. Ele gerencia a ordem de inserção internamente.
A classe ArrayList é muito mais flexível que o array tradicional. Ele implementa a interface List para usar todos os métodos da Interface List. Acontece em Java Pacote .util.
A classe ArrayList herda a classe AbstractList e implementa a interface List. Os elementos dele podem ser acessados aleatoriamente. Não pode ser usado para tipos primitivos como int, char, etc.; para esses tipos de dados, precisamos de uma classe wrapper.
Implementação de ArrayList:
Uma classe ArrayList herda todos os métodos da classe AbstractList e implementa a interface List.
A classe ArrayList pode ser declarada da seguinte forma:
public class ArrayList extends AbstractList implements List, RandomAccess, Cloneable, Serializable
ArrayList pode ser definido da seguinte forma:
ArrayList myList = new ArrayList();
Considere o exemplo abaixo de ArrayList:
import java.util.*; public class JavaAL { public static void main(String[] args) { ArrayList l = new ArrayList(); //implementation of ArrayList l.add('Hello'); //adding objects l.add('Java'); l.add('Tpoint'); System.out.println(l); } }
Saída:
[Hello, Java, Tpoint]
Algumas diferenças importantes entre a interface de lista e a classe ArrayList
Algumas diferenças principais entre List e ArrayList são as seguintes:
- Uma das principais diferenças é que List é uma interface e ArrayList é uma classe da estrutura de coleção Java.
- O Lista estende a estrutura de coleção , comparativamente ArrayList estende a classe AbstractList e implementa a interface List .
- O namespace para List e ArrayList é System.Collection.Generic e System Collection, respectivamente.
- A lista armazena elementos em uma sequência e é identificada pelo número de índice individual. Comparativamente, ArrayList armazena os elementos em um array dinâmico; pode crescer quando necessário.
Quando definimos a Lista da seguinte forma:
List myList = new ArrayList();
Isso significa que só podemos chamar os métodos e membros de referência da interface List.
Se definirmos o ArrayList da seguinte forma:
scanner em java
ArrayList myList = new ArrayList();
Isso significa que podemos invocar métodos disponíveis em ArrayList e usar seus membros além de List.
Considere a tabela abaixo para algumas comparações principais entre List e ArrayList:
Base de Comparação | Lista | ListaArray |
---|---|---|
Em geral | É uma interface. | É aula. |
Trabalhar | Ele cria uma lista de objetos que podem ser acessados pelo número de índice individual. | Ele cria uma matriz dinâmica que pode ser expandida quando necessário. |
Implementação | Lista lista1= new ArrayList(); | ArrayList minhaLista = new ArrayList(); |
Estender/Implementar | Ele amplia a estrutura de coleta. | Ele estende a classe AbstractList e implementa a interface List. |
Pacote Básico | java.util | java.util |
Espaço para nome | System.Collection.Generic | Sistema.Coleção |
Desempenho | Ele fornece manipulação mais rápida de objetos. | Ele fornece manipulação lenta de objetos em comparação com List. |
Instanciação | Não pode ser instanciado. | Pode ser instanciado |
Conclusão
A Lista é uma interface e o ArrayList é uma classe da estrutura Java Collection. O List cria um array estático e o ArrayList cria um array dinâmico para armazenar os objetos. Portanto, a Lista não pode ser expandida depois de criada, mas usando ArrayList, podemos expandir o array quando necessário.
É melhor usar a Interface List se quiser aproveitar as vantagens do polimorfismo. No futuro, se formos obrigados a implementar a interface, não precisaremos alterar o programa.