logo

Diferența dintre set și hartă în Java

În Java, A stabilit și Hartă sunt două interfețe importante disponibile în cadrul de colecție. Ambele interfețe Set și Map sunt utilizate pentru a stoca o colecție de obiecte ca o singură unitate. Principala diferență între A stabilit și Hartă este asta A stabilit este neordonat și conține elemente diferite, în timp ce Hartă conține datele din perechea cheie-valoare.

În această secțiune, vom discuta în detaliu interfața Set și Hartă și vom vedea diferențele dintre ele.

cheie unică mysql

Setați interfața

The java.util pachetul oferă A stabilit interfață. Setul este implementat prin extinderea interfeței de colecție. Nu ne permite să-i adăugăm același element. Nu menține ordinea de inserare deoarece conține elemente într-un mod sortat. Pentru proiectarea setului matematic, folosim setul interfață în Java .

Set vs Map în Java

Să implementăm interfața Set în 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); } } 

Ieșire:

Set vs Map în Java

Interfață de hartă

Hartă este o altă interfață importantă disponibilă în interfața Collection. Deci, pentru a utiliza Hartă interfață, trebuie să extindem interfața Collection. Exact ca Setați, Hartă este, de asemenea, utilizat pentru stocarea colecțiilor de obiecte ca o singură unitate. Fiecare obiect este stocat într-o pereche cheie-valoare. Putem accesa cu ușurință valoarea folosind doar cheia, deoarece fiecare valoare este asociată cu o valoare unică.

algoritm pentru bfs

Putem căuta, actualiza sau șterge cu ușurință elementul folosind Harta. Hartă și SortedMap sunt cele două interfețe și Harta copacului , LinkedHashMap , și HashMap sunt trei clase de Hartă.

Dacă trebuie să traversăm o Hartă, trebuie să o transformăm în Set, deoarece Harta nu poate fi parcursă. După ce l-am convertit în Set, îl putem traversa folosind metodele Set cum ar fi keySet() și entrySet() .

Set vs Map în Java

Să înțelegem cum putem crea o hartă în Java luând un exemplu.

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

Ieșire:

ouă de Paște în Android
Set vs Map în Java

Diferența dintre interfețele set și map

Ambele interfețe sunt folosite pentru a stoca colecția de obiecte ca o singură unitate. Principala diferență dintre Set și Map este că Set conține doar elemente de date, iar Harta conține datele din perechea cheie-valoare, deci Map conține cheia și valoarea acesteia.

Acum, să înțelegem câteva diferențe majore între ambele.

Da nu. A stabilit Hartă
1. Setul este folosit pentru a construi setul matematic în Java. Harta este folosită pentru a face cartografierea în baza de date.
2. Nu poate conține valori repetate. Poate avea aceeași valoare pentru diferite chei.
3. Setul nu ne permite să adăugăm aceleași elemente în el. Fiecare clasă care implementează interfața Set conține doar valoarea unică. Harta conține cheie unică și valori repetate. În Map, una sau mai multe chei pot avea aceleași valori, dar două chei nu pot fi la fel.
4. Putem repeta cu ușurință elementele Set folosind keyset() și metoda entryset() a acesteia. Elementele hărții nu pot fi repetate. Trebuie să convertim Map în Set pentru a repeta elementele.
5. Ordinea de inserare nu este menținută de interfața Set. Cu toate acestea, unele dintre clasele sale, cum ar fi LinkedHashSet, mențin ordinea de inserare. Ordinea de inserare nu este, de asemenea, menținută de Hartă. Cu toate acestea, unele dintre clasele Map precum TreeMap și LinkedHashMap fac același lucru.