logo

Forskjellen mellom sett og kart i Java

I Java, Sett og Kart er to viktige grensesnitt tilgjengelig i samlingsrammeverket. Både sett- og kartgrensesnitt brukes til å lagre en samling objekter som en enkelt enhet. Hovedforskjellen mellom Sett og Kart er det Sett er uordnet og inneholder forskjellige elementer, mens Kart inneholder dataene i nøkkelverdi-paret.

I denne delen vil vi diskutere Set og Map-grensesnittet i detalj også se forskjellene mellom dem.

character.compare java

Angi grensesnitt

De java.util pakken gir Sett grensesnitt. Settet implementeres ved å utvide samlingsgrensesnittet. Det tillater oss ikke å legge til det samme elementet. Den opprettholder ikke innsettingsrekkefølgen fordi den inneholder elementer på en sortert måte. For å designe det matematiske settet bruker vi settet grensesnitt i Java .

Sett vs kart i Java

La oss implementere Set-grensesnittet i en 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); } } 

Produksjon:

Sett vs kart i Java

Kartgrensesnitt

Kart er et annet viktig grensesnitt tilgjengelig i samlingsgrensesnittet. Så for å bruke Kart grensesnittet, må vi utvide samlingsgrensesnittet. Akkurat som Sett, kart brukes også til å lagre samling av objekter som en enkelt enhet. Hvert objekt lagres i et nøkkelverdi-par. Vi kan enkelt få tilgang til verdien med bare nøkkelen fordi hver verdi er assosiert med en unik verdi.

terminal kali linux

Vi kan enkelt søke, oppdatere eller slette elementet ved å bruke kartet. Kart og Sortert kart er de to grensesnittene, og Trekart , LinkedHashMap , og HashMap er tre klasser av kart.

Hvis vi trenger å krysse et kart, må vi konvertere det til Set fordi kart ikke kan krysses. Etter å ha konvertert det til Set, kan vi krysse det ved å bruke Set-metodene som keySet() og entrySet() .

jerv vs grevling
Sett vs kart i Java

La oss forstå hvordan vi kan lage et kart i Java ved å ta et eksempel.

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

Produksjon:

Sett vs kart i Java

Forskjellen mellom sett- og kartgrensesnitt

Begge grensesnittene brukes til å lagre samlingen av objekter som en enkelt enhet. Hovedforskjellen mellom sett og kart er at sett bare inneholder dataelementer, og kartet inneholder dataene i nøkkelverdi-paret, så kart inneholder nøkkel og dens verdi.

La oss nå forstå noen store forskjeller mellom dem begge.

Ja Nei. Sett Kart
1. Sett brukes til å konstruere det matematiske settet i Java. Kart brukes til å gjøre kartlegging i databasen.
2. Den kan ikke inneholde gjentatte verdier. Den kan ha samme verdi for forskjellige nøkler.
3. Settet lar oss ikke legge til de samme elementene i det. Hver klasse som implementerer Set-grensesnittet inneholder bare den unike verdien. Kart inneholder unike nøkkelverdier og gjentatte verdier. I Map kan en eller flere nøkler ha samme verdier, men to nøkler kan ikke være like.
4. Vi kan enkelt iterere Set-elementene ved å bruke keyset() og entryset()-metoden. Kartelementer kan ikke itereres. Vi må konvertere kart til sett for å iterere elementene.
5. Innsettingsrekkefølgen opprettholdes ikke av Set-grensesnittet. Noen av klassene, som LinkedHashSet, opprettholder imidlertid innsettingsrekkefølgen. Innsettingsrekkefølgen vedlikeholdes heller ikke av kartet. Imidlertid gjør noen av kartklassene som TreeMap og LinkedHashMap det samme.