V C++ máme std::pár v knižnici nástrojov, ktorá je nesmierne užitočná, ak chceme ponechať pár hodnôt pohromade. Hľadali sme ekvivalentnú triedu pre pár v Jave, ale trieda Pair nevznikla až do Java 7. JavaFX 2.2 má javafx.util.Pair triedy, ktorú možno použiť na uloženie páru. Potrebujeme uložiť hodnoty do Pair pomocou parametrizovaného konštruktora, ktorý poskytuje javafx.util.Pair trieda.
Poznámka: Všimnite si, že tento pár sa používa v HashMap/TreeMap . Tu jednoducho odkazuje na pár hodnôt, ktoré sú uložené spolu.
Metódy poskytované triedou javafx.util.Pair
Syntax: Párová trieda v metóde Java
nie
Pair var_name = new Pair(key, value);>
- Pár (kľúč K, hodnota V): Vytvorí nový pár.
- boolean rovná sa(): Používa sa na porovnanie dvoch párov predmetov. Vykonáva hlboké porovnanie, t. j. porovnáva na základe hodnôt (), ktoré sú uložené v objektoch dvojice.
Príklad:
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));> |
>
>
Výkon:
true false>
- String toString(): Táto metóda vráti reťazcovú reprezentáciu páru.
- K getKey(): Vráti kľúč pre pár.
- V getValue(): Vráti hodnotu pre pár.
- int hashCode(): Vygenerujte hash kód pre pár.
Prístup k hodnotám: Použitím getKey() a getValue() metódami môžeme pristupovať k hodnotám objektu Pair.
1. getKey(): získa prvú hodnotu.
2. getValue(): získa druhú hodnotu
Poznámka: Tu sa vzťahuje na pár hodnôt, ktoré sú uložené spolu. Nie je to ako pár, ktorý sa používa v Mape.
Implementácia:
Java
np.sum
// 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());> >}> }> |
>
>
Pozrime sa na nasledujúci problém.
Vyhlásenie o probléme : Dostali sme mená n študentov s ich zodpovedajúcim skóre získaným v kvíze. Musíme nájsť študenta s maximálnym počtom bodov v triede.
Poznámka: Na spustenie nižšie uvedeného programu musíte mať na svojom počítači nainštalovanú Java 8.
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());> >}> }> |
>
>
vyčistiť vyrovnávaciu pamäť npm
Výkon:
Student C is top scorer with score of 99>
Poznámka: Vyššie uvedený program nemusí bežať v online IDE, použite offline kompilátor.