logo

Diferença entre conjunto e mapa em Java

Em Java, Definir e Mapa são duas interfaces importantes disponíveis na estrutura de coleção. As interfaces Set e Map são usadas para armazenar uma coleção de objetos como uma única unidade. A principal diferença entre Definir e Mapa é aquele Definir é desordenado e contém elementos diferentes, enquanto Mapa contém os dados no par chave-valor.

Nesta seção, discutiremos a interface Set e Map em detalhes e também veremos as diferenças entre eles.

inteiro para dobrar java

Definir interface

O java.util pacote fornece o Definir interface. Set é implementado estendendo a interface de coleção. Não nos permite adicionar o mesmo elemento a ele. Não mantém a ordem de inserção porque contém elementos de forma ordenada. Para projetar o conjunto matemático, usamos o conjunto interface em Java .

Definir vs Mapa em Java

Vamos implementar a interface Set em um Java programa.

SetExample.java

 import java.util.*; public class SetExample{ public static void main(String[] args) { // creating LinkedHashSet implementation using the Set Set marvel_movies = new LinkedHashSet(); marvel_movies.add('Captain Marvel'); marvel_movies.add('Thor: Ragnarok'); marvel_movies.add('Captain America: The Winter Soldier'); marvel_movies.add('Ant-Man and the Wasp'); System.out.println(marvel_movies); } } 

Saída:

Definir vs Mapa em Java

Interface do mapa

Mapa é outra interface importante disponível na interface Collection. Então, para usar o Mapa interface, temos que estender a interface Collection. Assim como Definir, Mapa também é usado para armazenar coleções de objetos como uma única unidade. Cada objeto é armazenado em um par chave-valor. Podemos acessar facilmente o valor usando apenas a chave porque cada valor está associado a um valor único.

troca de memória

Podemos facilmente pesquisar, atualizar ou excluir o elemento usando o Mapa. Mapa e ClassificadoMapa são as duas interfaces, e ÁrvoreMapa , LinkedHashMap , e HashMap existem três classes de mapa.

Se precisarmos percorrer um Mapa, teremos que convertê-lo em Conjunto porque o Mapa não pode ser percorrido. Depois de convertê-lo em Set, podemos percorrê-lo usando os métodos Set como conjunto de chaves() e conjunto de entrada() .

Definir vs Mapa em Java

Vamos entender como podemos criar um mapa em Java tomando um exemplo.

como desativar o modo de desenvolvedor no Android

MapExample.java

 import java.util.LinkedHashMap; public class MapExample { public static void main(String[] args) { // Creating an empty Linked Hash Map LinkedHashMap students = new LinkedHashMap(); // Adding data to Linked Hash Map in key-value pair students.put(101, 'Aaliyah'); students.put(102, 'Taylor'); students.put(103, 'Zayn'); students.put(104, 'Sabrina'); students.put(105, 'Paul'); // Showing size and data of the Linked Hash Map System.out.println('The size of the Linked Hash Map is:- '+ students.size()); System.out.println(students); // Checking whether a certaint key is available or not if (students.containsKey(105)) { String name = students.get(105); System.out.println('The name of the student having Id 105 is:- ' + name); } } } 

Saída:

Definir vs Mapa em Java

Diferença entre interfaces de conjunto e mapa

Ambas as interfaces são usadas para armazenar a coleção de objetos como uma única unidade. A principal diferença entre Set e Map é que Set contém apenas elementos de dados, e o Map contém os dados no par chave-valor, então Map contém a chave e seu valor.

Agora, vamos entender algumas diferenças importantes entre os dois.

Sim não. Definir Mapa
1. Set é usado para construir o conjunto matemático em Java. Map é usado para fazer mapeamento no banco de dados.
2. Não pode conter valores repetidos. Pode ter o mesmo valor para chaves diferentes.
3. Set não nos permite adicionar os mesmos elementos nele. Cada classe que implementa a interface Set contém apenas o valor exclusivo. O mapa contém chave exclusiva e valores repetidos. No Map, uma ou mais chaves podem ter os mesmos valores, mas duas chaves não podem ser iguais.
4. Podemos iterar facilmente os elementos Set usando o método keyset() e o método Entryset() dele. Os elementos do mapa não podem ser iterados. Precisamos converter Map em Set para iterar os elementos.
5. O pedido de inserção não é mantido pela interface Set. Porém, algumas de suas classes, como LinkedHashSet, mantêm a ordem de inserção. O pedido de inserção também não é mantido pelo Mapa. No entanto, algumas das classes Map como TreeMap e LinkedHashMap fazem o mesmo.