logo

Rozdiel medzi Set a Map v Jave

v Jave Set a Mapa sú dve dôležité rozhrania dostupné v rámci kolekcie. Rozhrania Set aj Map sa používajú na uloženie kolekcie objektov ako jednej jednotky. Hlavný rozdiel medzi Set a Mapa je to? Set je neusporiadaný a obsahuje rôzne prvky, pričom Mapa obsahuje údaje v páre kľúč – hodnota.

V tejto časti budeme podrobne diskutovať o rozhraní Set a Map a tiež uvidíme rozdiely medzi nimi.

názov kozmetických produktov

Nastaviť rozhranie

The java.util balík poskytuje Set rozhranie. Set je implementovaný rozšírením zberného rozhrania. Nedovoľuje nám pridať do nej rovnaký prvok. Neuchováva poradie vloženia, pretože obsahuje prvky zoradené spôsobom. Na návrh matematickej množiny používame množinu rozhranie v jazyku Java .

Set vs Map v Jave

Implementujme rozhranie Set v a Java program.

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); } } 

Výkon:

Set vs Map v Jave

Rozhranie mapy

Mapa je ďalšie dôležité rozhranie dostupné v rozhraní kolekcie. Takže, aby ste mohli použiť Mapa rozhranie, musíme rozšíriť rozhranie kolekcie. Rovnako ako Set, Mapa sa používa aj na uloženie zbierky predmetov ako jedného celku. Každý objekt je uložený v páre kľúč – hodnota. K hodnote môžeme ľahko pristupovať iba pomocou kľúča, pretože každá hodnota je spojená s jedinečnou hodnotou.

reťazec na jsonobject

Pomocou mapy môžeme jednoducho vyhľadávať, aktualizovať alebo mazať prvok. Mapa a SortedMap sú dve rozhrania a Stromová mapa , LinkedHashMap , a HashMap sú tri triedy máp.

Ak potrebujeme prejsť cez mapu, musíme ju previesť na Set, pretože mapu nemožno prechádzať. Po prevedení na Set ho môžeme prechádzať pomocou Set metód ako keySet() a entrySet() .

ostrý uhol
Set vs Map v Jave

Poďme pochopiť, ako môžeme vytvoriť mapu v Jave na príklade.

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); } } } 

Výkon:

Set vs Map v Jave

Rozdiel medzi Set a Map Interfaces

Obe rozhrania sa používajú na uloženie kolekcie objektov ako jedného celku. Hlavný rozdiel medzi množinou a mapou je v tom, že množina obsahuje iba dátové prvky a mapa obsahuje dáta v páre kľúč – hodnota, takže mapa obsahuje kľúč a jeho hodnotu.

Teraz pochopme niektoré hlavné rozdiely medzi nimi.

Áno nie. Set Mapa
1. Sada sa používa na zostavenie matematickej sady v jazyku Java. Mapa sa používa na mapovanie v databáze.
2. Nemôže obsahovať opakované hodnoty. Môže mať rovnakú hodnotu pre rôzne kľúče.
3. Sada nám neumožňuje pridať do nej rovnaké prvky. Každá trieda, ktorá implementuje rozhranie Set, obsahuje iba jedinečnú hodnotu. Mapa obsahuje jedinečný kľúč a opakované hodnoty. V mape môže mať jeden alebo viacero kľúčov rovnaké hodnoty, ale dva kľúče nemôžu byť rovnaké.
4. Prvky Set môžeme jednoducho iterovať pomocou metódy keyset() a jej metódy entryset(). Prvky mapy nie je možné opakovať. Na iteráciu prvkov musíme previesť Mapu na Set.
5. Objednávka vloženia nie je udržiavaná rozhraním Set. Niektoré z jeho tried, napríklad LinkedHashSet, však zachovávajú poradie vloženia. Mapa tiež neudržiava objednávku vloženia. Niektoré triedy máp ako TreeMap a LinkedHashMap však robia to isté.