Java中的配对类是什么?
Java Pair类以元组的形式存储两个值。
这对于使函数返回两个值很有用。
Java具有从Java 8开始内置的Pair类。
这就是为什么在本课中,我们不仅要看内置配对类,还要学习如何制作自己的配对类。
配对类在使用Tree数据结构时非常有用。
在树上使用递归时,pair类使将值从一个节点传递到另一个节点变得容易。
这些值可以是直到该节点的最小和最大节点值。
这将防止一次又一次地访问某些节点。
Java内置的Pair类
内置对类是JavaFX包的一部分。
但是,此软件包不是标准OpenJDK安装的一部分。
我们可以使用以下Maven依赖项将其添加到我们的项目中。
<dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-base</artifactId> <version>14.0.1</version> </dependency>
让我们开始使用Java中的内置对类。
导入配对类
导入使用:
import javafx.util.Pair;
内置对类使用键和值的表示法来存储对。
<Key, Value>
但是,不要将其与HashMap混淆。
声明一个配对对象
Pair<Integer, String> p = new Pair<>(7,"Hello");
这将创建<Integer,String>类型的对对象。
构造函数将值7和" hello"存储在Pair类中。
访问值
我们可以使用getKey()和getValue()方法从Pair对象访问值。
getKey获取第一个值。
getValue获取第二个值。
System.out.println("the first value is :" + p.getKey());
System.out.println("the first second is :" + p.getValue());
输出
本节的完整代码为:
import javafx.util.Pair;
public class Main {
public static void main(String[] args)
{
Pair<Integer, String> p = new Pair<>(7,"Hello");
System.out.println("the first value is :" + p.getKey());
System.out.println("the first second is :" + p.getValue());
}
}
创建我们自己的Pair类
创建我们自己的配对类是更好的选择,因为我们可以根据自己的喜好自定义它。
另外,如果您不在项目中使用JavaFX,则有必要完全避免使用JavaFX。
1.定义自定义对类
为了简单起见,我们使用一个存储两个值的对类。
整数和字符串。
使用泛型也是一个好主意。
public class Pair {
int first;
String second;
public Pair(int first, String second) {
this.first = first;
this.second = second;
}
}
已经定义了两个变量first和second来分别存储int和String类型的两个值。
构造函数采用两个值并将它们分配给变量。
2.配对活动
要使用刚刚创建的配对类,请定义配对类的对象并调用构造函数。
Pair a = new Pair(1, "one");
这将创建一个配对对象,其中第一个存储一个,第二个存储一个。
要访问这些值:
System.out.println("the first value is :" + a.first);
System.out.println("the first second is :" + a.second);
输出
由于pair class是我们定义的,因此我们可以自定义并添加打印功能。
配对类的代码:
public class Pair {
int first;
String second;
public Pair(int first, String second) {
this.first = first;
this.second = second;
}
public void print(){
System.out.println("< "+first+", "+second+ " >");
}
public static void main(String[] args){
Pair a = new Pair(1,"Hello");
a.print();
}
}
输出
包括打印功能在内,这种方式是一种良好的编码习惯,因为现在可以将变量设为私有。
公开变量是不安全的。
将Pair类与函数一起使用
Pair类可用于从函数返回两个值。
为此,该函数的返回类型必须为pair。
public static Pair func (Scanner s){
System.out.println("what is your name");
String name = s.next();
System.out.println("what is your favourite number?");
int num = s.nextInt();
Pair ans = new Pair(num, name);
return ans;
}
从此函数返回的对象可以在主函数中捕获。
让我们在主体中打印对象。
public static void main(String[] args) {
Scanner s = New Scanner(System.in)
Pair ans = func(s);
ans.print();
}
本节的完整代码如下。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s = New Scanner(System.in)
Pair ans = func(s);
ans.print();
}
public static Pair func (Scanner s){
System.out.println("what is your name");
String name = s.next();
System.out.println("what is your favourite number?");
int num = s.nextInt();
Pair ans = new Pair(num, name);
return ans;
}
}

