C++:ssa meillä on std::pair apukirjastossa, josta on valtavasti hyötyä, jos haluamme pitää arvoparin yhdessä. Etsimme vastaavaa luokkaa Java-parille, mutta pariluokka syntyi vasta Java 7:ssä. JavaFX 2.2:ssa on javafx.util.Pair luokka, jota voidaan käyttää parin tallentamiseen. Arvot on tallennettava pariin käyttämällä parametroitua konstruktoria, jonka tarjoaa javafx.util.Pair luokkaa.
Huomautus: Huomaa, että paria käytetään HashMap/TreeMapissa. Tässä yksinkertaisesti viittaa yhdessä tallennettujen arvojen pariin.
Javafx.util.Pair-luokan tarjoamat menetelmät
Syntaksi: Pariluokka Java-metodissa
Pair var_name = new Pair(key, value);>
- Pari (K-avain, V-arvo): Luo uuden parin.
- Boolen on yhtä suuri (): Sitä käytetään kahden esineparin vertaamiseen. Se tekee syvän vertailun, eli vertailee pariobjekteihin tallennettujen arvojen () perusteella.
Esimerkki:
java
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));> |
merkkijono vertaa javaa
>
>
Lähtö:
true false>
- Merkkijono toString(): Tämä menetelmä palauttaa parin merkkijonoesityksen.
- K getKey(): Se palauttaa parin avaimen.
- V getValue(): Se palauttaa parille arvon.
- int hashCode(): Luo parille hash-koodi.
Arvoihin pääsy: Käyttämällä getKey() ja getValue() menetelmillä voimme päästä käsiksi Pair-objektin arvoihin.
1. getKey(): saa ensimmäisen arvon.
2. getValue(): saa toisen arvon
Huomautus: Tässä viittaa yhdessä tallennettujen arvojen pariin. Se ei ole kuin pari, jota käytetään kartassa.
Toteutus:
Java
käyttöjärjestelmäesimerkkejä
// 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());> >}> }> |
>
>
Tarkastellaanpa seuraavaa ongelmaa.
Ongelmailmoitus : Meille annetaan n oppilaan nimet ja heidän tietokilpailussa saadut pisteet. Meidän on löydettävä oppilas, jolla on enimmäispistemäärä luokassa.
Huomautus: Sinulla on oltava Java 8 asennettuna koneellesi, jotta voit suorittaa alla olevan ohjelman.
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>max) {> >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());> >}> }> |
>
>
Lähtö:
Student C is top scorer with score of 99>
Huomautus: Yllä oleva ohjelma ei ehkä toimi online-IDE:ssä, käytä offline-kääntäjää.