W C++ mamy std:: para w bibliotece narzędziowej, która jest niezwykle przydatna, jeśli chcemy zachować parę wartości razem. Szukaliśmy równoważnej klasy dla pary w Javie, ale klasa Pair pojawiła się dopiero w Javie 7. JavaFX 2.2 ma tę javafx.util.Pair klasa, w której można przechowywać parę. Musimy przechowywać wartości w Pair przy użyciu sparametryzowanego konstruktora dostarczonego przez javafx.util.Pair klasa.
Notatka: Zauważ, że para jest używana w HashMap/TreeMap . Tutaj po prostu odnosi się do pary wartości, które są przechowywane razem.
Metody udostępniane przez klasę javafx.util.Pair
Składnia: Klasa pary w metodzie Java
Pair var_name = new Pair(key, value);>
- Para (klawisz K, wartość V): Tworzy nową parę.
- wartość logiczna równa się (): Służy do porównywania dwóch par obiektów. Dokonuje głębokiego porównania, czyli porównuje na podstawie wartości (), które są zapisane w parach obiektów.
Przykład:
Jawa
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));> |
>
ile lat ma Pete Davidson
>
Wyjście:
true false>
- Ciąg doString(): Ta metoda zwróci ciąg reprezentujący parę.
- K pobierzKey(): Zwraca klucz dla pary.
- V getValue(): Zwraca wartość dla pary.
- int kod hash(): Wygeneruj kod skrótu dla pary.
Dostęp do wartości: Za pomocą Weź klucz() I getValue() metodami możemy uzyskać dostęp do wartości obiektu Pair.
1. getKey(): pobiera pierwszą wartość.
2. getValue(): pobiera drugą wartość
Notatka: Tutaj odnosi się do pary wartości, które są przechowywane razem. To nie jest para używana w Mapie.
Realizacja:
Jawa
jakie miesiące są q1
// 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());> > }> }> |
>
>
Przyjrzyjmy się następującemu problemowi.
Oświadczenie o problemie : Otrzymujemy nazwiska n uczniów i odpowiadające im wyniki uzyskane w quizie. Musimy znaleźć ucznia z maksymalną liczbą punktów w klasie.
Notatka: Aby uruchomić poniższy program, musisz mieć zainstalowaną wersję Java 8 na swoim komputerze.
Jawa
10 ml na uncje
// 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>maks.) {> > 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());> > }> }> |
>
>
Wyjście:
Student C is top scorer with score of 99>
Notatka: Powyższy program może nie działać w środowisku IDE online, użyj kompilatora offline.