I C++ har vi std::par i bruksbiblioteket vilket är till stor nytta om vi vill hålla ihop ett par värden. Vi letade efter en likvärdig klass för par i Java men parklass kom inte till förrän Java 7. JavaFX 2.2 har javafx.util.Pair klass som kan användas för att lagra ett par. Vi måste lagra värdena i Pair med hjälp av den parametriserade konstruktorn som tillhandahålls av javafx.util.Pair klass.
Notera: Observera att paret används i HashMap/TreeMap . Här hänvisar helt enkelt till ett par värden som lagras tillsammans.
Metoder som tillhandahålls av klassen javafx.util.Pair
Syntax: Parklassen i Java-metoden
Pair var_name = new Pair(key, value);>
- Par (K-nyckel, V-värde): Skapar ett nytt par.
- boolesk lika med(): Den används för att jämföra två par objekt. Den gör en djupgående jämförelse, dvs den jämför på basis av värdena () som är lagrade i parobjekten.
Exempel:
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));> |
>
>
Produktion:
true false>
- String toString(): Denna metod kommer att returnera strängrepresentationen av paret.
- K getKey(): Det returnerar nyckeln för paret.
- V getValue(): Det returnerar ett värde för paret.
- int hashCode(): Generera en hashkod för paret.
Åtkomst till värden: Använder sig av getKey() och getValue() metoder som vi kan komma åt ett parobjekts värden.
1. getKey(): får det första värdet.
2. getValue(): får det andra värdet
Notera: Här hänvisar till ett par värden som lagras tillsammans. Det är inte som par som används i Map.
Genomförande:
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());> >}> }> |
binär sökning i java
>
>
Låt oss ta en titt på följande problem.
Problembeskrivning : Vi får namnen på n elever med deras motsvarande poäng som erhållits i ett frågesport. Vi måste hitta eleven med högsta poäng i klassen.
Notera: Du måste ha Java 8 installerat på din maskin för att kunna köra programmet nedan.
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());> >}> }> |
>
>
Produktion:
Student C is top scorer with score of 99>
Notera: Ovanstående program kanske inte körs i en online-IDE, använd en offlinekompilator.