In C++ hebben we dat wel std::paar in de nutsbibliotheek, wat van enorm nut is als we een paar waarden bij elkaar willen houden. We waren op zoek naar een gelijkwaardige klasse voor paren in Java, maar de klasse Pair ontstond pas in Java 7. JavaFX 2.2 heeft de javafx.util.Pair klasse die kan worden gebruikt om een paar op te slaan. We moeten de waarden opslaan in Pair met behulp van de geparametriseerde constructor die wordt geleverd door de javafx.util.Pair klas.
Opmerking: Merk op dat het paar wordt gebruikt in HashMap/TreeMap . Verwijst hier eenvoudigweg naar een paar waarden die samen worden opgeslagen.
Methoden geleverd door de klasse javafx.util.Pair
Syntaxis: De paarklasse in de Java-methode
Pair var_name = new Pair(key, value);>
- Paar (K-sleutel, V-waarde): Creëert een nieuw paar.
- booleaanse waarde is gelijk aan(): Het wordt gebruikt om twee paar objecten te vergelijken. Het voert een diepgaande vergelijking uit, d.w.z. het vergelijkt op basis van de waarden () die zijn opgeslagen in de paarobjecten.
Voorbeeld:
Java
string een int
Pair p1 =>new> Pair(>3>,>4>);> Pair p2 =>new> Pair(>3>,>4>);> Pair p3 =>new> Pair(>4>,>4>);> System.out.println(p1.equals(p2) + + p2.equals(p3));> |
>
>
Uitgang:
true false>
- Tekenreeks naarString(): Deze methode retourneert de String-representatie van het paar.
- K getKey(): Het geeft de sleutel voor het paar terug.
- V getWaarde(): Het retourneert een waarde voor het paar.
- int hashCode(): Genereer een hashcode voor het paar.
Toegang tot waarden: Gebruik makend van getKey() En getWaarde() methoden hebben we toegang tot de waarden van een Pair-object.
1. getKey(): haalt de eerste waarde op.
2. getValue(): haalt de tweede waarde op
Opmerking: Verwijst hier naar een paar waarden die samen worden opgeslagen. Het is niet hetzelfde als het paar dat in Map wordt gebruikt.
Implementatie:
Java
// Java program to implement in-built pair classes> import> javafx.util.Pair;> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >Pair p> >=>new> Pair(>10>,>'Hello Geeks!'>);> >// printing the values of key and value pair> >// separately> >System.out.println(>'The First value is :'> >+ p.getKey());> >System.out.println(>'The Second value is :'> >+ p.getValue());> >}> }> |
>
>
Laten we eens kijken naar het volgende probleem.
Probleemstelling : We krijgen de namen van n studenten met de bijbehorende scores behaald in een quiz. We moeten de leerling met de maximale score in de klas vinden.
Opmerking: Om het onderstaande programma te kunnen uitvoeren, moet Java 8 op uw computer zijn geïnstalleerd.
Java
// Java program to find a Pair which has maximum score> // Importing required classes> import> java.util.ArrayList;> import> javafx.util.Pair;> // class> class> Test {> >// This method returns a Pair which hasmaximum score> >public> static> Pair> >getMaximum(ArrayList l)> >{> >// Assign minimum value initially> >int> max = Integer.MIN_VALUE;> >// Pair to store the maximum marks of a> >// student with its name> >Pair ans> >=>new> Pair(>''>,>0>);> >// Using for each loop to iterate array of> >// Pair Objects> >for> (Pair temp : l) {> >// Get the score of Student> >int> val = temp.getValue();> >// Check if it is greater than the previous> >// maximum marks> >if> (val>maximaal) {> >max = val;>// update maximum> >ans = temp;>// update the Pair> >}> >}> >return> ans;> >}> >// Driver method to test above method> >public> static> void> main(String[] args)> >{> >int> n =>5>;>// Number of Students> >// Create an Array List> >ArrayList l> >=>new> ArrayList();> >/* Create pair of name of student with their> >corresponding score and insert into the> >Arraylist */> >l.add(>new> Pair(>'Student A'>,>90>));> >l.add(>new> Pair(>'Student B'>,>54>));> >l.add(>new> Pair(>'Student C'>,>99>));> >l.add(>new> Pair(>'Student D'>,>88>));> >l.add(>new> Pair(>'Student E'>,>89>));> >// get the Pair which has maximum value> >Pair ans = getMaximum(l);> >System.out.println(ans.getKey() +>' is top scorer '> >+>'with score of '> >+ ans.getValue());> >}> }> |
>
>
Uitgang:
Student C is top scorer with score of 99>
Opmerking: Het bovenstaande programma werkt mogelijk niet in een online IDE. Gebruik een offline compiler.