Java中的对类
在 C++ 中,我们在实用程序库中有 std::pair,如果我们想将一对值保持在一起,这将非常有用。我们在Java中寻找对等的类,但 Pair 类直到Java 7 才出现。JavaFX 2.2 有 javafx.util.Pair 类,可用于存储对。我们需要使用 javafx.util.Pair 类提供的参数化构造函数将值存储到 Pair 中。注意:注意 HashMap/TreeMap 中使用的
javafx.util.Pair 类提供的方法
- Pair (K key, V value) :创建一个新的pair
- boolean equals() :用于比较两个对对象。它进行深度比较,即,它比较存储在对对象中的值(
)的基础。例子: 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));
输出:
真假 - String toString() :此方法将返回 Pair 的字符串表示形式。
- K getKey() :它返回该对的密钥。
- V getValue() :它返回该对的值。
- int hashCode() :为 Pair 生成哈希码。
让我们看看下面的问题。
问题陈述:我们有 n 个学生的名字,他们在测验中获得了相应的分数。我们需要找到班级中得分最高的学生。注意:您需要在您的机器上安装Java 8 才能运行以下程序。
/* Java program to find a Pair which has maximum score*/ import javafx.util.Pair; import java.util.ArrayList; class Test { /* This method returns a Pair which hasmaximum score*/ public static Pair
getMaximum(ArrayList < Pair > 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()); } } 输出:
Student C is top scorer with score of 99
注意:上述程序可能无法在在线 IDE 中运行,请使用离线编译器。
参考资料:https://docs.oracle.com/javafx/2/api/javafx/util/Pair.html