I Java, Sæt og Kort er to vigtige grænseflader tilgængelige i samlingsrammen. Både sæt- og kortgrænseflader bruges til at gemme en samling af objekter som en enkelt enhed. Den væsentligste forskel mellem Sæt og Kort er det Sæt er uordnet og indeholder forskellige elementer, hvorimod Kort indeholder dataene i nøgleværdi-parret.
I dette afsnit vil vi diskutere sæt- og kortgrænsefladen i detaljer, også se forskellene mellem dem.
powershell kommentar multiline
Indstil grænseflade
Det java.util pakken giver Sæt interface. Set implementeres ved at udvide samlingsgrænsefladen. Det tillader os ikke at tilføje det samme element til det. Den opretholder ikke indsættelsesrækkefølgen, fordi den indeholder elementer på en sorteret måde. Til at designe det matematiske sæt bruger vi sættet grænseflade i Java .
Lad os implementere Set-grænsefladen 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); } }
Produktion:
Kortgrænseflade
Kort er en anden vigtig grænseflade tilgængelig i samlingsgrænsefladen. Så for at bruge Kort grænsefladen, er vi nødt til at udvide samlingsgrænsefladen. Ligesom Sæt, kort bruges også til at opbevare samling af objekter som en enkelt enhed. Hvert objekt gemmes i et nøgleværdi-par. Vi kan nemt få adgang til værdien ved kun at bruge nøglen, fordi hver værdi er forbundet med en unik værdi.
Kald en js-funktion fra html
Vi kan nemt søge, opdatere eller slette elementet ved at bruge kortet. Kort og Sorteret kort er de to grænseflader, og Trækort , LinkedHashMap , og HashMap er tre klasser af Map.
Hvis vi har brug for at krydse et kort, skal vi konvertere det til et sæt, fordi kort ikke kan krydses. Efter at have konverteret det til Set, kan vi krydse det ved hjælp af Set-metoderne som keySet() og entrySet() .
jerv vs grævling
Lad os forstå, hvordan vi kan oprette et kort i Java ved at tage 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); } } }
Produktion:
Forskellen mellem sæt- og kortgrænseflader
Begge grænseflader bruges til at gemme samlingen af objekter som en enkelt enhed. Den største forskel mellem sæt og kort er, at sæt kun indeholder dataelementer, og kortet indeholder data i nøgleværdi-parret, så kortet indeholder nøgle og dens værdi.
Lad os nu forstå nogle store forskelle mellem dem begge.
Ja Nej. | Sæt | Kort |
---|---|---|
1. | Sæt bruges til at konstruere det matematiske sæt i Java. | Kort bruges til at lave kortlægning i databasen. |
2. | Det kan ikke indeholde gentagne værdier. | Det kan have samme værdi for forskellige nøgler. |
3. | Set tillader os ikke at tilføje de samme elementer i det. Hver klasse, der implementerer Set-grænsefladen, indeholder kun den unikke værdi. | Kortet indeholder unikke nøgleværdier og gentagne værdier. I Map kan en eller flere nøgler have de samme værdier, men to nøgler kan ikke være ens. |
4. | Vi kan nemt iterere Set-elementerne ved hjælp af keyset() og entryset()-metoden. | Kortelementer kan ikke gentages. Vi skal konvertere Map til Set for at gentage elementerne. |
5. | Indsættelsesrækkefølgen vedligeholdes ikke af Set-grænsefladen. Men nogle af dens klasser, som LinkedHashSet, opretholder indsættelsesrækkefølgen. | Indsættelsesrækkefølgen vedligeholdes heller ikke af kortet. Men nogle af kortklasserne som TreeMap og LinkedHashMap gør det samme. |