V C++ máme std::pár v knihovně nástrojů, která je nesmírně užitečná, pokud chceme udržet pár hodnot pohromadě. Hledali jsme ekvivalentní třídu pro pár v Javě, ale třída Pair nevznikla až do Java 7. JavaFX 2.2 má javafx.util.Pair třídy, kterou lze použít k uložení páru. Potřebujeme uložit hodnoty do Pair pomocí parametrizovaného konstruktoru, který poskytuje javafx.util.Pair třída.
Poznámka: Všimněte si, že tento pár se používá v HashMap/TreeMap . Zde jednoduše odkazuje na dvojici hodnot, které jsou uloženy společně.
Metody poskytované třídou javafx.util.Pair
Syntax: Třída páru v metodě Java
Pair var_name = new Pair(key, value);>
- Pár (klíč K, hodnota V): Vytvoří nový pár.
- boolean rovná se(): Slouží k porovnání dvou dvojic objektů. Provádí hloubkové srovnání, tj. porovnává na základě hodnot (), které jsou uloženy v párových objektech.
Příklad:
Jáva
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ýstup:
true false>
- String toString(): Tato metoda vrátí String reprezentaci páru.
- K getKey(): Vrátí klíč pro pár.
- V getValue(): Vrací hodnotu pro pár.
- int hashCode(): Vygenerujte hash kód pro pár.
Přístup k hodnotám: Použitím getKey() a getValue() metodami můžeme přistupovat k hodnotám objektu Pair.
1. getKey(): získá první hodnotu.
2. getValue(): získá druhou hodnotu
Poznámka: Zde odkazuje na dvojici hodnot, které jsou uloženy společně. Není to jako pár, který se používá v Mapě.
Implementace:
Jáva
// 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());> > }> }> |
powershell víceřádkový komentář
>
>
Pojďme se podívat na následující problém.
Problémové prohlášení : Dostáváme jména n studentů s odpovídajícími skóre získanými v kvízu. Musíme najít studenta s maximálním počtem bodů ve třídě.
Poznámka: Abyste mohli spustit níže uvedený program, musíte mít na svém počítači nainstalovanou Java 8.
Jáva
// 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());> > }> }> |
>
>
Výstup:
Student C is top scorer with score of 99>
Poznámka: Výše uvedený program nemusí běžet v online IDE, použijte prosím offline kompilátor.