Qual é a diferença entre lista e conjunto

Índice:

Anonim

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