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