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 .
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:
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() .
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:
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. |