Qual é a diferença entre lista e conjunto
Índice:
o principal diferença entre a lista e o conjunto é que Lista armazena valores duplicados enquanto Set não armazena valores duplicados.
A linguagem de programação Java oferece suporte a coleções. Lista e Conjunto pertencem à hierarquia da coleção. Ambas são interfaces que estendem a interface de coleção. Essas interfaces fornecem métodos como adicionar, remover, limpar, tamanho, etc. para executar operações na coleção.
Principais áreas cobertas
1. O que é lista - Definição, Funcionalidade 2. O que está definido - Definição, Funcionalidade 3. Qual é a diferença entre lista e conjunto - Comparação das principais diferenças
Termo-chave
ArrayList, Coleções, HashSet, Interface, LinkedList, List, Set, Vector
O que é lista
List é uma interface filha da interface Collection. É capaz de manter os elementos na ordem inserida. Além disso, também pode conter valores duplicados. As classes ArrayList, LinkedList e Vector implementam a interface List. Os programadores podem criar instâncias de cada um da seguinte maneira.
Lista lista1 = novo ArrayList ();
Lista lista2 = nova LinkedList ();
Lista lista3 = novo vetor ();
Também é possível armazenar um tipo específico de objetos usando Genéricos. A sintaxe é a seguinte.
Lista lista = nova lista ();
O Obj se refere ao tipo de Objetos que a lista pode armazenar. Por exemplo,
Lista lista1 = novo ArrayList ();
O list1 é um ArrayList que armazena objetos do tipo Integer. A mesma teoria pode ser aplicada a outros tipos de lista, como LinkedList e Vector.
ArrayList não fornece segurança de thread. Portanto, acessar o mesmo ArrayList de vários threads pode causar inconsistência nos dados. Em LinkedList, os elementos podem se conectar uns aos outros nas direções para frente e para trás. Além disso, Vector é semelhante a um ArrayList, mas fornece segurança de thread.
Um exemplo de programa é o seguinte.
Figura 1: programa Java com ArrayList
Letters é um objeto de ArrayList. O método add ajuda a inserir elementos na ArrayList. O iterador () retorna o iterador para o início da coleção. O loop while chama o método hasNext () em cada iteração. Ele retornará verdadeiro enquanto houver elementos disponíveis na coleção. Dentro do loop, o método next () ajuda a obter o próximo item de dados na coleção. O System.out.println exibe o elemento no console.
Ao observar a saída, podemos ver que a ArrayList mantém a ordem dos dados inseridos. Além disso, a letra “m” é inserida duas vezes. ArrayList contém ambos m. Portanto, List armazena valores duplicados.
O que está definido
Set é uma interface filha da interface Collection. Não suporta elementos duplicados. Portanto, ele mantém um conjunto único de elementos. As classes HashSet, LinkedHashSet e TreeSet implementam a interface Set. Os programadores podem criar instâncias de cada um da seguinte maneira.
Definir set1 = novo HashSet ();
Definir set2 = novo LinkedHashSet ();
Definir set3 = novo TreeSet ();
Também é possível permitir o armazenamento de tipos específicos de objetos usando Genéricos. A sintaxe é a seguinte.
Set set = new Set ();
O Obj se refere ao tipo de Objetos que o conjunto pode armazenar.
Por exemplo,
Definir set1 = novo HashSet ();
O set1 é um HashSet que armazena objetos do tipo Inteiro. A mesma teoria pode ser aplicada a outros tipos de conjuntos, como LinkedHashSet e TreeSet.
As classes HashSet, LinkedHashSet e TreeSet implementam a interface Set. O HashSet não mantém a ordem dos dados inseridos. Um LinkedHashSet mantém a ordem dos dados inseridos. Além disso, TreeSet não mantém a ordem dos dados inseridos, mas armazena os elementos de maneira ordenada. Um exemplo de programa é o seguinte.
Figura 2: programa Java com HashSet
As letras são um objeto do HashSet. O método add ajuda a inserir elementos no HashSet. Este programa também contém os métodos iterator (), hasNext () e next () como o programa acima.
Ao observar a saída, podemos ver que o HashSet não mantém a ordem dos dados inseridos. Além disso, a letra “m” é inserida duas vezes, mas contém apenas um m. Portanto, Set não armazena valores duplicados.
Diferença entre lista e conjunto
Definição
Interface de lista é uma subinterface de Coleção que contém métodos para realizar operações como inserir e excluir com base no índice. Considerando que Set Interface é uma subinterface de Collection que contém métodos para realizar operações como inserir e excluir elementos enquanto mantém elementos exclusivos. Portanto, esta é a diferença fundamental entre Lista e Conjunto.
Duplicação
A principal diferença entre List e Set é que List armazena valores duplicados, enquanto Set não armazena valores duplicados.
Aulas
ArrayList, LinkedList e Vector implementam a interface List, enquanto as classes HashSet, LinkedHashSet e TreeSet implementam a interface Set.
ListIterator
Valores Nulos
Além disso, outra diferença entre List e Set são os valores nulos. List pode ter muitos valores nulos, enquanto Set pode ter apenas um único valor nulo.
Conclusão
Lista e Conjunto são duas interfaces na hierarquia da Coleção. A principal diferença entre List e Set é que List armazena valores duplicados, enquanto Set não armazena valores duplicados. Em outras palavras, Lista pode ter o mesmo elemento várias vezes, enquanto um conjunto contém apenas os elementos exclusivos.
Referência:
1. “Lista de interface em Java com exemplos.” GeeksforGeeks, 26 de novembro de 2018, disponível aqui.2. “Definir em Java.” GeeksforGeeks, 11 de dezembro de 2018, disponível aqui.
![Qual é a diferença entre lista e conjunto Qual é a diferença entre lista e conjunto](https://img.books-kingdom.com/images/002/image-5100.jpg)