logo

Classe di coppia in Java

In C++, abbiamo std::coppia nella libreria di utilità che è di immensa utilità se vogliamo tenere insieme una coppia di valori. Stavamo cercando una classe equivalente per Pair in Java, ma la classe Pair non è nata fino a Java 7. JavaFX 2.2 ha il javafx.util.Pair classe che può essere utilizzata per memorizzare una coppia. Dobbiamo memorizzare i valori in Pair utilizzando il costruttore parametrizzato fornito da javafx.util.Pair classe.

Nota: Tieni presente che la coppia viene utilizzata in HashMap/TreeMap . Qui si riferisce semplicemente a una coppia di valori memorizzati insieme.



casting del tipo e conversione del tipo in Java

Metodi forniti dalla classe javafx.util.Pair

Sintassi: La classe coppia nel metodo Java

Pair var_name = new Pair(key, value);>
  • Coppia (tasto K, valore V): Crea una nuova coppia.
  • booleano uguale(): Viene utilizzato per confrontare due coppie di oggetti. Esegue un confronto approfondito, ovvero confronta sulla base dei valori () memorizzati negli oggetti della coppia.

Esempio:

Giava








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));>

>

ciao mondo con Java
>

Produzione:

true false>
  • Stringa aString(): Questo metodo restituirà la rappresentazione String della coppia.
  • K getKey(): Restituisce la chiave per la coppia.
  • V getValue(): Restituisce un valore per la coppia.
  • int hashCode(): Genera un codice hash per la coppia.

Accesso ai valori: Utilizzando getKey() E getValore() metodi con cui possiamo accedere ai valori di un oggetto Pair.

1. getKey(): ottiene il primo valore.
2. getValue(): ottiene il secondo valore

Nota: Qui si riferisce a una coppia di valori memorizzati insieme. Non è come la coppia utilizzata in Map.

Implementazione:

Giava


xd significato



// 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());> >}> }>

>

>

Diamo un'occhiata al seguente problema.

Dichiarazione problema : Ci vengono forniti i nomi di n studenti con i relativi punteggi ottenuti in un quiz. Dobbiamo trovare lo studente con il punteggio massimo della classe.

Nota: È necessario che Java 8 sia installato sul tuo computer per eseguire il programma seguente.

Giava


formattazione della stringa 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>massimo) {> >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());> >}> }>

>

>

Produzione:

Student C is top scorer with score of 99>

Nota: Il programma sopra riportato potrebbe non essere eseguito in un IDE online, utilizzare un compilatore offline.